using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using LitJson;
|
using System.IO;
|
using UnityEngine.UI;
|
|
|
public class DebugUtility : Singleton<DebugUtility>
|
{
|
|
GameObject debugRoot;
|
|
bool m_DebugAccount = false;
|
public bool debugAccount
|
{
|
get { return m_DebugAccount; }
|
private set
|
{
|
if (m_DebugAccount != value)
|
{
|
m_DebugAccount = value;
|
if (m_DebugAccount)
|
{
|
RunTimeExceptionUtility.Instance.Init();
|
}
|
}
|
}
|
}
|
|
public int debugBranch = -1;
|
|
public bool isWhiteListAccount { get; set; }
|
|
public bool autoLogin { get; private set; }
|
|
public void Init()
|
{
|
isWhiteListAccount = false;
|
if (VersionConfig.Get().debugVersion)
|
{
|
debugAccount = true;
|
}
|
else
|
{
|
var parentDirectory = Directory.GetParent(Application.persistentDataPath);
|
debugAccount = File.Exists(parentDirectory + "/Debug");
|
}
|
|
if (LocalSave.GetString("#@#BrancH") != string.Empty)
|
{
|
var branch = LocalSave.GetString("#@#BrancH");
|
int tmpbranch;
|
int.TryParse(LocalSave.GetString("#@#BrancH").Substring(1), out tmpbranch);
|
if (branch.StartsWith("d") && tmpbranch != 0)
|
{
|
debugBranch = tmpbranch;
|
debugAccount = true;
|
}
|
else if (branch.StartsWith("r") && tmpbranch != 0)
|
{
|
debugBranch = tmpbranch;
|
debugAccount = false;
|
}
|
}
|
|
if (debugAccount)
|
{
|
if (Application.isMobilePlatform)
|
{
|
var parentDirectory = Directory.GetParent(Application.persistentDataPath);
|
if (File.Exists(parentDirectory + "/Debug"))
|
{
|
var content = File.ReadAllText(parentDirectory + "/Debug");
|
if (!string.IsNullOrEmpty(content))
|
{
|
var json = JsonMapper.ToObject<DebugBranch>(File.ReadAllText(parentDirectory + "/Debug"));
|
debugBranch = json.branch;
|
}
|
}
|
}
|
}
|
|
|
|
|
if (debugAccount)
|
{
|
Launch.Instance.EnableLog = LocalSave.GetBool("DesignEnableLog", true);
|
Launch.Instance.EnableLogWarning = LocalSave.GetBool("DesignEnableLogWarning", true);
|
Launch.Instance.EnableLogError = LocalSave.GetBool("DesignEnableLogError", true);
|
Launch.Instance.EnableNetLog = false;
|
}
|
else
|
{
|
Launch.Instance.EnableLog = false;
|
Launch.Instance.EnableLogWarning = false;
|
Launch.Instance.EnableLogError = false;
|
Launch.Instance.EnableNetLog = false;
|
}
|
|
autoLogin = Resources.Load<TextAsset>("AutoLogin") != null;
|
if (autoLogin)
|
{
|
var update = new LogicUpdate(3f);
|
update.Start(OnAutoLoginUpdate);
|
}
|
}
|
|
private void OnAutoLoginUpdate()
|
{
|
// TODO YYL
|
// if (StageLoad.Instance.currentStage is LoginStage)
|
// {
|
var loginWin = UIManager.Instance.GetUI<LoginWin>();
|
if (loginWin != null)
|
{
|
var accountIpf = loginWin.transform.FindComponent("InputField", "Container_Account/AccountInput");
|
if (accountIpf != null)
|
{
|
(accountIpf as InputField).text = StringUtility.Contact("Test_", UnityEngine.Random.Range(10000, 99999));
|
}
|
|
var enterGame = loginWin.transform.FindComponent("Button", "Container_EnterGame/LoginButton");
|
(enterGame as Button).onClick.Invoke();
|
}
|
// }
|
|
|
// if (StageLoad.Instance.currentStage is CreateRoleStage)
|
// {
|
// var win = WindowCenter.Instance.Get<CreateRoleWin>();
|
// if (win != null)
|
// {
|
// var enterGame = win.transform.FindComponent("Button", "Container_Right/Btn_CreateRole");
|
// if (enterGame is Button)
|
// {
|
// (enterGame as Button).onClick.Invoke();
|
// }
|
// }
|
// }
|
}
|
|
public void CreateDebugRoot()
|
{
|
if (debugRoot == null)
|
{
|
// var prefab = BuiltInLoader.LoadPrefab("UIRootDebug");
|
// debugRoot = GameObject.Instantiate(prefab);
|
// MonoBehaviour.DontDestroyOnLoad(debugRoot);
|
// debugRoot.name = "UIRootDebug";
|
}
|
}
|
|
public void RequestWhiteListAuthority(string _account)
|
{
|
//isWhiteListAccount = false;
|
//var tables = new Dictionary<string, string>();
|
//tables["channel"] = VersionConfig.Get().appId;
|
//tables["player"] = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult.account;
|
//tables["game"] = VersionConfig.Get().gameId;
|
|
//HttpRequest.Instance.RequestHttpGet(StringUtility.Contact(url, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType, 1, OnDebugAuthority);
|
}
|
|
private void OnDebugAuthority(bool _ok, string _result)
|
{
|
if (_ok)
|
{
|
var debugAuthority = JsonMapper.ToObject<DebugAuthority>(_result);
|
isWhiteListAccount = debugAuthority.dbg == 1;
|
}
|
}
|
|
public static void SetLogAble(bool _able)
|
{
|
LocalSave.SetBool("DesignEnableLog", _able);
|
Launch.Instance.EnableLog = _able;
|
}
|
|
public static void SetLogWarningAble(bool _able)
|
{
|
LocalSave.SetBool("DesignEnableLogWarning", _able);
|
Launch.Instance.EnableLogWarning = _able;
|
}
|
|
public static void SetLogErrorAble(bool _able)
|
{
|
LocalSave.SetBool("DesignEnableLogError", _able);
|
Launch.Instance.EnableLogError = _able;
|
}
|
|
public static void SetLogNetAble(bool _able)
|
{
|
Launch.Instance.EnableNetLog = _able;
|
}
|
|
struct DebugAuthority
|
{
|
public int dbg;
|
}
|
|
public class DebugBranch
|
{
|
public int branch = -1;
|
}
|
|
}
|