| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | using UI.Common;using FairyGUI;using System.Collections.Generic;using UnityEngine;namespace GFGGame{    public class LogView : BaseWindow    {        private UI_LogUI _ui;        public override void Dispose()        {            UI_ListLogItem.ClearProxy();            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            _ui = UI_LogUI.Create();            this.viewCom = _ui.target;            this.viewCom.Center();            this.modal = true;            _ui.m_listLog.itemRenderer = RenderListLogItem;            _ui.m_listLog.onClickItem.Add(OnClickItem);            _ui.m_c1.onChanged.Add(this.OnChangeC1);            _ui.m_btnClear.onClick.Add(this.OnClickBtnClear);            _ui.m_btnClose.onClick.Add(this.Hide);        }        protected override void OnShown()        {            base.OnShown();            _ui.m_c1.selectedIndex = 2;        }        private void RenderListLogItem(int index, GObject obj)        {            UI_ListLogItem item = UI_ListLogItem.Proxy(obj);            string[] msg = (_ui.m_listLog.data as List<string>)[index].Split('@');            item.m_txtLog.text = StringUtil.GetColorText(msg[1], msg[0] == "error" ? "#FF0000" : "#8F6129");            item.target.height = item.m_txtLog.height;            UI_ListLogItem.ProxyEnd();        }        private void OnChangeC1()        {            _ui.m_listLog.data = this.GetMsgList(_ui.m_c1.selectedIndex);            _ui.m_listLog.numItems = (_ui.m_listLog.data as List<string>).Count;            if (_ui.m_listLog.numItems > 0) _ui.m_listLog.ScrollToView(_ui.m_listLog.numItems - 1);        }        private List<string> GetMsgList(int index)        {            List<string> list = new List<string>();            if (index == 0 && LogController.Instance.msgDic.ContainsKey(LogController._all) == true)            {                list = LogController.Instance.msgDic[LogController._all];            }            else if (index == 1 && LogController.Instance.msgDic.ContainsKey(LogController._log) == true)            {                list = LogController.Instance.msgDic[LogController._log];            }            else if (index == 2 && LogController.Instance.msgDic.ContainsKey(LogController._error) == true)            {                list = LogController.Instance.msgDic[LogController._error];            }            return list;        }        private void OnClickBtnClear()        {            int index = _ui.m_c1.selectedIndex;            if (index == 0 && LogController.Instance.msgDic.ContainsKey(LogController._all) == true)            {                LogController.Instance.msgDic[LogController._all].Clear();            }            else if (index == 1 && LogController.Instance.msgDic.ContainsKey(LogController._log) == true)            {                LogController.Instance.msgDic[LogController._log].Clear();            }            else if (index == 2 && LogController.Instance.msgDic.ContainsKey(LogController._error) == true)            {                LogController.Instance.msgDic[LogController._error].Clear();            }            this.OnChangeC1();        }        private void OnClickItem(EventContext context)        {            UI_ListLogItem item = UI_ListLogItem.Proxy(context.data as GObject);            GUIUtility.systemCopyBuffer = item.m_txtLog.text;        }        protected override void OnHide()        {            base.OnHide();            _ui.m_c1.selectedIndex = -1;        }    }}
 |