Exemple #1
0
        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());
                }
            }
        }