예제 #1
0
    void _ShowCutscene(WaterTearCatchCameraActivate waterTear)
    {
        if (PlayerPrefs.GetInt("FirstTear") == 0)
        {
            PlayerPrefs.SetInt("FirstTear", 1);
            GameObject.FindWithTag("Pause").transform.Find("Event Text").gameObject.GetComponent <TextTriggerMain>().SetText(3);
        }

        foreach (GameObject t in tearsToActivate)
        {
            if (t.name == waterTear.vasetofind)
            {
                currentTear = t;
            }
        }

        PlayerPrefs.SetInt(waterTear.vasetofind, 1);

        mainCharacter.ps.CheckTears();
        if (mainCharacter.ps.tearCount < 10)
        {
            mainCharacter.tearText.text = "0" + mainCharacter.ps.tearCount.ToString();
        }
        else
        {
            mainCharacter.tearText.text = mainCharacter.ps.tearCount.ToString();
        }

        StartCoroutine(Camerachange(waterTear));
    }
예제 #2
0
 public static void ShowCutscene(WaterTearCatchCameraActivate waterTear)
 {
     if (singleton == null)
     {
         Debug.LogError("Singleton is null! Aborting.");
         return;
     }
     singleton._ShowCutscene(waterTear);
 }
예제 #3
0
    IEnumerator Camerachange(WaterTearCatchCameraActivate waterTear)
    {
        TPC tpc = PlayerManager.GetMainPlayer();

        tpc.ps.ControlDisable(true);
        cameraFollower.disableControl = true;

        foreach (Camera c in camerasToActivate)
        {
            if (c.gameObject.name == waterTear.cameratofind)
            {
                currentCamera = c;
            }
        }

        foreach (GameObject g in cutsceneActiveObjs)
        {
            g.SetActive(true);
        }

        currentCamera.enabled = true;
        mainCamera.enabled    = false;
        bool plazaActiveState  = mainPlaza.activeInHierarchy;
        bool plazaFActiveState = mainPlaza.transform.parent.gameObject.activeInHierarchy;

        if (!plazaFActiveState)
        {
            mainPlaza.transform.parent.gameObject.SetActive(true);
        }
        mainPlaza.gameObject.SetActive(true);

        tearAppearPFX.transform.position = currentTear.transform.position;
        tearAppearEM.enabled             = true;
        tearAppearPFX.GetComponent <ParticleSystem>().Play();

        yield return(new WaitForSeconds(1.5f));

        currentTear.GetComponent <WaterTearAltairActivateSave>().waterteartoactivate.SetActive(true);

        yield return(new WaitForSeconds(1.5f));

        tearAppearEM.enabled = false;

        mainPlaza.gameObject.SetActive(plazaActiveState);
        mainPlaza.transform.parent.gameObject.SetActive(plazaFActiveState);
        currentCamera.enabled = false;
        mainCamera.enabled    = true;

        //    foreach (GameObject g in cutsceneActiveObjs)
        //        g.SetActive(false);

        //    waterTear.DeactivateTear();

        //    waterTear.GetComponent<Collider>().enabled = false;
        if (PlayerPrefs.GetInt("First3Tears", 0) == 0 && PlayerPrefs.GetInt("Vase1Level1", 0) == 1 && PlayerPrefs.GetInt("Vase2Level1", 0) == 1 && PlayerPrefs.GetInt("Vase3Level1", 0) == 1)
        {
#if UNITY_PS4
            //
            // check trophy
            PS4Manager.ps4TrophyManager.UnlockTrophy((int)PS4_TROPHIES.COMPLETE_FIRST_LEVEL);
#endif

#if UNITY_XBOXONE
            //
            // check trophy : items >= 3 and items = all
            //
            XONEAchievements.SubmitAchievement((int)XONEACHIEVS.FIRST_TREE_SAGE_RESTORED);
#endif

            PlayerPrefs.SetInt("First3Tears", 1);
            StartCoroutine("CutsceneRoutine", firstTearsCutscene);
            if (bordersParent != null)
            {
                bordersParent.SetActive(false);
            }
        }
        else
        {
            tpc.ps.ControlDisable(false);
            cameraFollower.disableControl = false;
        }
    }