Exemplo n.º 1
0
    //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);
        }
    }
Exemplo n.º 2
0
    //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);
    }
Exemplo n.º 3
0
    //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;
    }
Exemplo n.º 4
0
    //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();
    }
Exemplo n.º 5
0
    //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;
    }
Exemplo n.º 6
0
    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();
            }
        }
    }
Exemplo n.º 7
0
    //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);
    }
Exemplo n.º 8
0
    //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;
    }
Exemplo n.º 9
0
    //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;
    }
Exemplo n.º 10
0
    // 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();
    }