Пример #1
0
    public void BeBuff(int buffId)
    {
        DBBuffConf conf = DBBuffTable.GetRecord(buffId);
        Buff       buff = new Buff();

        buff.Start(this, conf);
        buffList.Add(buff);
    }
Пример #2
0
 public void Start(ActorBase actor, DBBuffConf conf)
 {
     timer      = 0f;
     isAlive    = true;
     buffConf   = conf;
     this.actor = actor;
     duration   = conf.duration;
     SetBuffValue(true);
     Debug.Log("Start buff " + buffConf.ID);
 }
Пример #3
0
    //获取记录,如果不存在返回null
    public static DBBuffConf GetRecord(int ID, bool errorMsg = true)
    {
        if (instance == null)
        {
            Debug.LogError("表DBBuffTable未加载");
            return(null);
        }
        DBBuffConf record = null;

        if (recordDict.TryGetValue(ID, out record))
        {
            return(record);
        }
        if (errorMsg)
        {
            Debug.LogErrorFormat("表DBBuffTable没有ID = {0}的记录", ID);
        }
        return(null);
    }
Пример #4
0
 public void Init()
 {
     //如果recordDict不为null,说明已经初始化了
     if (recordDict != null)
     {
         return;
     }
     recordDict = new Dictionary <int, DBBuffConf>();
     for (int i = 0; i < recordArray.Length; i++)
     {
         DBBuffConf record = recordArray[i];
         if (!recordDict.ContainsKey(record.ID))
         {
             recordDict.Add(record.ID, record);
         }
         else
         {
             Debug.LogErrorFormat("表DBBuffTable有重复的记录,id = {0}", record.ID);
         }
     }
 }