private void RightClick(RaycastHit hit) { GameObject colliderGameObject = hit.collider.gameObject; Transform colliderTransform = hit.collider.transform; if (colliderGameObject.layer == LayerConstants.Door) { DoorManager door = colliderTransform.parent.GetComponent <DoorManager>(); if (door == null) { Debug.Log("DoorManager Not Found for " + colliderTransform.name); } else { int keyValue = -1; Item item = m_Inventory.GetCurrentItem(); if (item != null && item.itemType == Item.ItemType.KEY && m_InventoryDisplay.IsInventoryOpen()) { keyValue = item.Value; } if (!door.IsOpen()) { door.OpenDoor(keyValue); } else if (door.IsOpen()) { door.CloseDoor(); } } } else if (colliderGameObject.layer == LayerConstants.Switch) { Switch _switch = colliderTransform.GetComponent <Switch>(); if (_switch != null) { _switch.Toggle(); } } else if (colliderGameObject.layer == LayerConstants.Dial) { Dial _dial = colliderTransform.GetComponent <Dial>(); if (_dial != null) { StartCoroutine(_dial.DialDown()); } } }