//扩展池子 private void ExpandPool(int count, HUDTextType type) { GameObject obj = null; if (type == HUDTextType.MainSkillName || type == HUDTextType.NormalSkillName) { for (int i = 0; i < count; i++) { obj = Instantiate(TextPrefab); obj.transform.SetParent(HUDSkillParent); obj.transform.localScale = Vector3.one; poolSkill.Enqueue(obj.GetComponentInChildren <HUDTextItem>()); } } else { for (int i = 0; i < count; i++) { obj = Instantiate(TextPrefab); obj.transform.SetParent(HUDParent); obj.transform.localScale = Vector3.one; pool.Enqueue(obj.GetComponentInChildren <HUDTextItem>()); } } }
public void NewText(string text, CharHandler handler, HUDTextType type) { HUDTextItem item = GetText(type); Vector3 createPos = handler.UIFollowGo.transform.position; item.Show(text, handler, type, createPos); }
//得到一个HUD对象 private HUDTextItem GetText(HUDTextType type) { HUDTextItem item; if (type == HUDTextType.MainSkillName || type == HUDTextType.NormalSkillName) { if (poolSkill.Count <= 0) { ExpandPool(6, type); } item = poolSkill.Dequeue(); } else { if (pool.Count <= 0) { ExpandPool(10, type); } item = pool.Dequeue(); } item.gameObject.SetActive(true); return(item); }
public static HUDTextInfo GetHudTextInfo(this HUDTextType hudTextType) { return(global::Utils.Utils.GetHudConfig().GetHUDTextInfo(hudTextType)); }