using Fie.Enemies.HoovesRaces.QueenChrysalis; using Fie.Object; namespace Fie.AI { public class FieAITaskQueenChrysallisCallingMinion : FieAITaskBase { private enum CallingState { CALLING_PREPARE, CALLING } private bool _isEndState; private CallingState _meleeState; public override void Initialize(FieAITaskController manager) { _isEndState = true; _meleeState = CallingState.CALLING_PREPARE; } public override bool Task(FieAITaskController manager) { if (!(manager.ownerCharacter.detector.lockonTargetObject != null)) { return true; } switch (_meleeState) { case CallingState.CALLING_PREPARE: { manager.ownerCharacter.RequestToChangeState(manager.ownerCharacter.flipDirectionVector, 1f, FieGameCharacter.StateMachineType.Base); FieStateMachineInterface currentStateMachine2 = manager.ownerCharacter.getStateMachine().getCurrentStateMachine(); _meleeState = CallingState.CALLING; break; } case CallingState.CALLING: { FieStateMachineInterface currentStateMachine = manager.ownerCharacter.getStateMachine().getCurrentStateMachine(); if (!(currentStateMachine is FieStateMachineQueenChrysalisCallingMinion)) { nextStateWeightList[typeof(FieAITaskQueenChrysalisIdle)] = 100; _isEndState = true; return true; } break; } } return false; } } }