PIXI Controls: Save custom button position

This commit is contained in:
OleSTEEP 2024-02-15 23:52:51 +03:00
parent 18e9ef4914
commit ff890a2894

View file

@ -349,7 +349,10 @@ ONSControls.setupDragNDrop = function(element) {
ONSControls._controlsCanvas.stage.on("pointermove", onMove); ONSControls._controlsCanvas.stage.on("pointermove", onMove);
} }
var onMove = function(event) { var onMove = function(event) {
if (element) {element.parent.toLocal(event.data.global, null, element.position);}; if (element) {
element.parent.toLocal(event.data.global, null, element.position);
ConfigManager.ONSConfig.customPos = true;
};
} }
var onEnd = function(event) { var onEnd = function(event) {
if (element) { if (element) {
@ -377,6 +380,21 @@ ONSControls.replaceBackEvent = function() {
}); });
} }
//============================================================================= //=============================================================================
// * Save buttons position to config
//=============================================================================
ONSControls.saveButtonsPosition = function() {
ConfigManager.ONSConfig.buttonsX = this._buttonsContainer.x;
ConfigManager.ONSConfig.buttonsY = this._buttonsContainer.y;
ConfigManager.ONSConfig.dPadX = this._dPadContainer.x;
ConfigManager.ONSConfig.dPadY = this._dPadContainer.y;
ConfigManager.ONSConfig.LBX = this._LBsprite.x;
ConfigManager.ONSConfig.LBY = this._LBsprite.y;
ConfigManager.ONSConfig.RBX = this._RBsprite.x;
ConfigManager.ONSConfig.RBY = this._RBsprite.y;
ConfigManager.ONSConfig.showX = this._showButton.x;
ConfigManager.ONSConfig.showY = this._showButton.y;
}
//=============================================================================
// * Open Edit Mode // * Open Edit Mode
//============================================================================= //=============================================================================
ONSControls.openEditMode = function() { ONSControls.openEditMode = function() {
@ -401,6 +419,7 @@ ONSControls.closeEditMode = function() {
Graphics._canvas.hidden = false; Graphics._canvas.hidden = false;
this.clearInteractive(); this.clearInteractive();
this.setupInteractive(); this.setupInteractive();
this.saveButtonsPosition();
} }
@ -512,6 +531,7 @@ ONSControls.configManager = function() {
// * Class Variables // * Class Variables
//============================================================================= //=============================================================================
ConfigManager.ONSConfig ||= {}; ConfigManager.ONSConfig ||= {};
ConfigManager.ONSConfig.customPos ||= false;
ConfigManager.ONSConfig.buttonsScale ||= this.options.buttonsScale; ConfigManager.ONSConfig.buttonsScale ||= this.options.buttonsScale;
ConfigManager.ONSConfig.buttonsOpacity ||= this.options.buttonsOpacity; ConfigManager.ONSConfig.buttonsOpacity ||= this.options.buttonsOpacity;
ConfigManager.ONSConfig.safeArea ||= ONSControls._controlsCanvas.vh(0.032); ConfigManager.ONSConfig.safeArea ||= ONSControls._controlsCanvas.vh(0.032);
@ -543,6 +563,7 @@ ConfigManager.restoreDefaultConfig = function () {
var base = path.dirname(process.mainModule.filename); var base = path.dirname(process.mainModule.filename);
base = path.join(base, 'save/'); base = path.join(base, 'save/');
if (fs.existsSync(base + "config.rpgsave")) { fs.unlinkSync(base + "config.rpgsave"); } if (fs.existsSync(base + "config.rpgsave")) { fs.unlinkSync(base + "config.rpgsave"); }
this.ONSConfig.customPos = false;
this.ONSConfig.buttonsScale = ONSControls.options.buttonsScale; this.ONSConfig.buttonsScale = ONSControls.options.buttonsScale;
this.ONSConfig.buttonsOpacity = ONSControls.options.buttonsOpacity; this.ONSConfig.buttonsOpacity = ONSControls.options.buttonsOpacity;
this.ONSConfig.safeArea = ONSControls._controlsCanvas.vh(0.032); this.ONSConfig.safeArea = ONSControls._controlsCanvas.vh(0.032);
@ -574,26 +595,30 @@ ConfigManager.restoreDefaultConfig = function () {
// * Update all controls data // * Update all controls data
//============================================================================= //=============================================================================
ConfigManager.ONSConfig.updateData = function() { ConfigManager.ONSConfig.updateData = function() {
ConfigManager.ONSConfig.buttonsScale = ConfigManager.ONSConfig.buttonsScale; this.customPos = this.customPos;
ConfigManager.ONSConfig.buttonsOpacity = ConfigManager.ONSConfig.buttonsOpacity; this.buttonsScale = this.buttonsScale;
ConfigManager.ONSConfig.safeArea = ConfigManager.ONSConfig.safeArea; this.buttonsOpacity = this.buttonsOpacity;
ConfigManager.ONSConfig.buttonsSize = ONSControls._controlsCanvas.vh(0.18) * ConfigManager.ONSConfig.buttonsScale; this.safeArea = this.safeArea;
ConfigManager.ONSConfig.buttonsX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);; this.buttonsSize = ONSControls._controlsCanvas.vh(0.18) * this.buttonsScale;
ConfigManager.ONSConfig.buttonsY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea); this.dPadSize = ONSControls._controlsCanvas.vh(0.36) * this.buttonsScale;
ConfigManager.ONSConfig.dPadSize = ONSControls._controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.buttonsScale; this.bumpersOffsetX = this.bumpersOffsetX;
ConfigManager.ONSConfig.dPadX = ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea; this.bumpersOffsetY = this.bumpersOffsetY;
ConfigManager.ONSConfig.dPadY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea); this.bumpersWidth = ONSControls._controlsCanvas.vh(0.188) * this.buttonsScale;
ConfigManager.ONSConfig.bumpersOffsetX = ConfigManager.ONSConfig.bumpersOffsetX; this.bumpersHeight = ONSControls._controlsCanvas.vh(0.12) * this.buttonsScale;
ConfigManager.ONSConfig.bumpersOffsetY = ConfigManager.ONSConfig.bumpersOffsetY; this.additonalSize = ONSControls._controlsCanvas.vh(0.06) * this.buttonsScale;
ConfigManager.ONSConfig.bumpersWidth = ONSControls._controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.buttonsScale; if (this.customPos === false) {
ConfigManager.ONSConfig.bumpersHeight = ONSControls._controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.buttonsScale; this.buttonsX = ONSControls._controlsCanvas.screen.width - (this.buttonsSize + this.safeArea);
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersWidth / 2; this.buttonsY = ONSControls._controlsCanvas.screen.height - (this.buttonsSize + this.safeArea);
ConfigManager.ONSConfig.LBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2); this.dPadX = this.dPadSize / 2 + this.safeArea;
ConfigManager.ONSConfig.RBX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2); this.dPadY = ONSControls._controlsCanvas.screen.height - (this.dPadSize / 2 + this.safeArea);
ConfigManager.ONSConfig.RBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);ConfigManager.ONSConfig.additionalOffset = ConfigManager.ONSConfig.additionalOffset; this.LBX = this.bumpersOffsetX + this.safeArea + this.bumpersWidth / 2;
ConfigManager.ONSConfig.additonalSize = ONSControls._controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.buttonsScale; this.LBY = (this.bumpersOffsetY + this.safeArea + this.bumpersHeight / 2);
ConfigManager.ONSConfig.showX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea); this.RBX = ONSControls._controlsCanvas.screen.width - (this.safeArea + this.bumpersOffsetX + this.bumpersWidth / 2);
ConfigManager.ONSConfig.showY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea); this.RBY = (this.bumpersOffsetY + this.safeArea + this.bumpersHeight / 2);
this.additionalOffset = this.additionalOffset;
this.showX = ONSControls._controlsCanvas.screen.width - (this.additonalSize / 2 + this.safeArea);
this.showY = ONSControls._controlsCanvas.screen.height - (this.additonalSize / 2 + this.safeArea);
}
ONSControls.updateButtons(); ONSControls.updateButtons();
} }
} }
@ -609,6 +634,7 @@ var _ConfigManager_makeData = ConfigManager.makeData;
ConfigManager.makeData = function () { ConfigManager.makeData = function () {
var config = _ConfigManager_makeData.apply(this, arguments); var config = _ConfigManager_makeData.apply(this, arguments);
config.ONSConfig = {}; config.ONSConfig = {};
config.ONSConfig.customPos = this.ONSConfig.customPos;
config.ONSConfig.buttonsScale = this.ONSConfig.buttonsScale; config.ONSConfig.buttonsScale = this.ONSConfig.buttonsScale;
config.ONSConfig.buttonsOpacity = this.ONSConfig.buttonsOpacity; config.ONSConfig.buttonsOpacity = this.ONSConfig.buttonsOpacity;
config.ONSConfig.safeArea = this.ONSConfig.safeArea; config.ONSConfig.safeArea = this.ONSConfig.safeArea;
@ -639,6 +665,7 @@ ConfigManager.applyData = function (config) {
_ConfigManager_applyData.apply(this, arguments); _ConfigManager_applyData.apply(this, arguments);
try { try {
this.ONSConfig = config.ONSConfig; this.ONSConfig = config.ONSConfig;
this.ONSConfig.customPos = config.ONSConfig.customPos;
this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale; this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale;
this.ONSConfig.buttonsOpacity = config.ONSConfig.buttonsOpacity; this.ONSConfig.buttonsOpacity = config.ONSConfig.buttonsOpacity;
this.ONSConfig.safeArea = config.ONSConfig.safeArea; this.ONSConfig.safeArea = config.ONSConfig.safeArea;