using Newtonsoft.Json.Linq;
using UnityEngine;
using UnityEngine.Scripting;

namespace TyphoonUnitySDK
{
    /// <summary>
    /// oppo mini sdk回调
    /// </summary>
    [Preserve]
    public class OppoMiniSdkCallBack : MonoBehaviour
    {
        public void Initialize()
        {
            SdkDebug.Log("OppoMiniSdkCallBack Initialize");
        }


        /*处理session消息*/
        public void OnReceiveSessionCallback(string json)
        {
            SdkDebug.Log($"[OppoMiniSdkCallBack] OnReceiveSessionCallback {json}");
            var jObject = JObject.Parse(json);
            var sessionId = jObject["sessionId"].ToLong();
            var data = jObject["data"]?.ToObject<string>();
            SessionItem.Invoke(sessionId, data);
        }

        public void OnShow(string json)
        {
            SdkDebug.Log($"[OppoMiniSdkCallBack] OnShow {json}");
            SdkLite.InvokeOnShow();
        }


        public void OnHide(string json)
        {
            SdkDebug.Log($"[OppoMiniSdkCallBack] OnHide {json}");
            SdkLite.InvokeOnHide();
        }
    }
}