Example #1
0
    public void rayCaster()
    {
        RaycastHit hit;

        if (Physics.Raycast(gameObject.transform.position, gameObject.transform.forward, out hit, 5))
        {
            Lock targetLock = hit.transform.gameObject.GetComponent <Lock>();
            Key  currentKey = hit.transform.gameObject.GetComponent <Key>();

            //Continues Raycast
            #region
            if (hit.transform.name == "Bomb")
            {
                if (!seenBomb)
                {
                    dialougeHandler.playAudioClip(2);
                    seenBomb = true;
                }
            }

            if (hit.transform.name == "Bomb2")
            {
                if (!seenBomb2)
                {
                    dialougeHandler.playAudioClip(1);
                    seenBomb2 = true;
                }
            }

            #endregion
            // Mouse klick interactions
            if (Input.GetKey(KeyCode.Mouse0))
            {
                if (hit.transform.tag == "Silo")
                {
                    if (hit.transform.name == "David")
                    {
                    }
                }

                if (hit.transform.tag == "Key")
                {
                    dialougeHandler.playVFXSound(0);

                    if (!scene2)
                    {
                        if (!firstBombPiece)
                        {
                            dialougeHandler.playAudioClip(3);
                            firstBombPiece = true;
                        }
                    }

                    hit.transform.gameObject.SetActive(false);
                    player.inventory.Add(hit.transform.gameObject.name);
                    int arrayId = player.inventory.IndexOf(hit.transform.gameObject.name);
                    inventoryManager.activateImage(arrayId);
                    inventoryManager.inventoryImage[arrayId].sprite = currentKey.inventorySprite;
                }
                else if (hit.transform.tag == "Lock")
                {
                    if (player.inventory.Contains(targetLock.Key))
                    {
                        int arrayId = player.inventory.IndexOf(targetLock.Key);
                        player.inventory.Remove(targetLock.Key);
                        inventoryManager.deactivateImage(arrayId);
                        targetLock.lockEvent.Invoke();
                    }
                }
                else if (hit.transform.name == "Bomb")
                {
                    if (player.inventory.Contains("Bomb1") && player.inventory.Contains("Bomb2") && player.inventory.Contains("Bomb3"))
                    {
                        targetLock.AddToBombPieceCount();
                    }
                    else
                    {
                        dialougeHandler.playAudioClip(6); // add clip incase they don't have all peices
                    }
                }
            }
        }
    }