ys = ys or {} slot0 = ys slot1 = slot0.Battle.BattleDataFunction slot2 = slot0.Battle.BattleVariable slot0.Battle.BattleBeamUnit = class("BattleBeamUnit") slot0.Battle.BattleBeamUnit.__name = "BattleBeamUnit" slot3 = slot0.Battle.BattleBeamUnit slot3.BEAM_STATE_READY = "ready" slot3.BEAM_STATE_ATTACK = "attack" slot3.BEAM_STATE_FINISH = "finish" function slot3.Ctor(slot0, slot1, slot2) slot0._bulletID = slot1 slot0._beamInfoID = slot2 slot0._cldList = {} slot0._beamState = uv0.BEAM_STATE_READY end function slot3.IsBeamActive(slot0) return slot0._aoe:GetActiveFlag() end function slot3.ClearBeam(slot0) slot0._beamState = uv0.BEAM_STATE_FINISH slot0._aoe = nil slot0._cldList = {} slot0._nextDamageTime = nil end function slot3.SetAoeData(slot0, slot1) slot0._aoe = slot1 slot0._beamTemp = uv0.GetBarrageTmpDataFromID(slot0._beamInfoID) slot0._bulletTemp = uv0.GetBulletTmpDataFromID(slot0._bulletID) slot0._angle = slot0._beamTemp.angle slot0._aoe:SetAngle(slot0._angle) end function slot3.getAngleRatio(slot0) return uv0.GetSpeedRatio(slot0._aoe:GetTimeRationExemptKey(), slot0._aoe:GetIFF()) end function slot3.GetAoeData(slot0) return slot0._aoe end function slot3.UpdateBeamPos(slot0, slot1) slot0._aoe:SetPosition(Vector3(slot1.x + slot0._beamTemp.offset_x, 0, slot1.z + slot0._beamTemp.offset_z)) end function slot3.UpdateBeamAngle(slot0) slot0._angle = slot0._angle + slot0._beamTemp.delta_angle * slot0:getAngleRatio() slot0._aoe:SetAngle(slot0._angle) end function slot3.AddCldUnit(slot0, slot1) slot0._cldList[slot1:GetUniqueID()] = slot1 end function slot3.RemoveCldUnit(slot0, slot1) slot0._cldList[slot1:GetUniqueID()] = nil end function slot3.ChangeBeamState(slot0, slot1) slot0._beamState = slot1 end function slot3.GetBeamState(slot0) return slot0._beamState end function slot3.GetCldUnitList(slot0) return slot0._cldList end function slot3.BeginFocus(slot0) slot0._nextDamageTime = pg.TimeMgr.GetInstance():GetCombatTime() + slot0._beamTemp.senior_delay end function slot3.DealDamage(slot0) slot0._nextDamageTime = pg.TimeMgr.GetInstance():GetCombatTime() + slot0._beamTemp.delta_delay end function slot3.CanDealDamage(slot0) return slot0._nextDamageTime < pg.TimeMgr.GetInstance():GetCombatTime() end function slot3.GetFXID(slot0) return slot0._bulletTemp.hit_fx end function slot3.GetSFXID(slot0) return slot0._bulletTemp.hit_sfx end function slot3.GetBulletID(slot0) return slot0._bulletID end function slot3.GetBeamInfoID(slot0) return slot0._beamInfoID end