public void BeBuff(int buffId) { DBBuffConf conf = DBBuffTable.GetRecord(buffId); Buff buff = new Buff(); buff.Start(this, conf); buffList.Add(buff); }
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); }
//获取记录,如果不存在返回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); }
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); } } }