public override void LogicUpdate() { base.LogicUpdate(); if (performCloseRangeAction) { stateMachine.ChangeState(enemy.meleeAttackState); } else if (performLongRangeAction) { stateMachine.ChangeState(enemy.chargeState); } else if (!isPlayerInMaxAgroRange) { stateMachine.ChangeState(enemy.lookForPlayerState); } else if (!isDetectingLedge) { enemy.Flip(); stateMachine.ChangeState(enemy.moveState); } }