namespace Gameplay.Vehicle { public class BatteryStateIdle: BaseBaterryState { public BatteryStateIdle(BaseBattery owner) : base(owner, EBatteryState.Idle) { } protected override void _OnRunning() { base._OnRunning(); if (owner.owner.statusData.isPretend) { // 该状态下不可攻击 return; } var hasEnemy = true; var targetEnemy = owner.owner.controlData.targetEnemy; if (targetEnemy == null) { hasEnemy = false; targetEnemy = owner.owner.controlData.followUnit; } var isMatchAngle = owner.RotateTower(targetEnemy, deltaTime); if (isMatchAngle && hasEnemy) { owner.lockEnemy = targetEnemy; isFinished = true; nextState = EBatteryState.Shoot; } } } }