protected override void OnSingleRecord(IRecycleData data) { var itemData = data as TrendData; if (_datas == null) { _datas = new RoadNodeTable(new List <TrendData>(), 6); } if (_branchDatas == null) { switch (Type) { case EnumTrendType.BigRoad: _branchDatas = _datas; break; default: _branchDatas = new RoadNodeTable(_datas, Type, 6); break; } } if (itemData != null) { if (!_datas.AddSingleItem(itemData)) { if (CacheData.Count > 0) { var cachelast = CacheData.Last() as RoadNode; var getLast = _datas.Nodes.Last(); if (cachelast != null && (cachelast.X == getLast.X && cachelast.Y == getLast.Y)) { var lastView = CacheViews.Last(); CacheData[CacheData.Count - 1] = getLast; lastView.UpdateView(getLast); } } } else { switch (Type) { case EnumTrendType.BigRoad: _branchDatas = _datas; break; default: _branchDatas.AddSingleItem(_datas.Nodes.Last(), _datas); break; } if (_branchDatas.Nodes.Count > 0) { var lastNode = _branchDatas.Nodes.Last(); AddChildToShow(lastNode); } } } GetPridict(); }
/// <summary> /// 添加View /// </summary> /// <param name="singleData"></param> /// <param name="index"></param> /// <returns></returns> private YxView AddView(IRecycleData singleData, string index) { CacheData.Add(singleData); var item = Pool.New(); ShowParent.AddChildToParent(item.gameObject); item.Id = index; item.UpdateView(singleData); return(item); }
/// <summary> /// 添加单独子对象 /// </summary> protected virtual YxView AddChildToShow(IRecycleData singleData) { if (CacheViews == null) { CacheViews = new List <YxView>(); } if (CacheData == null) { CacheData = new List <IRecycleData>(); } var view = AddView(singleData, CacheData.Count.ToString()); var count = CacheData.Count; DatasExist = count != 0; CacheViews.Add(view); StartCoroutine(OnChildAdded.WaitExcuteCalls()); return(view); }
/// <summary> /// 单独的回放消息 /// </summary> /// <param name="data"></param> protected virtual void OnSingleRecord(IRecycleData data) { AddChildToShow(data); }