public override void Execute(ShipEntity entity) { entity.RunPartsAI(); if (entity.Ship.Reference.sw_targetdecision_range > 0) { // 侧移判定 if (entity.GetPartState() == PartState.Attack) { return; } ShipEntity targetEntity = TargetSelector.GetLateralTarget(entity); if (targetEntity == null) { return; } bool lateralRight = targetEntity.Ship.Position.x > entity.Ship.Position.x; if (ShipCollision.CanLateral(entity, targetEntity, lateralRight)) { entity.LateralMove(lateralRight); } } }