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")});
|
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_B")});
|
||||||
buttons[3].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_Y")})
|
buttons[3].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_Y")})
|
||||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_Y")});
|
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_Y")});
|
||||||
var buttonsSize = ConfigManager.ONSConfig.buttonsSize;
|
|
||||||
for (btn of buttons) {
|
for (btn of buttons) {
|
||||||
btn.anchor.set(0.5);
|
btn.anchor.set(0.5);
|
||||||
btn.width = buttonsSize;
|
|
||||||
btn.height = buttonsSize;
|
|
||||||
btn.interactive = true;
|
|
||||||
container.addChild(btn);
|
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.controlsCanvas.stage.addChild(container);
|
||||||
this.ButtonsContainer = container;
|
this.ButtonsContainer = container;
|
||||||
}
|
}
|
||||||
|
@ -84,23 +72,11 @@ ONSControls.createDPad = function() {
|
||||||
new PIXI.Sprite(), new PIXI.Sprite(),
|
new PIXI.Sprite(), new PIXI.Sprite(),
|
||||||
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.anchor.set(0.5);
|
||||||
container.x = ConfigManager.ONSConfig.dPadX;
|
|
||||||
container.y = ConfigManager.ONSConfig.dPadY;
|
|
||||||
for (elem of directions) {
|
for (elem of directions) {
|
||||||
container.addChild(elem);
|
container.addChild(elem);
|
||||||
elem.anchor.set(0.5);
|
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")})
|
directions[0].on("pointerdown", (event) => {this.sendEvent(event, "DPAD_RIGHT")})
|
||||||
.on("pointerup", (event) => {this.sendEvent(event, "DPAD_RIGHT")});
|
.on("pointerup", (event) => {this.sendEvent(event, "DPAD_RIGHT")});
|
||||||
directions[1].on("pointerdown", (event) => {this.sendEvent(event, "DPAD_DOWN")})
|
directions[1].on("pointerdown", (event) => {this.sendEvent(event, "DPAD_DOWN")})
|
||||||
|
@ -118,18 +94,10 @@ ONSControls.createDPad = function() {
|
||||||
ONSControls.createBumpers = function() {
|
ONSControls.createBumpers = function() {
|
||||||
const LBsprite = new PIXI.Sprite.fromImage("js/porting/assets/omori_lb_button.png");
|
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");
|
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.anchor.set(0.5);
|
||||||
LBsprite.interactive = true;
|
LBsprite.interactive = true;
|
||||||
LBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_LB")})
|
LBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_LB")})
|
||||||
.on("pointerup", (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.anchor.set(0.5);
|
||||||
RBsprite.interactive = true;
|
RBsprite.interactive = true;
|
||||||
RBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
RBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
||||||
|
@ -145,17 +113,9 @@ ONSControls.createBumpers = function() {
|
||||||
ONSControls.createAdditionalButtons = function() {
|
ONSControls.createAdditionalButtons = function() {
|
||||||
const showButton = new PIXI.Sprite.fromImage("js/porting/assets/omori_show_button.png");
|
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");
|
//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.anchor.set(0.5);
|
||||||
showButton.interactive = true;
|
showButton.interactive = true;
|
||||||
showButton.on("pointerdown", this.toggle)
|
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);
|
// switchButton.anchor.set(0.5);
|
||||||
this.controlsCanvas.stage.addChild(showButton);
|
this.controlsCanvas.stage.addChild(showButton);
|
||||||
// this.controlsCanvas.stage.addChild(switchButton);
|
// 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
|
// * Fix controls size on empty screen
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
document.addEventListener("deviceready", onCordovaDeviceReady, false);
|
document.addEventListener("deviceready", onCordovaDeviceReady, false);
|
||||||
|
@ -348,8 +374,9 @@ var ConfigManager_restoreDefaultConfig = ConfigManager.restoreDefaultConfig;
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// * Make Data
|
// * Make Data
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
var _ConfigManager_makeData = ConfigManager.makeData;
|
||||||
ConfigManager.makeData = function () {
|
ConfigManager.makeData = function () {
|
||||||
var config = ConfigManager_makeData.call(this);
|
var config = _ConfigManager_makeData.apply(this, arguments);
|
||||||
config.ONSConfig = {};
|
config.ONSConfig = {};
|
||||||
config.ONSConfig.controlsOffsetX = this.ONSConfig.controlsOffsetX;
|
config.ONSConfig.controlsOffsetX = this.ONSConfig.controlsOffsetX;
|
||||||
config.ONSConfig.controlsOffsetY = this.ONSConfig.controlsOffsetY;
|
config.ONSConfig.controlsOffsetY = this.ONSConfig.controlsOffsetY;
|
||||||
|
@ -383,13 +410,14 @@ ConfigManager.makeData = function () {
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// * Apply Data
|
// * Apply Data
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
var _ConfigManager_applyData = ConfigManager.applyData;
|
||||||
ConfigManager.applyData = function (config) {
|
ConfigManager.applyData = function (config) {
|
||||||
ConfigManager_applyData.call(this, config);
|
_ConfigManager_applyData.apply(this, arguments);
|
||||||
this.ONSConfig.controlsOffsetX = config.ONSConfig.controlsOffsetX;
|
this.ONSConfig.controlsOffsetX = config.ONSConfig.controlsOffsetX;
|
||||||
this.ONSConfig.controlsOffsetY = config.ONSConfig.controlsOffsetY;
|
this.ONSConfig.controlsOffsetY = config.ONSConfig.controlsOffsetY;
|
||||||
this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale;
|
this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale;
|
||||||
this.ONSConfig.dPadScale = config.ONSConfig.dPadScale;
|
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.additionalOffset = config.ONSConfig.additionalOffset;
|
||||||
this.ONSConfig.buttonsSize = config.ONSConfig.buttonsSize;
|
this.ONSConfig.buttonsSize = config.ONSConfig.buttonsSize;
|
||||||
this.ONSConfig.buttonsX = config.ONSConfig.buttonsX;
|
this.ONSConfig.buttonsX = config.ONSConfig.buttonsX;
|
||||||
|
@ -416,7 +444,9 @@ ConfigManager.applyData = function (config) {
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// * Restore defaults
|
// * Restore defaults
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
var _ConfigManager_restoreDefaultConfig = ConfigManager.restoreDefaultConfig;
|
||||||
ConfigManager.restoreDefaultConfig = function () {
|
ConfigManager.restoreDefaultConfig = function () {
|
||||||
|
_ConfigManager_restoreDefaultConfig.apply(this, arguments);
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
var base = path.dirname(process.mainModule.filename);
|
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"]);
|
let needsRestore = confirm(LanguageManager.languageData().text.System.plugins.optionsMenu.alertMessages["restoreGeneral"]);
|
||||||
if (!!needsRestore) { DataManager._restoreGlobalInfo(); }
|
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.createDPad();
|
||||||
this.createBumpers();
|
this.createBumpers();
|
||||||
this.createAdditionalButtons();
|
this.createAdditionalButtons();
|
||||||
|
this.updateButtons();
|
||||||
//this.playIdleAnimation();
|
//this.playIdleAnimation();
|
||||||
VirtualGamepad.connect();
|
VirtualGamepad.connect();
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue