ys = ys or {}
slot0 = ys
slot1 = slot0.Battle.BattleBulletEvent
slot2 = slot0.Battle.BattleFormulas
slot3 = Vector3.up
slot4 = slot0.Battle.BattleVariable
slot5 = slot0.Battle.BattleConfig
slot6 = slot0.Battle.BattleTargetChoise
slot0.Battle.BattleScaleBulletUnit = class("BattleScaleBulletUnit", slot0.Battle.BattleBulletUnit)
slot0.Battle.BattleScaleBulletUnit.__name = "BattleScaleBulletUnit"
slot7 = slot0.Battle.BattleScaleBulletUnit

function slot7.Ctor(slot0, slot1, slot2)
	uv0.super.Ctor(slot0, slot1, slot2)

	slot0._scaleX = 0
end

function slot7.Update(slot0, slot1)
	if slot0._scaleLimit < slot0._scaleX + slot0._tempData.cld_box[1] then
		slot0:calcSpeed()
	else
		slot0:UpdateCLDBox()
	end

	uv0.super.Update(slot0, slot1)
end

function slot7.SetTemplateData(slot0, slot1)
	uv0.super.SetTemplateData(slot0, slot1)

	slot0._scaleSpeed = slot0._tempData.extra_param.scaleSpeed
	slot0._scaleLimit = slot0._tempData.extra_param.cldMax
end

function slot7.InitSpeed(slot0, slot1)
	uv0.super.InitSpeed(slot0, slot1)
	slot0:calcScaleSpeed()
end

function slot7.calcScaleSpeed(slot0)
	slot1 = slot0._scaleSpeed * 0.5
	slot2 = math.deg2Rad * slot0._yAngle
	slot0._speed = Vector3(slot1 * math.cos(slot2), 0, slot1 * math.sin(slot2))
end

function slot7.UpdateCLDBox(slot0)
	slot1 = slot0._tempData.cld_box
	slot0._scaleX = slot0._scaleX + slot0._scaleSpeed

	slot0._cldComponent:ResetSize(slot1[1] + slot0._scaleX, slot1[2], slot1[3])
end

function slot7.GetRadian(slot0)
	slot1 = slot0._radCache or slot0:GetYAngle() * math.deg2Rad

	return slot1, slot0._cosCache or math.cos(slot1), slot0._sinCache or math.sin(slot1)
end
