public static void Update()
        {
            if (statePanel == null)
            {
                return;
            }

            if (DebugMod.GM.IsNonGameplayScene())
            {
                if (statePanel.active)
                {
                    statePanel.SetActive(false, true);
                }

                return;
            }

            if (DebugMod.settings.SaveStatePanelVisible && !statePanel.active)
            {
                statePanel.SetActive(true, false);
            }
            else if (!DebugMod.settings.SaveStatePanelVisible && statePanel.active)
            {
                statePanel.SetActive(false, true);
            }

            if (statePanel.active)
            {
                statePanel.GetText("currentmode").UpdateText(SaveStateManager.currentStateOperation);

                for (int i = 0; i < SaveStateManager.maxSaveStates; i++)
                {
                    statePanel.GetText(i.ToString()).UpdateText("open");
                }

                foreach (KeyValuePair <int, string[]> entry in SaveStateManager.GetSaveStatesInfo())
                {
                    statePanel.GetText(entry.Key.ToString()).UpdateText(string.Format("{0} - {1}", entry.Value[0], entry.Value[1]));
                }
            }
        }
Exemple #2
0
        public static void Update()
        {
            if (altPanel == null)
            {
                return;
            }

            if (DebugMod.GM.IsNonGameplayScene())
            {
                if (altPanel.active)
                {
                    altPanel.SetActive(false, true);
                }
                return;
            }

            // Not intended min/full info panel logic, but should show the two panels one at a time
            if (DebugMod.settings.MinInfoPanelVisible && !altPanel.active)
            {
                altPanel.SetActive(true, false);
            }
            else if (!DebugMod.settings.MinInfoPanelVisible && altPanel.active)
            {
                altPanel.SetActive(false, true);
            }

            if (altPanel.active)
            {
                PlayerData.instance.CountGameCompletion();

                altPanel.GetText("Vel").UpdateText(HeroController.instance.current_velocity.ToString());
                altPanel.GetText("Pos").UpdateText(GetHeroPos());

                altPanel.GetText("MP").UpdateText((PlayerData.instance.MPCharge + PlayerData.instance.MPReserve).ToString());
                altPanel.GetText("NailDmg").UpdateText(DebugMod.RefKnightSlash.FsmVariables.GetFsmInt("damageDealt").Value + " (Flat " + PlayerData.instance.nailDamage + ", x" + DebugMod.RefKnightSlash.FsmVariables.GetFsmFloat("Multiplier").Value + ")");
                altPanel.GetText("CanCdash").UpdateText(GetStringForBool(HeroController.instance.CanSuperDash()));

                altPanel.GetText("Completion").UpdateText(PlayerData.instance.completionPercentage.ToString() + "%");
                altPanel.GetText("Grubs").UpdateText(PlayerData.instance.grubsCollected + " / 46");

                altPanel.GetText("Scene Name").UpdateText(DebugMod.GetSceneName());

                if (SaveStateManager.quickState.IsSet())
                {
                    //string[] temp = ;
                    //altPanel.GetText("Current SaveState").UpdateText(string.Format("{0}\n{1}", temp[2], temp[1]));
                    altPanel.GetText("Current SaveState").UpdateText(SaveStateManager.quickState.GetSaveStateID());
                }
                else
                {
                    altPanel.GetText("Current SaveState").UpdateText("No savestate");
                }

                string slotSet = SaveStateManager.GetCurrentSlot().ToString();
                if (slotSet == "-1")
                {
                    slotSet = "unset";
                }

                //altPanel.GetText("Autoslot").UpdateText(string.Format("{0}",
                //            GetStringForBool(SaveStateManager.GetAutoSlot())));
                altPanel.GetText("Current slot").UpdateText(string.Format("{0}", slotSet));

                altPanel.GetText("Hardfall").UpdateText(GetStringForBool(HeroController.instance.cState.willHardLand));
            }
        }