private void Update() { RaycastHit hit; Vector3 fwd = transform.TransformDirection(Vector3.forward); int mask = 1 << LayerMask.NameToLayer(exludeLayerName) | layerMaskInteract.value; if (Physics.Raycast(transform.position, fwd, out hit, rayLength, mask)) { if (hit.collider.CompareTag(interactableTagDoor)) { if (!doOnce) { raycasted_door = hit.collider.gameObject.GetComponent <KeyDoorController>(); CrosshairChange(true); } isCrosshairActive = true; doOnce = true; if (Input.GetKeyDown(openDoorKey)) { raycasted_door.PlayAnimation(); } } else if (hit.collider.CompareTag(interactableTagKey)) { if (!doOnce) { CrosshairChange(true); raycastedKey = hit.collider.gameObject; } isCrosshairActive = true; doOnce = true; if (Input.GetKeyDown(openDoorKey)) { keyInventory.hasSkeletonKey = true; raycastedKey.SetActive(false); } } } else { if (isCrosshairActive) { CrosshairChange(false); doOnce = false; } } }
private void Start() { doorObject = GetComponent <KeyDoorController>(); }