public void LoadDBData(List <DBBaseTransact> data) { Data.Clear(); foreach (var item in data) { if (!Data.ContainsKey(item.Type)) { Data[item.Type] = new Dictionary <string, BaseTransact <TUnit> >(); } BaseTransact <TUnit> transact = new BaseTransact <TUnit>(item.Type, GetEntity <TUnit>(item.Self), GetEntity <TUnit>(item.Target), item.Value); transact.Time.Reset(item.CD); Data[item.Type].Add(item.TDID, transact); } }
protected virtual void AddTransact(string type, TUnit self, TUnit target, float val, int cd) { if (!Data.ContainsKey(type)) { Data[type] = new Dictionary <string, BaseTransact <TUnit> >(); } string key = self.TDID + target.TDID; BaseTransact <TUnit> data = new BaseTransact <TUnit>(type, self, target, val); data.Time.Reset(cd); if (Data[type].ContainsKey(key)) { Data[type][key] = data; } else { Data[type].Add(key, data); } Callback_OnTransactChange?.Invoke(self, target); }