示例#1
0
        private static void DrawPlayerCheats(CheatToolsWindow cheatToolsWindow)
        {
            GUILayout.Label("Player stats");

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label("STR: " + _gameMgr.Player.physical, GUILayout.Width(60));
                _gameMgr.Player.physical = (int)GUILayout.HorizontalSlider(_gameMgr.Player.physical, 0, 100);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("INT: " + _gameMgr.Player.intellect, GUILayout.Width(60));
                    _gameMgr.Player.intellect = (int)GUILayout.HorizontalSlider(_gameMgr.Player.intellect, 0, 100);
                }
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("H: " + _gameMgr.Player.hentai, GUILayout.Width(60));
                    _gameMgr.Player.hentai = (int)GUILayout.HorizontalSlider(_gameMgr.Player.hentai, 0, 100);
                }
                GUILayout.EndHorizontal();

                var cycle = Object.FindObjectsOfType <Cycle>().FirstOrDefault();
                if (cycle != null)
                {
                    if (cycle.timerVisible)
                    {
                        GUILayout.BeginHorizontal();
                        {
                            GUILayout.Label("Time: " + cycle.timer.ToString("N1"), GUILayout.Width(65));
                            var newVal = GUILayout.HorizontalSlider(cycle.timer, 0, Cycle.TIME_LIMIT);
                            if (Math.Abs(newVal - cycle.timer) > 0.09)
                            {
                                typeof(Cycle)
                                .GetField("_timer", BindingFlags.Instance | BindingFlags.NonPublic)
                                ?.SetValue(cycle, newVal);
                            }
                        }
                        GUILayout.EndHorizontal();
                    }

                    GUILayout.BeginHorizontal();
                    {
                        GUILayout.Label("Day of the week: " + cycle.nowWeek);
                        if (GUILayout.Button("Next"))
                        {
                            cycle.Change(cycle.nowWeek.Next());
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label("Academy Name: ", GUILayout.ExpandWidth(false));
                _gameMgr.saveData.accademyName =
                    GUILayout.TextField(_gameMgr.saveData.accademyName, GUILayout.ExpandWidth(true));
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label("Player Name: ", GUILayout.ExpandWidth(false));
                _gameMgr.Player.parameter.lastname  = GUILayout.TextField(_gameMgr.Player.parameter.lastname);
                _gameMgr.Player.parameter.firstname = GUILayout.TextField(_gameMgr.Player.parameter.firstname);
            }
            GUILayout.EndHorizontal();

            if (GUILayout.Button("Add 10000 club points (+1 level)"))
            {
                _gameMgr.saveData.clubReport.comAdd += 10000;
            }

            if (GUILayout.Button("Stop shame reactions in bathrooms"))
            {
                var actionMap = Object.FindObjectOfType <ActionMap>();
                if (actionMap != null)
                {
                    foreach (var param in actionMap.infoDic.Values)
                    {
                        if (param.isWarning)
                        {
                            param.isWarning = false;
                            CheatToolsPlugin.Logger.Log(LogLevel.Message,
                                                        "Disabling shame reactions on map: " + param.MapName);
                        }
                    }
                }
            }

            GUI.changed = false;
            var playerIsNoticeable = _playerEnterExitTrigger == null || _playerEnterExitTrigger.enabled;

            playerIsNoticeable = !GUILayout.Toggle(!playerIsNoticeable, "Make player unnoticeable");
            if (GUI.changed)
            {
                var actionMap = Object.FindObjectOfType <ActionScene>();
                if (actionMap != null)
                {
                    _playerEnterExitTrigger         = actionMap.Player.noticeArea;
                    _playerEnterExitTrigger.enabled = playerIsNoticeable;
                }
            }

            NoclipFeature.NoclipMode = GUILayout.Toggle(NoclipFeature.NoclipMode, "Enable player noclip");

            if (GUILayout.Button("Open player data in inspector"))
            {
                cheatToolsWindow.Editor.Inspector.Push(new InstanceStackEntry(_gameMgr.saveData.player, "Player data"), true);
            }
        }
示例#2
0
        private static void DrawPlayerCheats(CheatToolsWindow cheatToolsWindow)
        {
            GUILayout.Label("Player stats");

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label("STR: " + Game.Player.physical, GUILayout.Width(60));
                Game.Player.physical = (int)GUILayout.HorizontalSlider(Game.Player.physical, 0, 100);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("INT: " + Game.Player.intellect, GUILayout.Width(60));
                    Game.Player.intellect = (int)GUILayout.HorizontalSlider(Game.Player.intellect, 0, 100);
                }
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("H: " + Game.Player.hentai, GUILayout.Width(60));
                    Game.Player.hentai = (int)GUILayout.HorizontalSlider(Game.Player.hentai, 0, 100);
                }
                GUILayout.EndHorizontal();

                var cycle = Object.FindObjectsOfType <Cycle>().FirstOrDefault();
                if (cycle != null)
                {
                    if (cycle.timerVisible)
                    {
                        GUILayout.BeginHorizontal();
                        {
                            GUILayout.Label("Time: " + cycle.timer.ToString("N1"), GUILayout.Width(65));
                            var newVal = GUILayout.HorizontalSlider(cycle.timer, 0, Cycle.TIME_LIMIT);
                            if (Math.Abs(newVal - cycle.timer) > 0.09)
                            {
                                cycle._timer = newVal;
                            }
                        }
                        GUILayout.EndHorizontal();
                    }

                    GUILayout.BeginHorizontal();
                    {
                        GUILayout.Label("Day of the week: " + cycle.nowWeek);
                        if (GUILayout.Button("Next"))
                        {
                            cycle.Change(cycle.nowWeek.Next());
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label("Player Name: ", GUILayout.ExpandWidth(false));
                Game.Player.parameter.lastname  = GUILayout.TextField(Game.Player.parameter.lastname);
                Game.Player.parameter.firstname = GUILayout.TextField(Game.Player.parameter.firstname);
            }
            GUILayout.EndHorizontal();

            if (GUILayout.Button("Add 100 Koikatsu points"))
            {
                Game.saveData.player.koikatsuPoint += 100;
            }

            if (GUILayout.Button("Stop shame reactions in bathrooms"))
            {
                var actionMap = Object.FindObjectOfType <ActionMap>();
                if (actionMap != null)
                {
                    foreach (var param in actionMap.infoDic.Values)
                    {
                        if (param.isWarning)
                        {
                            param.isWarning = false;
                            CheatToolsPlugin.Logger.Log(LogLevel.Message, "Disabling shame reactions on map: " + param.MapName);
                        }
                    }
                }
            }

            GUI.changed = false;
            var playerIsNoticeable = _playerEnterExitTrigger == null || _playerEnterExitTrigger.enabled;

            playerIsNoticeable = !GUILayout.Toggle(!playerIsNoticeable, "Make player unnoticeable");
            if (GUI.changed)
            {
                var actionMap = Object.FindObjectOfType <ActionScene>();
                if (actionMap != null)
                {
                    _playerEnterExitTrigger         = actionMap.Player.noticeArea;
                    _playerEnterExitTrigger.enabled = playerIsNoticeable;
                }
            }

            NoclipFeature.NoclipMode = GUILayout.Toggle(NoclipFeature.NoclipMode, "Enable player noclip");

            if (GUILayout.Button("Open player data in inspector"))
            {
                cheatToolsWindow.Editor.Inspector.Push(new InstanceStackEntry(Game.saveData.player, "Player data"), true);
            }

            GUILayout.BeginVertical(GUI.skin.box);
            {
                var currentPrayer = Game.saveData.prayedResult;
                var prayerIndex   = Array.IndexOf(_prayerIds, currentPrayer);
                var prayerName    = prayerIndex >= 0 ? _prayerNames[prayerIndex] : "Unknown";

                GUILayout.Label("Prayer bonus: " + prayerName);

                GUI.changed = false;
                var result = GUILayout.SelectionGrid(prayerIndex, _prayerNames, 1);
                if (GUI.changed)
                {
                    Game.saveData.prayedResult = _prayerIds[result];
                }
            }
            GUILayout.EndVertical();
        }