void StopAtWaypointReached() { if (isWaitingAtWaypoint == true) { return; } switch (waypointNetwork.wayPoints[currentWaypointInList].onReachTaskType) { case WaypointOnReachTaskType.MOVE_TO_NEXT_WAYPOINT: GetNextWaypointInList(); isWaitingAtWaypoint = false; break; case WaypointOnReachTaskType.STOP_AND_WAIT: movementController.StopAgent(); stateController.StartCoroutine(WaitAtWaypointTimer(waypointNetwork.wayPoints[currentWaypointInList].stopAndWaitTime)); isWaitingAtWaypoint = true; break; case WaypointOnReachTaskType.STOP_LOOK_AT_TARGETS: currentLookAtTarget = 0; GetNextLookAtTarget(); isWaitingAtWaypoint = true; break; } }
//Called when the Start Destination for searching is reached public void OnSearchAreaStartDestinationReached() { reachedStartSearchPosition = true; isObservingCurrentSearchPosition = true; stateController.StartCoroutine("SearchAreaTimer"); stateController.StartCoroutine("ObserveSubAreaTargetTimer"); }
private void RangedWeaponAttack() { runtimeWeaponInHand.canAttack = false; animController.SetAnimBool(animController.animData.isFiringBool, true); inventoryController.rangedWeaponRuntime.FireGunShared(); stateController.StartCoroutine(RangedAttackCooldownCoroutine()); }