private void Awake() { UnlockAllPositions = Config.Bind("Cheats", "Unlock all H positions", false, "Reload the H scene to see changes."); UnlockAllPositions.SettingChanged += (sender, args) => UnlockPositionsHooks.Enabled = UnlockAllPositions.Value; UnlockPositionsHooks.Enabled = UnlockAllPositions.Value; UnlockAllPositionsIndiscriminately = Config.Bind("Cheats", "Unlock invalid H positions as well", false, "This will unlock all positions even if they should not be possible.\nWARNING: Can result in bugs and even game crashes in some cases.\nReload the H scene to see changes."); UnlockAllPositionsIndiscriminately.SettingChanged += (sender, args) => UnlockPositionsHooks.UnlockAll = UnlockAllPositionsIndiscriminately.Value; UnlockPositionsHooks.UnlockAll = UnlockAllPositionsIndiscriminately.Value; ToStringConverter.AddConverter <SaveData.Heroine>(heroine => !string.IsNullOrEmpty(heroine.Name) ? heroine.Name : heroine.nickname); ToStringConverter.AddConverter <SaveData.CharaData.Params.Data>(d => $"[{d.key} | {d.value}]"); NoclipFeature.InitializeNoclip(this, () => { if (!Game.IsInstance()) { return(null); } var player = Game.Instance.Player; if (player == null) { return(null); } var playerTransform = player.transform; if (playerTransform == null) { return(null); } return(playerTransform.GetComponent <NavMeshAgent>()); }); CheatToolsWindowInit.InitializeCheats(); }
private void Awake() { BuildAnywhere = Config.Bind("Cheats", "Allow building anywhere", false); BuildAnywhere.SettingChanged += (sender, args) => BuildAnywhereHooks.Enabled = BuildAnywhere.Value; BuildAnywhereHooks.Enabled = BuildAnywhere.Value; BuildOverlap = Config.Bind("Cheats", "Allow building overlap", false); BuildOverlap.SettingChanged += (sender, args) => BuildOverlapHooks.Enabled = BuildOverlap.Value; BuildOverlapHooks.Enabled = BuildOverlap.Value; NoclipFeature.InitializeNoclip(this, () => { if (!Map.IsInstance()) { return(null); } if (Map.Instance.Player == null) { return(null); } if (Map.Instance.Player.Controller == null) { return(null); } return(Map.Instance.Player.Controller.GetComponent <NavMeshAgent>()); }); ToStringConverter.AddConverter <AgentActor>(heroine => !string.IsNullOrEmpty(heroine.CharaName) ? heroine.CharaName : heroine.name); ToStringConverter.AddConverter <AgentData>(d => $"AgentData - {d.CharaFileName} | {d.NowCoordinateFileName}"); ToStringConverter.AddConverter <ChaFile>(d => $"ChaFile - {d.charaFileName ?? "Unknown"} ({d.parameter?.fullname ?? "Unknown"})"); ToStringConverter.AddConverter <ChaControl>(d => $"{d} - {d.chaFile?.parameter?.fullname ?? d.chaFile?.charaFileName ?? "Unknown"}"); CheatToolsWindowInit.Initialize(); }
private void Awake() { ToStringConverter.AddConverter <Heroine>(CheatToolsWindowInit.GetHeroineName); ToStringConverter.AddConverter <ChaFile>(d => $"ChaFile - {d.charaFileName ?? "Unknown"} ({d.parameter?.fullname ?? "Unknown"})"); ToStringConverter.AddConverter <ChaControl>(d => $"{d} - {d.chaFile?.parameter?.fullname ?? d.chaFile?.charaFileName ?? "Unknown"}"); CheatToolsWindowInit.InitializeCheats(); }
private void Awake() { NoclipFeature.InitializeNoclip(this, () => { if (Game.Player == null) { return(null); } if (Game.Player.transform == null) { return(null); } return(Game.Player.transform.GetComponent <NavMeshAgent>()); }); CheatToolsWindowInit.InitializeCheats(); }