using UnityEngine;

namespace MJGameSDK
{
    [CreateAssetMenu(fileName = "MJGameConfig", menuName = "MJGameSDK/Config")]
    public class MJGameConfig : ScriptableObject
    {
        [Header("Steam")]
        public uint appId = 5052040;
        public bool useMockSteam = false;

        [Header("Server")]
        public string serverBaseUrl = "https://api-steam-local.ledu.com/api/v1";
        public int requestTimeout = 30;

        [Header("Legal")]
        public string privacyPolicyUrl = "https://image.ledu.com/protocol/mr_service_protocol.html";

        [Header("Log")]
        public MJGameLogLevel logLevel = MJGameLogLevel.Debug;
        public bool enableFileLog = true;

        public static MJGameConfig LoadDefault()
        {
            var config = Resources.Load<MJGameConfig>("MJGameConfig");
            if (config != null) return config;

            config = CreateInstance<MJGameConfig>();
            MJGameLogger.Warn("MJGameConfig", "Using default config. Create Assets/MJGameSDK/Resources/MJGameConfig.asset");
            return config;
        }
    }
}
