public void Destroy()
    {
        if (!destroyed)
        {
            AudioSource  audio = gameObject.GetComponent <AudioSource>();
            MeshRenderer mesh  = gameObject.GetComponent <MeshRenderer>();

            switch (currType)
            {
            case ItemType.Get:
                SubtitleManager.GetInstance().SetText(sub);

                if (!string.IsNullOrEmpty(eventItem))
                {
                    EventManager.GetInstance().SetEvent(eventItem);
                }

                destroyed = true;
                hide      = false;

                audio.Play();

                if (mesh != null)
                {
                    mesh.enabled = false;
                }
                else
                {
                    SetVisibility(false);
                }

                break;

            case ItemType.Interact:
                if (!Player.GetInstance().Items.Contains(relatedItemCod))
                {
                    SubtitleManager.GetInstance().SetText(subRelatedItem);
                }
                else
                {
                    SubtitleManager.GetInstance().SetText(sub);
                    destroyed = true;
                    audio.Play();
                }
                break;

            case ItemType.StockWoodMaker:
                if (!Player.GetInstance().Items.Contains(Constants.StockWood))
                {
                    SubtitleManager.GetInstance().SetText("Pegou Lenha");
                    Player.GetInstance().Items.Add(Constants.StockWood);
                }
                else
                {
                    SubtitleManager.GetInstance().SetText("Você já tem lenha");
                }
                break;
            }
        }
    }
    public void Interact()
    {
        string[] partsPicture = new string[] {
            Constants.PictureP1Item,
            Constants.PictureP2Item,
            Constants.PictureP3Item,
            Constants.PictureP4Item
        };

        clickCounter += 1;

        if (hasCompletedPicture)
        {
            EventManager.GetInstance().SetEvent("babyPersecution");
            PartsToCompletePicture(partsPicture);
            SubtitleManager.GetInstance().SetText(pictureComplete);
            gameObject.SetActive(false);
        }

        if (clickCounter > 2)
        {
            AudioRepository audioRepo = AudioRepository.GetInstance();

            if (!audioRepo.gameObject.GetComponent <AudioSource>().isPlaying)
            {
                audioRepo.gameObject.GetComponent <AudioSource>().clip = audioRepo.incompletePictureAudio;
                audioRepo.gameObject.GetComponent <AudioSource>().Play();
            }
        }

        Invoke("ResetCounter", 30f);

        AddPartsPicture(partsPicture);

        if (pictureCounter > 0)
        {
            SubtitleManager.GetInstance().SetText(pictureIncomplete);
        }
        else
        {
            hasCompletedPicture = true;
            HelperUtil.FindGameObject(GameObject.Find("Sangue pós quarta foto"), "SangueContainer").SetActive(true);
        }
    }
Exemplo n.º 3
0
    public void Interact()
    {
        if (Main.GetInstance().inCutScene)
        {
            Debug.Log("ativou cutscene");
            DesactivateAnimHand();
            return;
        }

        rayToInteract = Player.GetCamera().ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));

        if (Physics.Raycast(rayToInteract, out hitInfo, rangeInteract))
        {
            switch (hitInfo.collider.tag)
            {
            case "InteractItem":
                ActivateAnimHand();
                GetInteractItem(hitInfo);
                break;

            case "Item":
                if (IsActiveItem(hitInfo))
                {
                    //if (hitInfo.collider.gameObject.name.Contains ("celular")) {
                    //    SubtitleManager.GetInstance ().SetText ("[ESPACO] para interagir");
                    //}

                    ActivateAnimHand();
                    GetItem(hitInfo);
                }
                break;

            case "Door":
                ActivateAnimHand();
                OpenDoor(hitInfo);
                break;

            case "Fireplace":
                ActivateAnimHand();
                Fireplace firePlace = hitInfo.transform.gameObject.GetComponent <Fireplace>();

                if (Input.GetKeyDown(KeyCode.Space))
                {
                    if (Player.GetInstance().Items.Contains(Constants.PictureItem))
                    {
                        if (Player.GetInstance().items.Contains(Constants.StockWood))
                        {
                            HelperUtil.FindGameObject(GameObject.Find("Audio"), "SoundLareira").SetActive(true);
                            Player.GetInstance().items.Remove(Constants.StockWood);
                            firePlace.light.intensity = firePlace.lightIntensity;
                            firePlace.fireParticle.GetComponent <ParticleSystem>().emissionRate = 6;
                            //firePlace.fireParticle.GetComponent<ParticleSystem>().emissionRate = 3;
                            //firePlace.fireParticle.GetComponent<ParticleSystem>().Play();
                            //firePlace.fireParticle.GetComponent<ParticleSystem>().enableEmission = true;
                        }

                        if (hasDestroyedPicture || firePlace.light.intensity > firePlace.minlightIntensity)
                        {
                            HelperUtil.FindGameObject(GameObject.Find("Audio"), "SoundPersecution").SetActive(false);
                            EventManager.GetInstance().SetEvent("babyRest");
                            hasDestroyedPicture = true;
                        }
                        else
                        {
                            if (firePlace.light.intensity < firePlace.minlightIntensity)
                            {
                                SubtitleManager.GetInstance().SetText("Recarregue a lareira para queimar o quadro.");
                            }
                            else
                            {
                                SubtitleManager.GetInstance().SetText("Recarregou a lareira. Destrua o quadro");
                                hasDestroyedPicture = true;
                            }
                        }
                    }
                    else
                    {
                        if (Player.GetInstance().items.Contains(Constants.StockWood))
                        {
                            HelperUtil.FindGameObject(GameObject.Find("Audio"), "SoundLareira").SetActive(true);
                            firePlace.light.intensity = firePlace.lightIntensity;
                            firePlace.fireParticle.GetComponent <ParticleSystem>().emissionRate = 6;
                            Debug.Log(firePlace.light.intensity);
                            Player.GetInstance().items.Remove(Constants.StockWood);
                            SubtitleManager.GetInstance().SetText("Recarregou a lareira.");
                        }
                        else
                        {
                            SubtitleManager.GetInstance().SetText("Pegue lenha");
                        }
                    }
                }

                Debug.Log("Lareira");
                break;

            default:
                DesactivateAnimHand();
                break;
            }
        }
        else
        {
            DesactivateAnimHand();
        }
    }
Exemplo n.º 4
0
    public void SetEvent(string eventName)
    {
        switch (eventName)
        {
        case "pegueOCelular":
            SubtitleManager.GetInstance().SetText("Pegue o celular");
            break;

        case "espacoParaInteragir":
            SubtitleManager.GetInstance().SetText("Pressione [ESPAÇO] para interagir");
            break;

        case "desactivateAllCameras":
            DesactivateAllCameras();
            break;

        case "shakeDoors":
            ShakeDoors();
            break;

        case "lockDoors":
            LockDoors();

            break;

        case "activateIconFlashLight":
            ActivateIconFlash();
            break;

        case "activateIconSmartPhone":
            GameObject.Find("tutorial").SetActive(false);
            GameObject.Find("tutorial2").SetActive(false);
            ActivateIconSmartPhone();
            break;

        case "initialEvent":

            Invoke("InitialEvent", 3);
            Invoke("ActivateIconFlash", 3);
            Invoke("BabyCry", 5);
            Invoke("ActivateBaby", 6);

            //Monster.GetInstance().currActionState = Monster.MonsterActionState.Rest;

            break;

        case "lockCameraPicture1":
            Player.GetInstance().GetComponent <FirstPersonController>().enabled = false;
            Main.GetInstance().inCutScene = true;

            FadeInScreen();
            Invoke("ActivateCameraEventPicture", 1.2f);
            Invoke("FadeOutScreen", 1.8f);

            Invoke("FadeInScreen", 4.8f);
            Invoke("FadeOutScreen", 5.5f);
            Invoke("DesactivateCameraEventPicture", 5.5f);

            break;

        case "activatePart2":
            ShakeDoors();
            ActivatePartPicture(Constants.PictureP2Item);

            HelperUtil.FindGameObject(GameObject.Find("Eventos"), "Item2").SetActive(true);
            break;

        case "activateAnimPart2":

            //HelperUtil.FindGameObject(GameObject.Find("Quadros de Enfeite"), "Q01").GetComponent<Animator>().SetTrigger("activate");
            HelperUtil.FindGameObject(GameObject.Find("Quadros de Enfeite"), "Q01").GetComponent <Rigidbody>().constraints = RigidbodyConstraints.None;
            HelperUtil.FindGameObject(GameObject.Find("Audio"), "SoundQuadroCaindo").SetActive(true);;
            break;

        case "activatePart3":
            Player.GetInstance().GetComponent <FirstPersonController>().enabled = false;
            Main.GetInstance().inCutScene = true;

            Monster.GetInstance().CancelAttack();
            Monster.GetInstance().currActionState = Monster.MonsterActionState.Rest;
            Monster.GetInstance().SetVisibility(false);

            FalseMonster.GetInstance().Activate();

            //Monster.GetInstance ().mosterNV.enabled = true;
            //Monster.SetAnimationState (Monster.MonsterAnimation.Crawl);
            //Monster.GetInstance().gameObject.transform.position = new Vector3(269.02f, 4.449f, 237.2929f);
            //Monster.GetInstance().gameObject.transform.position = new Vector3(270.67f, 4.449f, 237.2929f);
            //Monster.GetInstance().mosterNV.destination = GameObject.Find("AlvoBebe").transform.position;

            ActivatePartPicture(Constants.PictureP3Item);
            GameObject.Find("PortaChave").GetComponent <DoorWrapper>().typeAnim = DoorWrapper.DoorAnim.Locked;

            FadeInScreen();
            Invoke("ActivateCameraOpenRoom", 1.2f);
            Invoke("FadeOutScreen", 2);

            Invoke("OpenClosedRoom", 1.4f);

            Invoke("FadeInScreen", 4.8f);
            Invoke("FadeOutScreen", 5.5f);
            Invoke("DesactivateCameraOpenRoom", 5.5f);

            //FadeInScreen();

            break;

        case "activatePart4":

            ActivatePartPicture(Constants.PictureP4Item);
            GameObject.Find("PortaEscritorio").GetComponent <DoorWrapper>().typeAnim = DoorWrapper.DoorAnim.Locked;

            break;

        case "audioVidroArranhado":
            Invoke("ActivateSoundVidroArranhado", 0.6f);
            break;

        case "babyPersecution":

            //Monster.GetInstance().currActionState = Monster.MonsterActionState.Rest;
            Monster.GetInstance().PersecutionMode();
            Monster.GetInstanceAudioSource().GetComponent <AudioSource>().Pause();
            Monster.SetAnimationState(Monster.MonsterAnimation.Crawl);
            Player.GetMotionBlur().blurAmount = 0.6f;
            HelperUtil.FindGameObject(GameObject.Find("Audio"), "SoundPersecution").SetActive(true);
            IncreaseSoundPersecution();


            break;

        case "babyRest":


            Player.GetInstance().GetComponent <FirstPersonController>().enabled = false;
            Main.GetInstance().inCutScene = true;

            //Player.GetInstance().GetComponent<FirstPersonController>().ChangeMouseSensitivity(0, 0);

            Monster.GetInstance().CancelAttack();
            Monster.GetInstance().currActionState = Monster.MonsterActionState.Rest;

            GameObject.Find("portaFinal").GetComponent <Animator>().SetTrigger("open2");

            HelperUtil.FindGameObject(GameObject.Find("Iluminação"), "spotPortaBebe").SetActive(true);
            HelperUtil.FindGameObject(GameObject.Find("Iluminação"), "luzParte3").GetComponentInChildren <Light>().range = 4;

            FadeInScreen();
            Invoke("FadeOutScreen", 1.8f);

            Invoke("ActivateCameraRoomBaby", 1.4f);

            Invoke("FadeInScreen", 4.8f);
            Invoke("FadeOutScreen", 5.5f);

            Invoke("DesactivateCameraRoomBaby", 5.5f);

            break;

        case "gameOver":
            Player.GetInstance().GetComponent <FirstPersonController>().enabled = false;
            Main.GetInstance().inCutScene = true;

            FadeInScreen();
            Invoke("FadeOutScreen", 1.8f);

            Invoke("ActivateSoundBaby", 2);

            Invoke("ActivateCameraGameOver", 1.4f);

            Invoke("FadeInScreen", 4.8f);
            Invoke("ActivateSoundWoman", 7.2f);

            Invoke("FadeInGameOver", 10);
            //Invoke("FadeOutScreen", 5.5f);

            break;
        }
    }