/// <summary> /// 当标签实体被删除时销毁标签 /// </summary> /// <param name="label"></param> public void DestroyByLabel(KGUI_Label label) { if (labels.Contains(label)) { labels.Remove(label); } }
/// <summary> /// 获取标签 /// </summary> /// <param name="data"></param> /// <returns></returns> public KGUI_Label GetLabel(LabelData data) { KGUI_Label label = data.label; if (label == null) { label = CreatLabel(data); } label.SetLabel(data); if (!labels.Contains(label)) { labels.Add(label); } return(label); }
/// <summary> /// 获取标签 /// </summary> /// <param name="data"></param> /// <returns></returns> public KGUI_Label GetLabel(LabelData data) { KGUI_Label label = data.label; if (label == null) { label = CreatLabel(data); } if (labels.ContainsKey(data.label) && labels[label] != data.appertaining) { label = CreatLabel(data); } label.SetLabel(data); if (!labels.ContainsKey(label)) { labels.Add(label, data.appertaining); } return(label); }
/// <summary> /// 通过数据销毁标签 /// </summary> /// <param name="data"></param> public void DestroyByLabelController(LabelData data) { if (labels == null) { return; } if (labels.Contains(data.label)) { KGUI_Label temp = data.label; labels.Remove(temp); data.label = null; GameObject tempObj = temp.gameObject; temp.Destroy(); if (tempObj != null) { Object.DestroyImmediate(tempObj); } } if (labels.Count < 1) { DestroyImmediate(this.gameObject); } }