//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); agent.speed = m_enemyNavController.WalkSpeed; agent.isStopped = true; m_enemyNavController.transform.position = m_enemyNavController.IdlePosition; if (!_FieldOfView) { _FieldOfView = m_enemyNavController.GetComponent <FieldOfView>(); } SetupMeshFilters(_FieldOfView, false); _FieldOfView.enabled = false; if (!TriggerTrap) { SetupTriggerTrap(); } else { TriggerTrap.SetActive(true); } }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); agent = animator.GetComponent <NavMeshAgent>(); agent.enabled = false; m_enemyNavController.graphicsController.gameObject.SetActive(false); }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); agent.speed = m_enemyNavController.RunSpeed; GameManager.instance.Player.currentSpeed = 0; GameManager.instance.Player.enabled = false; }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); timer = m_enemyNavController.Counter_Pursue_MaxValue; //m_enemyNavController.GetComponent<MeshRenderer>().material = m_enemyNavController.graphicsController.PursueMat; m_enemyNavController.graphicsController.PursueAnimGObj.SetActive(true); agent.speed = m_enemyNavController.RunSpeed; GameManager.instance.EnemiesInPursue.Add(m_enemyNavController); GameManager.instance.CheckEnemiesStateNPosition?.Invoke(); }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); agent.speed = m_enemyNavController.ResearchSpeed; m_enemyNavController.graphicsController.LookAroundAnimGObj.SetActive(true); savedTime = Time.time; GameManager.instance.CheckEnemiesStateNPosition?.Invoke(); GameManager.instance.EnemiesInResearch.Add(m_enemyNavController); PlayerWasInFov = true; }
private void RotateTowards(Vector3 target, EnemyNavController _this) { Quaternion lookRotation = Quaternion.LookRotation(target); _this.transform.rotation = Quaternion.Slerp(_this.transform.rotation, lookRotation, Time.deltaTime * _this.TimeForLookAround /* / rotDirections.Count*/); if (Quaternion.Angle(_this.transform.rotation, lookRotation) < 1) { rotationStatesIndex++; if (rotationStatesIndex >= rotDirections.Count) { enemyAI.LookAroundStateEndRot?.Invoke(); } } }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); agent.speed = m_enemyNavController.WalkSpeed; SetupRotDirections(); rotationStatesIndex = 0; agent.isStopped = true; //enemyNavController.GetComponent<MeshRenderer>().material = enemyNavController.graphicsController.LookAroundMat; m_enemyNavController.graphicsController.LookAroundAnimGObj.SetActive(true); }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); //m_enemyNavController.GetComponent<MeshRenderer>().material = m_enemyNavController.graphicsController.AlertMat; m_enemyNavController.graphicsController.AlertAnimGObj.SetActive(true); agent.speed = 0; agent.isStopped = true; savedTime = Time.time; SavedPosition = agent.transform.position; }
//OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_enemyNavController = animator.GetComponent <EnemyNavController>(); enemyAI = animator.GetComponent <EnemyAI>(); agent = animator.GetComponent <NavMeshAgent>(); agent.speed = m_enemyNavController.WalkSpeed; if (GameManager.instance.Player.GoldenlEgg == null) { m_enemyNavController.Counter = 0; } else { m_enemyNavController.Counter = m_enemyNavController.PostObjectivePatrolCounterValue; } enemyAI.CurrentTrigger = enemyAI.PatrolTrigger; //agent.speed = enemyNavController.WalkSpeed; }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; GameManager.instance.Setup(); GameManager.instance.OnExePhase = true; //GameManager.instance.UI_Manager.PhaseTxt.text = "ExecutionPhase"; //GameManager.instance.UI_Manager.PhaseTxt.gameObject.SetActive(true); GameManager.instance.UI_Manager.ExeUI.SetActive(true); GameManager.instance.Player.camSpots.Clear(); GameManager.instance.Player.camSpots = GameManager.instance.Drone.camSpots; GameManager.instance.Player.gameObject.SetActive(true); GameManager.instance.Drone.gameObject.SetActive(false); GameManager.instance.Drone.DroneCamera.gameObject.SetActive(false); GameManager.instance.Player.freeLookCamera.enabled = true; GameManager.instance.Player.freeLookCamera.Priority = 50; GameManager.instance.Player.SpotCameraScreen = GameManager.instance.UI_Manager.SpotCameraScreen; if (GameManager.instance.Player.camSpots.Count == 0) { GameManager.instance.UI_Manager.SpotCameraScreenGObj.SetActive(false); } else { GameManager.instance.UI_Manager.SpotCameraScreenGObj.SetActive(true); GameManager.instance.UI_Manager.SpotCameraScreen.enabled = true; GameManager.instance.Player.SpotCamera.gameObject.SetActive(true); } GameManager.instance.Drone.DroneCamera.Priority = 0; GameManager.instance.Player.transform.position = GameManager.instance.CurrentStartSpot.SpawnPosition.position; GameManager.instance.Player.ResetPosition = GameManager.instance.CurrentStartSpot.SpawnPosition.position; GameManager.instance.Player.GetComponent <NavMeshObstacle>().enabled = true; GameManager.instance.Player.currentSpeed = GameManager.instance.Player.walkSpeed; GameManager.instance.Player.isCrouching = false; GameManager.instance.Player.Noise.GetComponent <NoiseController>().Reset?.Invoke(); GameManager.instance.Player.Graphics.SetActive(true); GameManager.instance.Player.Collider.enabled = true; GameManager.instance.Player.ObstacleNav.enabled = true; GameManager.instance.UI_Manager.directionSpriteController.enabled = true; foreach (EnemyAI _enemyAI in GameManager.instance.Level_Manager.EnemiesAI) { EnemyNavController enemyController = _enemyAI.GetComponent <EnemyNavController>(); enemyController.VisibleTarget = null; enemyController.OldVisibleTarget = null; enemyController.TargetPrevHidingState = false; enemyController.TargetCurrentHidingState = false; enemyController.HiddenTarget = null; enemyController.NoiseTarget = null; enemyController.currentNoiseType = 0; enemyController.prevNoiseType = 0; //_enemyAI.AI_FSM.SetTrigger("ChangePhase"); _enemyAI.AI_FSM.SetTrigger("ToExePhase"); _enemyAI.GetComponent <CapsuleCollider>().enabled = true; enemyController.IdleTriggerTrapPosition = GameManager.instance.CurrentStartSpot.SpawnPosition.position; } GameManager.instance.OnExePhaseAction?.Invoke(); }