Beispiel #1
0
 public bool IsHave(TDBaseData unit)
 {
     if (unit == null)
     {
         return(false);
     }
     return(Data.ContainsID(unit.ID));
 }
Beispiel #2
0
 public virtual void SetConfig(TDBaseData config)
 {
     if (config == null)
     {
         config = new TDBaseData();
     }
     BaseConfig = config;
     BaseConfig.OnBeAdded(this);
 }
Beispiel #3
0
        protected void ReadUnlockData(TDBaseData data)
        {
            //设置科技解锁
            foreach (var unlockData in data.Unlock)
            {
                if (!AllUnLockKeys.ContainsKey(unlockData.TDID))
                {
                    AllUnLockKeys.Add(unlockData.TDID, new List <TDBaseData>());
                }
                if (!UnlockKeyVal.ContainsKey(data.TDID))
                {
                    UnlockKeyVal.Add(data.TDID, new Dictionary <string, UnlockData>());
                }

                AllUnLockKeys[unlockData.TDID].Add(data);
                UnlockKeyVal[data.TDID].Add(unlockData.TDID, unlockData);
            }
        }
Beispiel #4
0
 //获得与这个ID关联的unlock数据
 public UnlockData GetUnlockData(TDBaseData data, string unlockID)
 {
     if (data == null)
     {
         return(null);
     }
     if (unlockID == null)
     {
         return(null);
     }
     if (!UnlockKeyVal.ContainsKey(data.TDID))
     {
         return(null);
     }
     if (UnlockKeyVal[data.TDID].ContainsKey(unlockID))
     {
         return(UnlockKeyVal[data.TDID][unlockID]);
     }
     return(null);
 }
Beispiel #5
0
        public List <UnlockData> GetWillUnlockedDatas(TDBaseData data, float?curLevel)
        {
            List <UnlockData> ret = new List <UnlockData>();

            if (data == null || curLevel == null)
            {
                return(ret);
            }
            if (!UnlockKeyVal.ContainsKey(data.TDID))
            {
                return(ret);
            }
            foreach (var item in UnlockKeyVal[data.TDID].Values)
            {
                if ((curLevel.Value + 1) >= item.Level)
                {
                    ret.Add(item);
                }
            }
            return(ret);
        }
Beispiel #6
0
 public void Despawn(TDBaseData chara, float delay = 0) => Despawn(chara as TData, delay);