示例#1
0
	void Awake (){
		playerSeen = GameObject.Find("GameController").GetComponent<PlayerSeen>();
		sphereTrigger = GetComponent<SphereCollider>();

		// TODO: Debug
		GameObject.FindGameObjectWithTag("GameController")
			.GetComponent<GameController>().onGameRestart += Start;
	}
示例#2
0
    void Awake()
    {
        playerSeen    = GameObject.Find("GameController").GetComponent <PlayerSeen>();
        sphereTrigger = GetComponent <SphereCollider>();

        // TODO: Debug
        GameObject.FindGameObjectWithTag("GameController")
        .GetComponent <GameController>().onGameRestart += Start;
    }
示例#3
0
	void Awake() {
		gameController = GameObject.FindGameObjectWithTag("GameController").GetComponent<GameController>();
		gameController.onSceneStart += OnEnterHoldState;
		gameController.onSceneEnd += OnExitHoldState;
		gameController.onGamePlayStart += OnExitHoldState;
		gameController.onGameWin += OnEnterHoldState;
		gameController.onGameLose += OnEnterHoldState;
		gameController.onGameRestart += Start;

		playerSeen = GameObject.FindGameObjectWithTag("GameController").GetComponent<PlayerSeen>();

		// TODO:Debug
		initialPosition = transform.position;
		initialRotation = transform.rotation;

		nav = GetComponent<NavMeshAgent>();
		
	}
示例#4
0
    void Awake()
    {
        gameController = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
        gameController.onSceneStart    += OnEnterHoldState;
        gameController.onSceneEnd      += OnExitHoldState;
        gameController.onGamePlayStart += OnExitHoldState;
        gameController.onGameWin       += OnEnterHoldState;
        gameController.onGameLose      += OnEnterHoldState;
        gameController.onGameRestart   += Start;

        playerSeen = GameObject.FindGameObjectWithTag("GameController").GetComponent <PlayerSeen>();

        // TODO:Debug
        initialPosition = transform.position;
        initialRotation = transform.rotation;

        nav = GetComponent <NavMeshAgent>();
    }
示例#5
0
        // Update is called once per frame
        void Update()
        {
            var vectorDirectionAndDistance = _player.transform.position - transform.position;
            var directionVector            = vectorDirectionAndDistance.normalized;
            var angleResult = Vector3.Angle(transform.up, directionVector);

            if (!IsInFOV(angleResult))
            {
                return;
            }

            var result = Physics2D.Raycast(transform.position, directionVector);

            Debug.DrawRay(transform.position, directionVector);
            if (result.collider != null && result.collider.gameObject == _player)
            {
                LastSeen = _player.transform.position;
                PlayerSeen?.Invoke(this, new PlayerSeenEventArgs(_player.transform.position));
            }
        }