//============================================================================= // RPGVault_DisableTouchUI.js //============================================================================= // Copyright (c) rpg-vault.de // Download ausschließlich auf: https://rpg-vault.de //============================================================================= /*: * @target MZ * @plugindesc [v1.0.0] Deaktiviert die Touch UI (Buttons auf Map und in Menüs). * @author rpg-vault.de * @url https://rpg-vault.de * * @help RPGVault_DisableTouchUI.js * ============================================================================ * LIZENZ / NUTZUNGSBEDINGUNGEN * ============================================================================ * Dieses Plugin darf in Commercial (kommerziellen) UND Non-Commercial * (nicht-kommerziellen) Spielen verwendet werden. * * Die Header-Hinweise, Copyright-Angaben und Download-Verweise in dieser * Datei dürfen NICHT entfernt oder verändert werden. * * Dieses Plugin darf ausschließlich auf rpg-vault.de zum Download angeboten * werden. Ein Repost auf anderen Seiten ist nicht gestattet. * * ============================================================================ * BESCHREIBUNG * ============================================================================ * Schaltet die "Touch UI" von RPG Maker MZ ab. Dadurch verschwinden: * - der Menü-Button auf der Map * - die Zurück-Buttons (Cancel) und Seiten-Buttons in den Menüs * - die Buttons in Auswahlfenstern, die nur für Touch gedacht sind * * Optional wird die Einstellung "Touch UI" aus dem Optionsmenue entfernt, * damit Spieler sie nicht wieder einschalten können. * * Hinweis: Die Touch-Eingabe selbst (Tippen/Klicken zum Laufen) wird dadurch * nicht gesperrt, es werden nur die Touch-UI-Elemente ausgeblendet. * * ============================================================================ * INSTALLATION * ============================================================================ * 1. Datei in den Ordner js/plugins/ deines Projekts kopieren. * 2. Im Plugin-Manager (Werkzeuge > Plugin-Verwaltung) ein neues Plugin * hinzufügen und "RPGVault_DisableTouchUI" auswählen. * 3. Status auf ON stellen und Parameter nach Wunsch einstellen. * * ============================================================================ * PLUGIN-BEFEHLE * ============================================================================ * Touch UI umschalten * Schaltet das Deaktivieren der Touch UI während des Spiels an oder aus. * Die Änderung greift bei der nächsten neu geöffneten Szene * (z. B. beim nächsten Öffnen des Menüs oder beim Map-Wechsel). * * ============================================================================ * Version 1.0.0 - Erste Veröffentlichung * ============================================================================ * * @param disableTouchUI * @text Touch UI deaktivieren * @desc Ist dieser Schalter an, ist die Touch UI beim Spielstart deaktiviert. * @type boolean * @on Deaktiviert * @off Normal * @default true * * @param hideOption * @text Option im Menü verstecken * @desc Entfernt den Eintrag "Touch UI" aus dem Optionsmenue. * @type boolean * @on Verstecken * @off Anzeigen * @default true * * @command setTouchUIDisabled * @text Touch UI umschalten * @desc Aktiviert oder deaktiviert das Deaktivieren der Touch UI. * * @arg disabled * @text Touch UI deaktivieren * @desc An = Touch UI ist deaktiviert. Aus = Touch UI verhält sich normal. * @type boolean * @on Deaktiviert * @off Normal * @default true */ (() => { "use strict"; const PLUGIN_NAME = "RPGVault_DisableTouchUI"; const parameters = PluginManager.parameters(PLUGIN_NAME); const hideOption = parameters["hideOption"] !== "false"; let touchUIDisabled = parameters["disableTouchUI"] !== "false"; //------------------------------------------------------------------------- // Plugin-Befehl //------------------------------------------------------------------------- PluginManager.registerCommand(PLUGIN_NAME, "setTouchUIDisabled", args => { touchUIDisabled = args.disabled !== "false"; }); //------------------------------------------------------------------------- // ConfigManager // touchUI wird als Accessor ersetzt: Der gespeicherte Spielerwert bleibt // erhalten, nach außen wird aber "false" geliefert, solange das Plugin // die Touch UI deaktiviert. //------------------------------------------------------------------------- const descriptor = Object.getOwnPropertyDescriptor(ConfigManager, "touchUI"); let storedTouchUI = descriptor && "value" in descriptor ? !!descriptor.value : true; Object.defineProperty(ConfigManager, "touchUI", { configurable: true, enumerable: true, get() { return touchUIDisabled ? false : storedTouchUI; }, set(value) { storedTouchUI = !!value; } }); const _ConfigManager_makeData = ConfigManager.makeData; ConfigManager.makeData = function() { const config = _ConfigManager_makeData.call(this); config.touchUI = storedTouchUI; return config; }; //------------------------------------------------------------------------- // Window_Options // Entfernt den Eintrag "Touch UI" aus dem Optionsmenue. //------------------------------------------------------------------------- const _Window_Options_addGeneralOptions = Window_Options.prototype.addGeneralOptions; Window_Options.prototype.addGeneralOptions = function() { _Window_Options_addGeneralOptions.call(this); if (hideOption) { this._list = this._list.filter(command => command.symbol !== "touchUI"); } }; })();