コード例 #1
0
    public void EndKingEclaireIntro()
    {
        isKingIntroCutSceneDone = true;
        Script_BackgroundMusicManager bgm = Script_BackgroundMusicManager.Control;

        Script_UIAspectRatioEnforcerFrame.Control.EndingsLetterBox(
            isOpen: false,
            framing: Script_UIAspectRatioEnforcerFrame.Framing.ElderIntro,
            cb: OnRemoveLetterBoxDone
            );

        eldersTragedyBgThemePlayer.FadeOutStop(() => {
            bgm.SetVolume(0f, Const_AudioMixerParams.ExposedBGVolume);
            bgm.PlayFadeIn(bgm.CurrentClipIndex, outputMixer: Const_AudioMixerParams.ExposedBGVolume);
        });

        void OnRemoveLetterBoxDone()
        {
            game.ChangeStateInteract();
            game.CanvasesInitialState();

            // Face King in the proper direction upon timeline restarting.
            KingEclaire.FaceDirection(Directions.Left);
            KingEclaire.State = Script_StaticNPC.States.Interact;
        }
    }
コード例 #2
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        Script_BackgroundMusicManager t = (Script_BackgroundMusicManager)target;

        if (GUILayout.Button("Fade Out Fast"))
        {
            t.FadeOutFast(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade In Fast"))
        {
            t.FadeInFast(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade Out Med"))
        {
            t.FadeOutMed(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade In Med"))
        {
            t.FadeInMed(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade Out Slow"))
        {
            t.FadeOutSlow(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade In Slow"))
        {
            t.FadeInSlow(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Fade In XXSlow"))
        {
            t.FadeInXXSlow(null, Const_AudioMixerParams.ExposedBGVolume);
        }
        if (GUILayout.Button("Set BG Volume 0f"))
        {
            t.SetVolume(0f, Const_AudioMixerParams.ExposedBGVolume);
        }
    }
コード例 #3
0
    private void HandleElleniaHurtCutScene()
    {
        // Ensure Psychic Duck is the active sticker and we haven't already played this cut scene.
        bool isPsychicDuckActive = Script_ActiveStickerManager.Control.IsActiveSticker(Const_Items.PsychicDuckId);

        if (!isPsychicDuckActive)
        {
            return;
        }
        if (isElleniaHurtCutSceneActivated)
        {
            return;
        }

        isElleniaHurtCutSceneActivated           = true;
        isCheckingPsychicDuckElleniaHurtCutScene = false;

        game.ChangeStateCutScene();

        Script_BackgroundMusicManager bgm = Script_BackgroundMusicManager.Control;

        bgm.FadeOutFast(() => {
            bgm.Stop();
            bgm.SetVolume(1f, BGMParam);
        }, BGMParam);

        StartCoroutine(WaitForElleniaHurtCutScene());

        IEnumerator WaitForElleniaHurtCutScene()
        {
            yield return(new WaitForSeconds(onStartElleniaHurtCutSceneWaitTime));

            StartCoroutine(game.TransitionFadeIn(cutSceneFadeInTime, () => {
                // Teleport player.
                game.GetPlayer().Teleport(playerTeleportPos.transform.position);
                game.GetPlayer().FaceDirection(Directions.Left);

                // Face camera to Ellenia (Hurt).
                SwitchVCamElleniaHurt();

                StartCoroutine(WaitForElleniaDialogue());
            }));
        }

        IEnumerator WaitForElleniaDialogue()
        {
            yield return(new WaitForSeconds(elleniaHurtCutSceneWaitToFadeInTime));

            StartCoroutine(game.TransitionFadeOut(cutSceneFadeInTime, () => {
                PlayElleniasHandPRCS();
            }));
        }

        void PlayElleniasHandPRCS()
        {
            game.ChangeStateCutScene();

            Script_UIAspectRatioEnforcerFrame.Control.EndingsLetterBox(
                isOpen: true,
                framing: Script_UIAspectRatioEnforcerFrame.Framing.ElleniasHand,
                cb: OnFramingAnimationDone
                );

            void OnFramingAnimationDone()
            {
                ElleniasHandPRCSPlayer.PlayCustom(Script_PRCSManager.CustomTypes.ElleniasHand);
            }
        }
    }