Exemple #1
0
 public void AddChild(IRedPointData data)
 {
     if (data != null)
     {
         this.Childs[data.Id] = data;
     }
 }
Exemple #2
0
 private void InitRedPointData(RedPointTreeData data, IRedPointData treeNode)
 {
     if (treeNode == null)
     {
         treeNode  = this.CreateRedPointData(data.Id, data.RedPointType);
         this.Root = treeNode;
         if (treeNode == null)
         {
             Debug.LogError("RedPoint == null:" + data.RedPointType);
             return;
         }
     }
     else
     {
         var temp = treeNode;
         treeNode = this.CreateRedPointData(data.Id, data.RedPointType);
         temp.AddChild(treeNode);
     }
     foreach (var c in data.Childs)
     {
         if (c != null)
         {
             this.InitRedPointData(c, treeNode);
         }
     }
 }
Exemple #3
0
 public bool GetChild(string id, ref IRedPointData data)
 {
     if (this.Id == id)
     {
         data = this;
         return(true);
     }
     return(this.Childs.TryGetValue(id, out data));
 }
Exemple #4
0
 public override IRedPointData BindData(IRedPointData data)
 {
     if (data != null)
     {
         this.m_oRedPointData = data;
         this.m_oRedPointData.RegisterUIEvent(this.UpdateView);
     }
     else
     {
         this.m_oRedPointData = new SimpleRedPointData(this.ID);
     }
     return(this.m_oRedPointData);
 }
Exemple #5
0
        ///// <summary>
        ///// 通过id找到RedPointData
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //private IRedPointData GetData(List<string> ids)
        //{
        //    if (this.Root != null)
        //    {
        //        var temp = this.Root;
        //        foreach (var id in ids)
        //        {
        //            if (temp.GetChild(id, ref temp) == false)
        //            {
        //                return null;
        //            }
        //        }
        //        return temp;
        //    }
        //    return null;
        //}

        private IRedPointData GetData(string id, IRedPointData temp)
        {
            if (temp != null)
            {
                var result = temp;
                if (temp.GetChild(id, ref temp) == false)
                {
                    foreach (var child in result.Childs.Values)
                    {
                        return(this.GetData(id, child));
                    }
                }
                return(temp);
            }
            return(null);
        }
Exemple #6
0
 public override IRedPointData BindData(IRedPointData data)
 {
     if (data != null)
     {
         if (data is NumberRedPointData)
         {
             this.m_oRedPointData = data;
             this.m_oRedPointData.RegisterUIEvent(this.UpdateView);
         }
         else
         {
             Debug.LogError("绑定的数据不是NumberRedPointData:" + data.GetType());
         }
     }
     else
     {
         this.m_oRedPointData = new NumberRedPointData(this.ID);
     }
     return(this.m_oRedPointData);
 }
Exemple #7
0
 public abstract IRedPointData BindData(IRedPointData data);