using UnityEngine;

namespace GameSDK
{
    /// <summary>
    /// SDK 入口脚本，挂到游戏中的任意 GameObject 即可调用
    /// 使用示例：
    ///   1. 在场景中创建空物体，挂载此脚本
    ///   2. 代码中调用 GameSDK.SDKInit.Show();
    /// </summary>
    public class SDKInit : MonoBehaviour
    {
        [Header("SDK 配置")]
        [Tooltip("SDK 服务器地址（后续接入用）")]
        public string serverUrl = "https://sdk.example.com/api";

        /// <summary>
        /// 显示 SDK 登录界面
        /// </summary>
        public static void Show()
        {
            if (SDKManager.Instance == null)
            {
                Debug.LogWarning("[SDK] SDKRoot 未初始化，请确认场景中包含 SDK UI 对象");
                return;
            }
            SDKUIManager.Instance.ShowPanel<LoginPanel>();
        }

        /// <summary>
        /// 关闭 SDK 所有界面
        /// </summary>
        public static void Hide()
        {
            if (SDKUIManager.Instance != null)
                SDKUIManager.Instance.CloseAll();
        }

        /// <summary>
        /// 获取当前登录用户名（未登录返回 null）
        /// </summary>
        public static string GetCurrentUser()
        {
            return SDKManager.Instance != null ? SDKManager.Instance.CurrentUser : null;
        }

        /// <summary>
        /// 是否已登录
        /// </summary>
        public static bool IsLoggedIn()
        {
            return SDKManager.Instance != null && SDKManager.Instance.IsLoggedIn;
        }
    }
}
