Beispiel #1
0
        public void SetState(StealthState state)
        {
            switch (currentState)
            {
            case StealthState.CHASE:
                ExitChase();
                break;

            case StealthState.PATROL:
                ExitPatrol();
                break;

            case StealthState.SEARCH:
                ExitSearch();
                break;
            }

            currentState = state;

            switch (state)
            {
            case StealthState.CHASE:
                EnterChase();
                break;

            case StealthState.PATROL:
                EnterPatrol();
                break;

            case StealthState.SEARCH:
                EnterSearch();
                break;
            }
        }
Beispiel #2
0
        private void Start()
        {
            //set components
            navigator = GetComponent <NavMeshAgent>();
            if (GetComponent <DetectionMeter>())
            {
                detection = GetComponent <DetectionMeter>();
            }

            if (pathParent && pathParent.GetComponent <PathController>())
            {
                pathController = pathParent.GetComponent <PathController>();
            }

            //set search pos
            lastKnownPlayerPosition = Vector3.zero;
            SearchPosition          = Vector3.zero;

            //set FOV
            CurrentFOV = patrolFOV;

            //set current point to first point
            if (pathController && pathController.listPoints.Count > 0)
            {
                currentPathPoint = pathController.listPoints[0];
            }
            currentListIndex = 0;

            //find the player
            if (player == null)
            {
                player = GameObject.FindGameObjectWithTag("Player");
                if (player == null)
                {
                    player = GameObject.FindGameObjectWithTag("Player");
                    if (player.transform.root.gameObject.tag == "Player")
                    {
                        player = player.transform.root.gameObject;
                    }
                }
            }

            //check if player has detection component
            if (player.GetComponent <PlayerDetection>())
            {
                playerDetection  = player.GetComponent <PlayerDetection>();
                playerComponents = playerDetection.components;
            }

            if (headTransform == null)
            {
                headTransform = transform;
            }

            //set state
            currentState = StealthState.PATROL;
            EnterPatrol();
        }
        private void Start()
        {
            _forward   = PlayerCamera.transform.forward;
            _forward.y = 0;
            _forward   = Vector3.Normalize(_forward);
            _right     = Quaternion.Euler(new Vector3(0, 90, 0)) * _forward;

            // FSM init
            StateMachine = new StateMachine();

            WalkState    = new WalkState(this, StateMachine);
            StealthState = new StealthState(this, StateMachine);
            SprintState  = new SprintingState(this, StateMachine);

            StateMachine.Initialize(WalkState);
        }
Beispiel #4
0
    //public Animator _animator;


    void Awake()
    {
        //_animator = GetComponent<Animator>();
        controller = GetComponent <CharacterController2D>();

        controller.onControllerCollidedEvent += onControllerCollider;
        controller.onTriggerEnterEvent       += onTriggerEnterEvent;
        controller.onTriggerExitEvent        += onTriggerExitEvent;

        // initialize all states
        jumpState    = new JumpState(this);
        runState     = new RunState(this);
        idleState    = new IdleState(this);
        climbState   = new ClimbState(this);
        stealthState = new StealthState(this);

        // set beginning state
        SetMovementState(idleState);
    }
 void Start()
 {
     self = this;
     hidden = StealthState.PLAINSIGHT;
 }
 public void show()
 {
     hidden = StealthState.TRANSITION;
     SA.show ();
 }
 public void setHidden(StealthState s)
 {
     hidden = s;
 }
 public void hide(GameObject hideObject)
 {
     hidden = StealthState.TRANSITION;
     Debug.Log (hideObject.name);
     SA.hide (hideObject);
 }
 public void setHidden(StealthState s)
 {
     hidden = s;
 }
 public void show()
 {
     hidden = StealthState.TRANSITION;
     SA.show();
 }
 public void hide(GameObject hideObject)
 {
     hidden = StealthState.TRANSITION;
     Debug.Log(hideObject.name);
     SA.hide(hideObject);
 }
 void Start()
 {
     self   = this;
     hidden = StealthState.PLAINSIGHT;
 }