123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- 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 >= 0)
- {
- 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 >= 0)
- {
- ViewManager.Show(ViewName.LOG_VIEW);
- }
- break;
- default:
- if (LauncherConfig.onDebug >= 0)
- {
- 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;
- }
- }
- }
|