private void AddTemplate(LogMetaInfo info, int index) { if (info.obj != null) { return; } var gameobj = cache.GetTemplate(TEMPLATE_ITEM_STR, logTemplate.transform.parent, true); var text = gameobj.GetComponent <Text>(); text.text = info.info; if (info.type == LogType.Log) { text.color = Color.green; } else { text.color = Color.yellow; } gameobj.transform.SetSiblingIndex(index); info.obj = gameobj; if (scrollRect.verticalNormalizedPosition < 0.1f) { ScrollToBottom(); } }
public void PushLog(string v, LogType type = LogType.Log) { FreeLogList(); LogMetaInfo info = pool.Get(); info.info = v; info.type = type; logList.Add(info); if (isShow) { AddTemplate(info, logList.Count - 1); } }
public void Free(LogMetaInfo info) { info.obj = null; }