public void AssignSearchTask(Vector3 positionToSearch) { if (stateController.currentState == AIStateType.COMBAT) { return; } stateController.ChangeState(AIStateType.SEARCH); originalStartSearchAreaPosition = positionToSearch; currentSearchAreaPosition = originalStartSearchAreaPosition; movementController.SetAgentDestination(positionToSearch); }
public void Tick() { if (!CheckIfTargetIsAlive()) { stateController.ChangeState(stateController.startState); return; } RotateTowardsTarget(); MoveTowardsTarget(); if (CheckIfTargetIsInLineOfSight() == false) { UpdateAnimValues(1, 0); return; } if (CheckIsInCombatDistance() == false) { return; } EnterShootStance(); if (CheckIfCanAttack() == false) { return; } AttackBasedOnWeaponType(); }