local Base = require("Battle/Logic/Level/LevelItemFactory/LevelItem") local LevelItem_SoundSource = class("LevelItem_SoundSource", Base) --region --***************生命周期***************-- function LevelItem_SoundSource:OnActive() if Base.OnActive(self) then local itemData = self.ItemData -- if not string.isNilOrEmpty(itemData.SourceName) then -- self.soundObj = AuxUtil.GetSoundObject(FP.tonumberV1(itemData.ItemPos.x),itemData.ItemPosY,FP.tonumberV1(itemData.ItemPos.z)) -- CTL.Sound.PlayObjSound(itemData.SourceName,self.soundObj) -- end -- for i=1,10 do -- local obj = AuxUtil.GetSoundObject(i,i,i) -- CTL.Sound.PlayObjSound(itemData.SourceName,obj) -- end return true end end function LevelItem_SoundSource:OnDeactive() if Base.OnDeactive(self) then -- local itemData = self.ItemData -- if not string.isNilOrEmpty(itemData.SourceName) then -- SoundUtil.StopAll(self.soundObj) -- AuxUtil.ReturnSoundObject(self.soundObj) -- self.soundObj = nil -- end return true end end --endregion 生命周期 --region --***************事件相关***************-- function LevelItem_SoundSource:DoAction(actionType) Base.DoAction(self, actionType) if actionType == LuaConst.LevelActionType.SoundSource_Active then self:OnActive() elseif actionType == LuaConst.LevelActionType.SoundSource_Deactive then self:OnDeactive() end end --endregion 事件相关 return LevelItem_SoundSource