Esempio n. 1
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     if (state == MenuState.State.SongPage)
     {
         MelonCoroutines.Start(CreateRefreshButton());
     }
 }
Esempio n. 2
0
 private static void Prefix(MenuState __instance, ref MenuState.State state)
 {
     if (state == MenuState.State.MainPage || state == MenuState.State.SettingsPage)
     {
         MelonCoroutines.Start(AudicaMod.PerformChecks());
     }
 }
Esempio n. 3
0
            private static void Postfix(MenuState __instance, ref MenuState.State state)
            {
                if (state == MenuState.State.LaunchPage)
                {
                    DeleteButton.CreateDeleteButton();
                    FavoriteButton.CreateFavoriteButton();
                    AddPlaylistButton.CreatePlaylistButton();
                    DifficultyDisplay.Show();
                }
                else
                {
                    DifficultyDisplay.Hide();
                }
                if (state == MenuState.State.SongPage)
                {
                    ScoreDisplayList.Show();
                    RandomSongButton.CreateRandomSongButton();
                    SongSearchButton.CreateSearchButton();
                    SelectPlaylistButton.CreatePlaylistButton();
                    PlaylistEndlessButton.CreatePlaylistButton();
                    RefreshButton.CreateRefreshButton();
                    PlaylistEndlessManager.ResetIndex();
                }
                else
                {
                    ScoreDisplayList.Hide();
                    PlaylistEndlessButton.HidePlaylistButton();
                }

                if (state == MenuState.State.MainPage)
                {
                    //PlaylistManager.DownloadMissingSongs();
                }
            }
Esempio n. 4
0
            private static void Postfix(MenuState __instance, ref MenuState.State state)
            {
                if (state == MenuState.State.LaunchPage)
                {
                    DeleteButton.CreateDeleteButton();
                    FavoriteButtonButton.CreateFavoriteButtonButton();
                    DifficultyDisplay.Show();
                }
                else
                {
                    DifficultyDisplay.Hide();
                }
                if (state == MenuState.State.SongPage)
                {
                    ScoreDisplayList.Show();
                }
                else
                {
                    ScoreDisplayList.Hide();
                }

                if (state == MenuState.State.SongPage)
                {
                    RandomSong.CreateRandomSongButton();
                }
            }
Esempio n. 5
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     if (state == MenuState.State.Launched || state == MenuState.State.SongPage)
     {
         MelonCoroutines.Start(ModifierManager.Reset());
     }
 }
Esempio n. 6
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     if (state == MenuState.State.SongPage)
     {
         CreateRandomSongButton();
     }
 }
Esempio n. 7
0
    public void PushMenuState(MenuState.State newState)
    {
        Debug.Log("Push State: " + newState);

        MenuState menuState = null;

        foreach (MenuState m in m_menuStates)
        {
            if (m.state == newState)
            {
                menuState = m;
                break;
            }
        }

        if (m_menuState != null)
        {
            m_menuState.OnHold();
        }

        m_menuState = menuState;

        if (m_menuState != null)
        {
            m_menuStateStack.Add(m_menuState);
            m_menuState.OnActivate();
        }
    }
Esempio n. 8
0
 private static void PostFix(MenuState __instance, MenuState.State state)
 {
     if (state == MenuState.State.SongPage)
     {
         AutoLightshowMod.Reset();
     }
 }
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     if (state == MenuState.State.SongPage)
     {
         RequestUI.UpdateButtonText();
     }
 }
Esempio n. 10
0
 private static void Postfix(MenuState __instance, MenuState.State state)
 {
     if (state == MenuState.State.MainPage)
     {
         AddModSettingsButton();
         Initialize();
     }
 }
Esempio n. 11
0
 private static void Prefix(ref MenuState.State state)
 {
     if (AudicaMod.spectatorCamFixed)
     {
         return;
     }
     if (state == MenuState.State.MainPage)
     {
         AudicaMod.FixSpectatorCam();
     }
 }
Esempio n. 12
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     AudicaMod.oldMenuState = AudicaMod.menuState;
     AudicaMod.menuState    = state;
     if (AudicaMod.oldMenuState == MenuState.State.LaunchPage && state == MenuState.State.Launching)
     {
         AudicaMod.SetModifiersBefore();
     }
     else if (state != MenuState.State.Launched && AudicaMod.oldMenuState == MenuState.State.Launched)
     {
         AudicaMod.SetModifiersAfter();
     }
 }
Esempio n. 13
0
            private static void Prefix(MenuState __instance, ref MenuState.State state)
            {
                if (KataConfig.I.practiceMode)
                {
                    return;
                }

                if (GrindMode.recordRestarted)
                {
                    if (state == MenuState.State.SongPage)
                    {
                        GrindMode.RecordRestart();
                    }
                }
            }
Esempio n. 14
0
            private static void Postfix(MenuState __instance, ref MenuState.State state)
            {
                if (state == MenuState.State.LaunchPage && !GrindMode.grindButtonCreated && !GrindMode.autoSkipButtonCreated && !GrindMode.allowedMissCountButtonCreated)
                {
                    MelonCoroutines.Start(GrindMode.AddLaunchPanelButtons());
                }
                else if (GrindMode.grindButtonCreated || GrindMode.autoSkipButtonCreated)
                {
                    if (state == MenuState.State.LaunchPage)
                    {
                        MelonCoroutines.Start(GrindMode.SetLaunchPanelButtonsActive(true));
                    }
                    else if (state != MenuState.State.Launched)
                    {
                        MelonCoroutines.Start(GrindMode.SetLaunchPanelButtonsActive(false));
                    }
                }



                if (state == MenuState.State.SongPage && GrindMode.menuButton is null)
                {
                    GrindMode.CreateIntroSkipButton();
                }

                if (GrindMode.introSkipButtonCreated)
                {
                    if (state != MenuState.State.Launched || state != MenuState.State.Launching)
                    {
                        GrindMode.SetIntroSkipButtonActive(false);
                    }
                    else if (state == MenuState.State.Launched && (Config.autoSkip || KataConfig.I.practiceMode))
                    {
                        GrindMode.SetIntroSkipButtonActive(false);
                    }
                }

                if (state == MenuState.State.Launched && !KataConfig.I.practiceMode)
                {
                    GrindMode.ResetVariables();
                }

                if (GrindMode.audiocomponent is null && state == MenuState.State.SongPage)
                {
                    GrindMode.GetAudioComponent();
                }
            }
Esempio n. 15
0
            private static void Postfix(MenuState __instance, ref MenuState.State state)
            {
                if (!AudicaMod.config.activated)
                {
                    return;
                }

                if (AudicaMod.playPsychadelia && (state == MenuState.State.Launched || state == MenuState.State.TitleScreen))
                {
                    AudicaMod.playPsychadelia             = false;
                    GameplayModifiers.I.mPsychedeliaPhase = 0;
                    AudicaMod.timer = 0;
                }
                else if (!AudicaMod.playPsychadelia && state != MenuState.State.Launched && state != MenuState.State.TitleScreen)
                {
                    AudicaMod.playPsychadelia = true;
                }
            }
Esempio n. 16
0
        public override void OnUpdate()
        {
            //Tracking menu state
            menuState = MenuState.GetState();

            //If menu changes
            if (menuState != oldMenuState)
            {
                //Updating state
                oldMenuState = menuState;

                //Put stuff to do when a menu change triggers here

                //Doing this in an effort to call this the less often possible.
                //It doesn't work at boot so going it at a menu change is reasonable I guess
                starThresholds = UnityEngine.Object.FindObjectOfType <StarThresholds>();
            }
        }
Esempio n. 17
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     if (!AudicaMod.panelButtonsCreated)
     {
         if (!AudicaMod.buttonsBeingCreated && state == MenuState.State.SongPage)
         {
             AudicaMod.CreateSongPanelButton();
         }
         return;
     }
     if (state == MenuState.State.SongPage)
     {
         MelonCoroutines.Start(AudicaMod.SetRandomSongButtonActive(true));
     }
     else if (state == MenuState.State.LaunchPage || state == MenuState.State.MainPage)
     {
         MelonCoroutines.Start(AudicaMod.SetRandomSongButtonActive(false));
     }
 }
Esempio n. 18
0
 private static void Postfix(MenuState __instance, ref MenuState.State state)
 {
     AudicaMod.menuState = state;
     if (!AudicaMod.panelButtonsCreated)
     {
         if (!AudicaMod.buttonsBeingCreated && state == MenuState.State.SongPage)
         {
             AudicaMod.CreateSongRequestFilterButton();
         }
         return;
     }
     if (state == MenuState.State.SongPage)
     {
         MelonCoroutines.Start(AudicaMod.SetFilterSongRequestsButtonnActive(true));
         MelonCoroutines.Start(AudicaMod.ProcessQueueCoroutine());
     }
     else if (state == MenuState.State.LaunchPage || state == MenuState.State.MainPage)
     {
         MelonCoroutines.Start(AudicaMod.SetFilterSongRequestsButtonnActive(false));
     }
 }
Esempio n. 19
0
            private static void Postfix(MenuState.State state)
            {
                if (state == MenuState.State.LaunchPage && !AudicaMod.panelCreated)
                {
                    AudicaMod.CreatePanel();
                    return;
                }
                if (!AudicaMod.panelCreated)
                {
                    return;
                }

                if (state == MenuState.State.LaunchPage)
                {
                    MelonCoroutines.Start(AudicaMod.SetPanelActive(true));
                }
                else
                {
                    MelonCoroutines.Start(AudicaMod.SetPanelActive(false));
                }
            }
Esempio n. 20
0
        public override void OnUpdate()
        {
            //Tracking menu state
            menuState = MenuState.GetState();

            //If menu changes
            if (menuState != oldMenuState)
            {
                //Put stuff to do when a menu change triggers here
                if (menuState == MenuState.State.Launching)
                {
                    chainStartEither = false;
                    chainStartRight  = false;
                    chainStartLeft   = false;
                    chainStartNone   = false;
                }

                //Updating state
                oldMenuState = menuState;
            }
        }
Esempio n. 21
0
        public override void OnUpdate()
        {
            //Tracking menu state
            menuState = MenuState.GetState();

            //If menu changes
            if (menuState != oldMenuState)
            {
                //Put stuff to do when a menu change triggers here
                if (menuState == MenuState.State.LaunchPage)
                {
                    MelonCoroutines.Start(GameplaySettingsMenuCoroutine());
                }

                if (oldMenuState == MenuState.State.LaunchPage)
                {
                    SP.SetPageActive(false, true);
                }


                //Updating state
                oldMenuState = menuState;
            }

            /*
             * if (Input.GetKey(KeyCode.F6))
             * {
             *  MelonCoroutines.Start(GameplaySettingsMenuCoroutine());
             * }
             *
             * if (Input.GetKey(KeyCode.F4))
             * {
             *  SP.SetPageActive(false, true);
             * }
             */
        }
Esempio n. 22
0
        public override void OnUpdate()
        {
            //Tracking menu state
            menuState = MenuState.GetState();

            //If menu changes
            if (menuState != oldMenuState)
            {
                MelonLogger.Log("Menu: " + menuState.ToString());

                if (menuState == MenuState.State.MainPage)
                {
                    CheckCamera();
                }

                if (menuState == MenuState.State.LaunchPage)
                {
                    scriptExists = LoadCameraCues();
                }

                if (menuState == MenuState.State.Launched && !KataConfig.I.practiceMode)
                {
                    if (scriptExists)
                    {
                        LoadFOV();
                    }

                    Camera thirdPersonCam = spectatorCam.cam;
                    startPointPos = thirdPersonCam.gameObject.transform.position;
                    startPointRot = thirdPersonCam.gameObject.transform.rotation.eulerAngles;
                }

                if (oldMenuState == MenuState.State.Launched && menuState == MenuState.State.SongPage)
                {
                    SetFOV(fovSetting);
                }

                oldMenuState = menuState;
            }

            //If playing a song
            if (menuState == MenuState.State.Launched && !KataConfig.I.practiceMode)
            {
                //Update midi tick
                lastTick = ScoreKeeper.I.mLastTick;

                if (lastTick != oldLastTick)
                {
                    if (camOK && scriptExists)
                    {
                        Camera    thirdPersonCam = spectatorCam.cam;
                        CameraCue cameraCue      = cameraCues[currentCameraCueIndex];

                        if (!ended && lastTick >= cameraCue.tick && timer <= cameraCue.tickLength && lastTick <= cameraCue.tick + cameraCue.tickLength)
                        {
                            timer  += lastTick - oldLastTick;
                            percent = timer / cameraCue.tickLength;

                            Vector3 destinationPos = new Vector3(cameraCue.xPos, cameraCue.yPos, cameraCue.zPos);
                            thirdPersonCam.gameObject.transform.position = startPointPos + (destinationPos - startPointPos) * percent;

                            Vector3 destinationRot = new Vector3(cameraCue.xRot, cameraCue.yRot, cameraCue.zRot);
                            thirdPersonCam.gameObject.transform.rotation = Quaternion.Euler(
                                startPointRot.y + (destinationRot.y - startPointRot.y) * percent,
                                startPointRot.x + (destinationRot.x - startPointRot.x) * percent,
                                startPointRot.z + (destinationRot.z - startPointRot.z) * percent
                                );
                        }

                        if (!ended && lastTick >= cameraCue.tick + cameraCue.tickLength)
                        {
                            if (timer != 0)
                            {
                                Vector3 destinationPos = new Vector3(cameraCue.xPos, cameraCue.yPos, cameraCue.zPos);
                                thirdPersonCam.gameObject.transform.position = destinationPos;

                                Vector3 destinationRot = new Vector3(cameraCue.xRot, cameraCue.yRot, cameraCue.zRot);
                                thirdPersonCam.gameObject.transform.rotation = Quaternion.Euler(destinationRot.y, destinationRot.x, destinationRot.z);

                                startPointPos = thirdPersonCam.gameObject.transform.position;
                                startPointRot = thirdPersonCam.gameObject.transform.rotation.eulerAngles;
                                timer         = 0;

                                if (cameraCues.Length > currentCameraCueIndex + 1)
                                {
                                    currentCameraCueIndex += 1;
                                }
                                else
                                {
                                    ended = true;
                                }
                            }
                        }
                    }
                    oldLastTick = lastTick;
                }
            }

            if (Input.GetKeyDown(KeyCode.R))
            {
                Camera  thirdPersonCam = spectatorCam.cam;
                Vector3 homePos        = new Vector3(0.0f, 2.4f, -2.6f);
                thirdPersonCam.gameObject.transform.position = homePos;
            }

            if (Input.GetKeyDown(KeyCode.T))
            {
                Camera  thirdPersonCam = spectatorCam.cam;
                Vector3 homePos        = new Vector3(0.0f, 2.4f, 22.4f);
                thirdPersonCam.gameObject.transform.position = homePos;
            }

            if (Input.GetKeyDown(KeyCode.Y))
            {
                Camera  thirdPersonCam = spectatorCam.cam;
                Vector3 homePos        = new Vector3(0.0f, 2.4f, -60.6f);
                thirdPersonCam.gameObject.transform.position = homePos;
            }

            if (Input.GetKeyDown(KeyCode.F))
            {
                Camera thirdPersonCam = spectatorCam.cam;

                Vector3 camPos = thirdPersonCam.gameObject.transform.position;
                MelonLogger.Log("Cam Pos: " + camPos.ToString());

                Vector3 euler = thirdPersonCam.gameObject.transform.rotation.eulerAngles;
                MelonLogger.Log("Cam Rot: " + euler.ToString());
            }
        }