PIXI Controls: Update parameters with ConfigManager
This commit is contained in:
parent
043164ec38
commit
2a7101bd19
1 changed files with 106 additions and 43 deletions
|
@ -56,22 +56,10 @@ ONSControls.createButtons = function() {
|
|||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_B")});
|
||||
buttons[3].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_Y")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_Y")});
|
||||
var buttonsSize = ConfigManager.ONSConfig.buttonsSize;
|
||||
for (btn of buttons) {
|
||||
btn.anchor.set(0.5);
|
||||
btn.width = buttonsSize;
|
||||
btn.height = buttonsSize;
|
||||
btn.interactive = true;
|
||||
container.addChild(btn);
|
||||
}
|
||||
buttons[0].y = buttonsSize / 2 + buttonsSize / 4;
|
||||
buttons[1].x = -(buttonsSize / 2 + buttonsSize / 4);
|
||||
buttons[2].x = buttonsSize / 2 + buttonsSize / 4;
|
||||
buttons[3].y = -(buttonsSize / 2 + buttonsSize / 4);
|
||||
container.width = buttonsSize * 2;
|
||||
container.height = buttonsSize * 2;
|
||||
container.x = ConfigManager.ONSConfig.buttonsX;
|
||||
container.y = ConfigManager.ONSConfig.buttonsY;
|
||||
this.controlsCanvas.stage.addChild(container);
|
||||
this.ButtonsContainer = container;
|
||||
}
|
||||
|
@ -84,23 +72,11 @@ ONSControls.createDPad = function() {
|
|||
new PIXI.Sprite(), new PIXI.Sprite(),
|
||||
new PIXI.Sprite(), new PIXI.Sprite()
|
||||
]
|
||||
var dPadSize = ConfigManager.ONSConfig.dPadSize;
|
||||
container.width = dPadSize;
|
||||
container.height = dPadSize;
|
||||
container.anchor.set(0.5);
|
||||
container.x = ConfigManager.ONSConfig.dPadX;
|
||||
container.y = ConfigManager.ONSConfig.dPadY;
|
||||
for (elem of directions) {
|
||||
container.addChild(elem);
|
||||
elem.anchor.set(0.5);
|
||||
elem.width = dPadSize / 5.5;
|
||||
elem.height = dPadSize / 5.5;
|
||||
elem.interactive = true;
|
||||
}
|
||||
directions[0].x = directions[0].width;
|
||||
directions[1].y = directions[1].height;
|
||||
directions[2].y = -directions[2].height;
|
||||
directions[3].x = -directions[3].width;
|
||||
directions[0].on("pointerdown", (event) => {this.sendEvent(event, "DPAD_RIGHT")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "DPAD_RIGHT")});
|
||||
directions[1].on("pointerdown", (event) => {this.sendEvent(event, "DPAD_DOWN")})
|
||||
|
@ -118,18 +94,10 @@ ONSControls.createDPad = function() {
|
|||
ONSControls.createBumpers = function() {
|
||||
const LBsprite = new PIXI.Sprite.fromImage("js/porting/assets/omori_lb_button.png");
|
||||
const RBsprite = new PIXI.Sprite.fromImage("js/porting/assets/omori_rb_button.png");
|
||||
LBsprite.x = ConfigManager.ONSConfig.LBX;
|
||||
LBsprite.y = ConfigManager.ONSConfig.LBY;
|
||||
LBsprite.width = ConfigManager.ONSConfig.bumpersWidth;
|
||||
LBsprite.height = ConfigManager.ONSConfig.bumpersHeight;
|
||||
LBsprite.anchor.set(0.5);
|
||||
LBsprite.interactive = true;
|
||||
LBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_LB")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_LB")})
|
||||
RBsprite.x = ConfigManager.ONSConfig.RBX;
|
||||
RBsprite.y = ConfigManager.ONSConfig.RBY;
|
||||
RBsprite.width = ConfigManager.ONSConfig.bumpersWidth;
|
||||
RBsprite.height = ConfigManager.ONSConfig.bumpersHeight;
|
||||
RBsprite.anchor.set(0.5);
|
||||
RBsprite.interactive = true;
|
||||
RBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
||||
|
@ -145,17 +113,9 @@ ONSControls.createBumpers = function() {
|
|||
ONSControls.createAdditionalButtons = function() {
|
||||
const showButton = new PIXI.Sprite.fromImage("js/porting/assets/omori_show_button.png");
|
||||
//const switchButton = new PIXI.Sprite.fromImage("js/porting/assets/omori_switch_button.png");
|
||||
showButton.x = ConfigManager.ONSConfig.showX;
|
||||
showButton.y = ConfigManager.ONSConfig.showY;
|
||||
showButton.width = ConfigManager.ONSConfig.additonalSize;
|
||||
showButton.height = ConfigManager.ONSConfig.additonalSize;
|
||||
showButton.anchor.set(0.5);
|
||||
showButton.interactive = true;
|
||||
showButton.on("pointerdown", this.toggle)
|
||||
// switchButton.x = ConfigManager.ONSConfig.switchX;
|
||||
// switchButton.y = ConfigManager.ONSConfig.switchY;
|
||||
// switchButton.width = ConfigManager.ONSConfig.additonalSize;
|
||||
// switchButton.height = ConfigManager.ONSConfig.additonalSize;
|
||||
// switchButton.anchor.set(0.5);
|
||||
this.controlsCanvas.stage.addChild(showButton);
|
||||
// this.controlsCanvas.stage.addChild(switchButton);
|
||||
|
@ -202,6 +162,72 @@ ONSControls.toggle = function() {
|
|||
}
|
||||
}
|
||||
//=============================================================================
|
||||
// * Update controls parameters
|
||||
//=============================================================================
|
||||
ONSControls.updateButtons = function() {
|
||||
|
||||
// Update A/B/X/Y
|
||||
const buttonsSize = ConfigManager.ONSConfig.buttonsSize;
|
||||
const container = this.ButtonsContainer;
|
||||
const buttons = container.children;
|
||||
for (btn of buttons) {
|
||||
btn.width = buttonsSize;
|
||||
btn.height = buttonsSize;
|
||||
btn.interactive = true;
|
||||
}
|
||||
buttons[0].y = buttonsSize / 2 + buttonsSize / 4;
|
||||
buttons[1].x = -(buttonsSize / 2 + buttonsSize / 4);
|
||||
buttons[2].x = buttonsSize / 2 + buttonsSize / 4;
|
||||
buttons[3].y = -(buttonsSize / 2 + buttonsSize / 4);
|
||||
container.width = buttonsSize * 2;
|
||||
container.height = buttonsSize * 2;
|
||||
container.x = ConfigManager.ONSConfig.buttonsX;
|
||||
container.y = ConfigManager.ONSConfig.buttonsY;
|
||||
|
||||
// Update DPAD
|
||||
const dPadSize = ConfigManager.ONSConfig.dPadSize;
|
||||
const dpadContainer = this.DPadContainer;
|
||||
const directions = dpadContainer.children;
|
||||
dpadContainer.width = dPadSize;
|
||||
dpadContainer.height = dPadSize;
|
||||
dpadContainer.x = ConfigManager.ONSConfig.dPadX;
|
||||
dpadContainer.y = ConfigManager.ONSConfig.dPadY;
|
||||
for (elem of directions) {
|
||||
elem.width = dPadSize / 5.5;
|
||||
elem.height = dPadSize / 5.5;
|
||||
elem.interactive = true;
|
||||
}
|
||||
directions[0].x = directions[0].width;
|
||||
directions[1].y = directions[1].height;
|
||||
directions[2].y = -directions[2].height;
|
||||
directions[3].x = -directions[3].width;
|
||||
|
||||
// Update LB/RB
|
||||
const LBsprite = this.LBsprite
|
||||
const RBsprite = this.RBsprite
|
||||
LBsprite.x = ConfigManager.ONSConfig.LBX;
|
||||
LBsprite.y = ConfigManager.ONSConfig.LBY;
|
||||
LBsprite.width = ConfigManager.ONSConfig.bumpersWidth;
|
||||
LBsprite.height = ConfigManager.ONSConfig.bumpersHeight;
|
||||
RBsprite.x = ConfigManager.ONSConfig.RBX;
|
||||
RBsprite.y = ConfigManager.ONSConfig.RBY;
|
||||
RBsprite.width = ConfigManager.ONSConfig.bumpersWidth;
|
||||
RBsprite.height = ConfigManager.ONSConfig.bumpersHeight;
|
||||
|
||||
// Update additional
|
||||
const showButton = this.ShowButton;
|
||||
// const switchButton = this.switchButton;
|
||||
showButton.x = ConfigManager.ONSConfig.showX;
|
||||
showButton.y = ConfigManager.ONSConfig.showY;
|
||||
showButton.width = ConfigManager.ONSConfig.additonalSize;
|
||||
showButton.height = ConfigManager.ONSConfig.additonalSize;
|
||||
// switchButton.x = ConfigManager.ONSConfig.switchX;
|
||||
// switchButton.y = ConfigManager.ONSConfig.switchY;
|
||||
// switchButton.width = ConfigManager.ONSConfig.additonalSize;
|
||||
// switchButton.height = ConfigManager.ONSConfig.additonalSize;
|
||||
console.log("ONSControls: Controls updated");
|
||||
}
|
||||
//=============================================================================
|
||||
// * Fix controls size on empty screen
|
||||
//=============================================================================
|
||||
document.addEventListener("deviceready", onCordovaDeviceReady, false);
|
||||
|
@ -348,8 +374,9 @@ var ConfigManager_restoreDefaultConfig = ConfigManager.restoreDefaultConfig;
|
|||
//=============================================================================
|
||||
// * Make Data
|
||||
//=============================================================================
|
||||
var _ConfigManager_makeData = ConfigManager.makeData;
|
||||
ConfigManager.makeData = function () {
|
||||
var config = ConfigManager_makeData.call(this);
|
||||
var config = _ConfigManager_makeData.apply(this, arguments);
|
||||
config.ONSConfig = {};
|
||||
config.ONSConfig.controlsOffsetX = this.ONSConfig.controlsOffsetX;
|
||||
config.ONSConfig.controlsOffsetY = this.ONSConfig.controlsOffsetY;
|
||||
|
@ -383,13 +410,14 @@ ConfigManager.makeData = function () {
|
|||
//=============================================================================
|
||||
// * Apply Data
|
||||
//=============================================================================
|
||||
var _ConfigManager_applyData = ConfigManager.applyData;
|
||||
ConfigManager.applyData = function (config) {
|
||||
ConfigManager_applyData.call(this, config);
|
||||
_ConfigManager_applyData.apply(this, arguments);
|
||||
this.ONSConfig.controlsOffsetX = config.ONSConfig.controlsOffsetX;
|
||||
this.ONSConfig.controlsOffsetY = config.ONSConfig.controlsOffsetY;
|
||||
this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale;
|
||||
this.ONSConfig.dPadScale = config.ONSConfig.dPadScale;
|
||||
this.OSConfig.bumpersScale = config.ONSConfig.bumpersScale;
|
||||
this.ONSConfig.bumpersScale = config.ONSConfig.bumpersScale;
|
||||
this.ONSConfig.additionalOffset = config.ONSConfig.additionalOffset;
|
||||
this.ONSConfig.buttonsSize = config.ONSConfig.buttonsSize;
|
||||
this.ONSConfig.buttonsX = config.ONSConfig.buttonsX;
|
||||
|
@ -416,7 +444,9 @@ ConfigManager.applyData = function (config) {
|
|||
//=============================================================================
|
||||
// * Restore defaults
|
||||
//=============================================================================
|
||||
var _ConfigManager_restoreDefaultConfig = ConfigManager.restoreDefaultConfig;
|
||||
ConfigManager.restoreDefaultConfig = function () {
|
||||
_ConfigManager_restoreDefaultConfig.apply(this, arguments);
|
||||
const fs = require("fs");
|
||||
const path = require('path');
|
||||
var base = path.dirname(process.mainModule.filename);
|
||||
|
@ -452,6 +482,38 @@ ConfigManager.restoreDefaultConfig = function () {
|
|||
let needsRestore = confirm(LanguageManager.languageData().text.System.plugins.optionsMenu.alertMessages["restoreGeneral"]);
|
||||
if (!!needsRestore) { DataManager._restoreGlobalInfo(); }
|
||||
}
|
||||
//=============================================================================
|
||||
// * Update all controls data
|
||||
//=============================================================================
|
||||
ConfigManager.ONSConfig.updateData = function() {
|
||||
ConfigManager.ONSConfig.buttonsScale = ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.controlsOffsetX = ConfigManager.ONSConfig.controlsOffsetX;
|
||||
ConfigManager.ONSConfig.controlsOffsetY = ConfigManager.ONSConfig.controlsOffsetY;
|
||||
ConfigManager.ONSConfig.buttonsSize = ONSControls.controlsCanvas.vh(0.18) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.buttonsX = ONSControls.controlsCanvas.screen.width - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.controlsOffsetX);;
|
||||
ConfigManager.ONSConfig.buttonsY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.controlsOffsetY);
|
||||
ConfigManager.ONSConfig.dPadScale = ConfigManager.ONSConfig.dPadScale;
|
||||
ConfigManager.ONSConfig.dPadSize = ONSControls.controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.dPadScale;
|
||||
ConfigManager.ONSConfig.dPadX = ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.controlsOffsetX;
|
||||
ConfigManager.ONSConfig.dPadY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.controlsOffsetY);
|
||||
ConfigManager.ONSConfig.bumpersScale = ConfigManager.ONSConfig.bumpersScale;
|
||||
ConfigManager.ONSConfig.bumpersOffsetX = ConfigManager.ONSConfig.bumpersOffsetX;
|
||||
ConfigManager.ONSConfig.bumpersWidth = ONSControls.controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.bumpersScale;
|
||||
ConfigManager.ONSConfig.bumpersHeight = ONSControls.controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.bumpersScale;
|
||||
ConfigManager.ONSConfig.bumpersOffsetY = ONSControls.controlsCanvas.vh(0.56);
|
||||
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX = ONSControls.controlsCanvas.screen.width - (ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.additionalScale = ConfigManager.ONSConfig.additionalScale;
|
||||
ConfigManager.ONSConfig.additionalOffset = ONSControls.controlsCanvas.vh(0.03);
|
||||
ConfigManager.ONSConfig.additonalSize = ONSControls.controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.additionalScale;
|
||||
ConfigManager.ONSConfig.showX = ONSControls.controlsCanvas.screen.width - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.additionalOffset);
|
||||
ConfigManager.ONSConfig.showY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.additionalOffset);
|
||||
ConfigManager.ONSConfig.switchX = ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.additionalOffset;
|
||||
ConfigManager.ONSConfig.switchY = ONSControls.controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.additionalOffset);
|
||||
ONSControls.updateButtons();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -468,6 +530,7 @@ ONSControls.initialize = function() {
|
|||
this.createDPad();
|
||||
this.createBumpers();
|
||||
this.createAdditionalButtons();
|
||||
this.updateButtons();
|
||||
//this.playIdleAnimation();
|
||||
VirtualGamepad.connect();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue