| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | using System.Collections.Generic;using UnityEngine;using UI.Common;using System;namespace GFGGame{    public class LogController : SingletonBase<LogController>    {        public const string _all = "All";        public const string _error = "Error";        public const string _log = "Log";        public const int _maxCount = 100;        public Dictionary<string, List<string>> msgDic = new Dictionary<string, List<string>>();        // private UI_BtnLog _btnLog;        public void Init()        {            msgDic.Add(_all, new List<string>());            msgDic.Add(_error, new List<string>());            msgDic.Add(_log, new List<string>());            if (LauncherConfig.onDebug == 1)            {                this.CreatBtnLog();            }            this.AddMsgListener();        }        public void AddMsgListener()        {            Application.logMessageReceived += (condition, stackTrace, type) =>            {                if (type == LogType.Error || type == LogType.Exception || type == LogType.Log)                {                    this.AddMsgToDic(condition, stackTrace, type);                }            };        }        private void AddMsgToDic(string condition, string stackTrace, LogType type)        {            string msg = "";            DateTime now = DateTime.Now;            string time = string.Format("[{0}.{1}  {2}:{3}:{4}]", now.Month, now.Day, now.Hour, now.Minute, now.Second);            switch (type)            {                case LogType.Error:                case LogType.Exception:                    if (msgDic[_all].Count == _maxCount)                    {                        msgDic[_all].RemoveAt(0);                    }                    if (msgDic[_error].Count == _maxCount)                    {                        msgDic[_error].RemoveAt(0);                    }                    msg = string.Format("error@{2}\n{0}\n{1}", condition, stackTrace, time);                    msgDic[_all].Add(msg);                    msgDic[_error].Add(msg);                    // if (_btnLog != null)                    // {                    //     _btnLog.m_c1.selectedIndex = 1;                    //     _btnLog.target.alpha = 1;                    // }                    if (LauncherConfig.onDebug >= 1)                    {#if !UNITY_EDITOR                        ViewManager.Show(ViewName.LOG_VIEW);#endif                    }                    break;                default:                    if (LauncherConfig.onDebug >= 1)                    {                        if (msgDic[_all].Count == _maxCount)                        {                            msgDic[_all].RemoveAt(0);                        }                        if (msgDic[_log].Count == _maxCount)                        {                            msgDic[_log].RemoveAt(0);                        }                        msg = string.Format("log@{2}\n{0}\n{1}", condition, stackTrace, time);                        msgDic[_all].Add(msg);                        msgDic[_log].Add(msg);                    }                    break;            }        }        private void CreatBtnLog()        {            // if (_btnLog == null)            // {            //     _btnLog = UI_BtnLog.Create();            //     ViewManager.AddChildToDebugLayer(_btnLog.target);            //     this.SetBtnLogVisable(false);            //     _btnLog.target.x = 50;            //     _btnLog.target.y = 1880;            //     _btnLog.target.onClick.Add(this.OnBtnLogClick);            // }        }        private void OnBtnLogClick()        {            ViewManager.Show(ViewName.LOG_VIEW);            // _btnLog.m_c1.selectedIndex = 0;            // _btnLog.target.alpha = 0;        }        public void SetBtnLogVisable(bool visable)        {            // _btnLog.target.visible = visable;        }    }}
 |