void Awake (){ playerSeen = GameObject.Find("GameController").GetComponent<PlayerSeen>(); sphereTrigger = GetComponent<SphereCollider>(); // TODO: Debug GameObject.FindGameObjectWithTag("GameController") .GetComponent<GameController>().onGameRestart += Start; }
void Awake() { playerSeen = GameObject.Find("GameController").GetComponent <PlayerSeen>(); sphereTrigger = GetComponent <SphereCollider>(); // TODO: Debug GameObject.FindGameObjectWithTag("GameController") .GetComponent <GameController>().onGameRestart += Start; }
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>(); }
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>(); }
// 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)); } }