Example #1
0
 /// <summary>
 /// 当标签实体被删除时销毁标签
 /// </summary>
 /// <param name="label"></param>
 public void DestroyByLabel(KGUI_Label label)
 {
     if (labels.Contains(label))
     {
         labels.Remove(label);
     }
 }
Example #2
0
        /// <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);
        }
Example #4
0
        /// <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);
            }
        }