local LevelItem = class("LevelItem") local EventSystem = require('Event/EventSystem') --region --***************生命周期***************-- function LevelItem:initialize(data) self.LevelItemID = data.LevelItemID self.LevelItemType = data.LevelItemType self.ItemData = data end function LevelItem:OnActive() if not self.IsActive then self.IsActive = true return true end end function LevelItem:OnUpdate() end function LevelItem:OnDeactive() if self.IsActive then self.IsActive = false return true end end function LevelItem:OnDestroy() self:OnDeactive() self.ItemData = nil end --endregion 生命周期 --region --***************事件相关***************-- --元素派发条件 function LevelItem:Dispatch(conditionType, context, ...) local key = self.LevelItemID .."_".. conditionType EventSystem.Dispatch(key,self.LevelItemID, context, ...) end --元素执行行为 function LevelItem:DoAction(actionType,...) end --元素关联条件(用于优化) function LevelItem:HandleCondition(conditionType,paramId,param1) end --endregion 事件相关 return LevelItem