/** * Specific test for seeing question marks. They display information on the UI. * */ private bool IsPlayerSeeingAQuestionMark(out QuestionMarkBehaviour questionMarkBehaviour) { questionMarkBehaviour = null; Ray obstacleRayInFrontOf = new Ray (this.transform.position, this.transform.forward); RaycastHit obstacleHit; if (Physics.Raycast (obstacleRayInFrontOf, out obstacleHit, 3)) { if (obstacleHit.collider.gameObject.tag.Equals("questionMark")) { questionMarkBehaviour = obstacleHit.collider.GetComponentInParent<QuestionMarkBehaviour>(); return true; } } return false; }
/** * Specific test for being on a question mark. They display information on the UI. * If the player is on one, we want to make the question mark disappear. * */ private bool IsPlayerOnAQuestionMark(out QuestionMarkBehaviour questionMarkBehaviour) { questionMarkBehaviour = null; Ray obstacleRayBelow = new Ray (this.transform.position + this.transform.up*1.5f, -this.transform.up); RaycastHit obstacleHit; if (Physics.Raycast (obstacleRayBelow, out obstacleHit, 2)) { if (obstacleHit.collider.gameObject.tag.Equals("questionMark")) { questionMarkBehaviour = obstacleHit.collider.GetComponentInParent<QuestionMarkBehaviour>(); return true; } } return false; }