public void AddChild(IRedPointData data) { if (data != null) { this.Childs[data.Id] = data; } }
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); } } }
public bool GetChild(string id, ref IRedPointData data) { if (this.Id == id) { data = this; return(true); } return(this.Childs.TryGetValue(id, out data)); }
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); }
///// <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); }
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); }
public abstract IRedPointData BindData(IRedPointData data);