using System;
using UnityEngine;
using UnityEngine.Scripting;

namespace TyphoonUnitySDK
{
    [Preserve]
    public class XiZhongYouCallBack : MonoBehaviour
    {
        private Action<PayCallBackResult> ReceivePayResult { get; set; }
        private Action<string> VideoCallBackHandler { get; set; }

        /// <summary>
        /// 创建SDK回调
        /// </summary>
        public static XiZhongYouCallBack CreateInstance()
        {
            var clone = new GameObject();
            return clone.AddComponent<XiZhongYouCallBack>();
        }

        public void Initialize(Action<PayCallBackResult> receivePayResult, Action<string> videoCallbackHandler)
        {
            SdkDebug.Log("xi zhong you call back  initialize");
            ReceivePayResult = receivePayResult;
            VideoCallBackHandler = videoCallbackHandler;
        }


        public void OnVideoCallBack(string state)
        {
            SdkDebug.Log($"OnVideoCallBack  state : {state}");
            //视频回调，返回“1”为成功，其它字符串为失败原因
            VideoCallBackHandler?.Invoke(state);
        }
    }
}