// Update is called once per frame void Update() { fwd = transform.TransformDirection(Vector3.forward); int layerMask = 1 << 8; layerMask = ~layerMask; if (Physics.Raycast(transform.position, fwd, out hit, range, layerMask)) { DialogueActor actor = hit.transform.gameObject.GetComponent <DialogueActor>(); if (actor != null) { StoryObject.SendMessage("ActivateTalk", actor.actorName); } else { StoryObject.SendMessage("NoTalk"); } } if (Input.GetKeyDown(KeyCode.E)) { if (lastPressed + 0.2f < Time.time) { lastPressed = Time.time; if (Physics.Raycast(transform.position, fwd, out hit, range, layerMask)) { if (hit.distance < range) { if (hit.collider is CapsuleCollider) { DialogueWindow window = hit.transform.gameObject.GetComponent(typeof(DialogueWindow)) as DialogueWindow; //Debug.Log(actor.actorName); window.OnTalkPrompt(); } } } } } }