PIXI Controls: Initial commit for Edit Mode
This commit is contained in:
parent
aba41086e7
commit
2457c283dd
1 changed files with 200 additions and 102 deletions
|
@ -23,18 +23,7 @@ ONSControls.createCanvas = function() {
|
|||
document.body.appendChild(canvas.view);
|
||||
canvas.view.id = "ControlsCanvas";
|
||||
canvas.view.style.zIndex = this.options.zIndex;
|
||||
canvas.view.style.position = "absolute";
|
||||
canvas.view.style.left = 0;
|
||||
canvas.view.style.right = 0;
|
||||
canvas.view.style.down = 0;
|
||||
canvas.view.style.top = 0;
|
||||
canvas.stage.interactive = true;
|
||||
var idleInterval = setInterval(ONSControls.playIdleAnimation, 60000);
|
||||
canvas.stage.on("pointerdown", () => {
|
||||
this.stopIdleAnimation();
|
||||
clearInterval(idleInterval);
|
||||
idleInterval = setInterval(ONSControls.playIdleAnimation, 60000);
|
||||
})
|
||||
canvas.vh = (persent) => {
|
||||
return canvas.screen.height * persent;
|
||||
}
|
||||
|
@ -51,14 +40,6 @@ ONSControls.createButtons = function() {
|
|||
new PIXI.Sprite.fromImage("js/porting/assets/omori_b_button.png"),
|
||||
new PIXI.Sprite.fromImage("js/porting/assets/omori_y_button.png")
|
||||
]
|
||||
buttons[0].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_A")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_A")});
|
||||
buttons[1].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_X")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_X")});
|
||||
buttons[2].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_B")})
|
||||
.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")});
|
||||
for (btn of buttons) {
|
||||
btn.anchor.set(0.5);
|
||||
btn.hitArea = new PIXI.Circle(0, 0, 40);
|
||||
|
@ -110,24 +91,6 @@ ONSControls.createDPad = function() {
|
|||
ONSControls.sendEvent({type: "pointerup"}, "DPAD_UP");
|
||||
ONSControls.sendEvent({type: "pointerup"}, "DPAD_LEFT");
|
||||
}
|
||||
container.on("pointerup", () => {container.upAll();})
|
||||
container.on("pointerupoutside", () => {container.upAll();})
|
||||
container.on("pointerdown", (event) => {
|
||||
var x = event.data.global.x - this._dPadContainer.x;
|
||||
var y = event.data.global.y - this._dPadContainer.y;
|
||||
container.down(x, y);
|
||||
})
|
||||
container.on("pointermove", (event) => {
|
||||
if (container.pressed) {
|
||||
// DPad pressed, set up button
|
||||
var x = event.data.global.x - this._dPadContainer.x;
|
||||
var y = event.data.global.y - this._dPadContainer.y;
|
||||
container.down(x, y);
|
||||
} else {
|
||||
// DPad not pressed, clear all buttons
|
||||
container.upAll();
|
||||
}
|
||||
})
|
||||
this._controlsCanvas.stage.addChild(container);
|
||||
this._dPadContainer = container;
|
||||
}
|
||||
|
@ -139,12 +102,8 @@ ONSControls.createBumpers = function() {
|
|||
const RBsprite = new PIXI.Sprite.fromImage("js/porting/assets/omori_rb_button.png");
|
||||
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.anchor.set(0.5);
|
||||
RBsprite.interactive = true;
|
||||
RBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
||||
this._controlsCanvas.stage.addChild(LBsprite);
|
||||
this._controlsCanvas.stage.addChild(RBsprite);
|
||||
this._LBsprite = LBsprite;
|
||||
|
@ -157,7 +116,6 @@ ONSControls.createAdditionalButtons = function() {
|
|||
const showButton = new PIXI.Sprite.fromImage("js/porting/assets/omori_show_button.png");
|
||||
showButton.anchor.set(0.5);
|
||||
showButton.interactive = true;
|
||||
showButton.on("pointerdown", this.toggle)
|
||||
this._controlsCanvas.stage.addChild(showButton);
|
||||
this._showButton = showButton;
|
||||
}
|
||||
|
@ -226,6 +184,14 @@ ONSControls.toggle = function() {
|
|||
//=============================================================================
|
||||
ONSControls.updateButtons = function() {
|
||||
|
||||
// Update canvas
|
||||
const canvas = this._controlsCanvas;
|
||||
canvas.view.style.position = "absolute";
|
||||
canvas.view.style.left = 0;
|
||||
canvas.view.style.right = 0;
|
||||
canvas.view.style.down = 0;
|
||||
canvas.view.style.top = 0;
|
||||
|
||||
// Update A/B/X/Y
|
||||
const buttonsSize = ConfigManager.ONSConfig.buttonsSize;
|
||||
const container = this._buttonsContainer;
|
||||
|
@ -272,10 +238,137 @@ ONSControls.updateButtons = function() {
|
|||
showButton.alpha = ConfigManager.ONSConfig.buttonsOpacity;
|
||||
console.log("ONSControls: Controls updated");
|
||||
}
|
||||
//=============================================================================
|
||||
// * Setup controls touch events
|
||||
//=============================================================================
|
||||
ONSControls.setupInteractive = function () {
|
||||
|
||||
// Canvas
|
||||
var idleInterval = setInterval(ONSControls.playIdleAnimation, 60000);
|
||||
this._controlsCanvas.stage.on("pointerdown", () => {
|
||||
this.stopIdleAnimation();
|
||||
clearInterval(idleInterval);
|
||||
idleInterval = setInterval(ONSControls.playIdleAnimation, 60000);
|
||||
});
|
||||
this._idleInterval = idleInterval;
|
||||
|
||||
// A/B/X/Y
|
||||
const buttons = this._buttonsContainer.children;
|
||||
buttons[0].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_A")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_A")});
|
||||
buttons[1].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_X")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_X")});
|
||||
buttons[2].on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_B")})
|
||||
.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")});
|
||||
|
||||
// DPAD
|
||||
const container = this._dPadContainer;
|
||||
container.on("pointerup", () => {container.upAll();})
|
||||
container.on("pointerupoutside", () => {container.upAll();})
|
||||
container.on("pointerdown", (event) => {
|
||||
var x = event.data.global.x - this._dPadContainer.x;
|
||||
var y = event.data.global.y - this._dPadContainer.y;
|
||||
container.down(x, y);
|
||||
})
|
||||
container.on("pointermove", (event) => {
|
||||
if (container.pressed) {
|
||||
// DPad pressed, set up button
|
||||
var x = event.data.global.x - this._dPadContainer.x;
|
||||
var y = event.data.global.y - this._dPadContainer.y;
|
||||
container.down(x, y);
|
||||
} else {
|
||||
// DPad not pressed, clear all buttons
|
||||
container.upAll();
|
||||
}
|
||||
});
|
||||
|
||||
// LB/RB
|
||||
this._LBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_LB")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_LB")});
|
||||
this._RBsprite.on("pointerdown", (event) => {this.sendEvent(event, "BUTTON_RB")})
|
||||
.on("pointerup", (event) => {this.sendEvent(event, "BUTTON_RB")});
|
||||
|
||||
// Show button
|
||||
this._showButton.on("pointerdown", this.toggle);
|
||||
}
|
||||
ONSControls.getControlElements = function() {
|
||||
return [
|
||||
this._dPadContainer, this._LBsprite,
|
||||
this._RBsprite, this._showButton, this._buttonsContainer.children[0],
|
||||
this._buttonsContainer.children[1], this._buttonsContainer.children[2],
|
||||
this._buttonsContainer.children[3]
|
||||
];
|
||||
}
|
||||
//=============================================================================
|
||||
// * Clear all controls touch events
|
||||
//=============================================================================
|
||||
ONSControls.clearInteractive = function() {
|
||||
this._controlsCanvas.stage.removeAllListeners();
|
||||
for (elem of this.getControlElements()) {
|
||||
elem.removeAllListeners();
|
||||
}
|
||||
}
|
||||
//=============================================================================
|
||||
// * Setup drag'n drop events for element
|
||||
//=============================================================================
|
||||
ONSControls.setupDragNDrop = function(element) {
|
||||
var orig_alpha = element.alpha;
|
||||
element.cursor = "pointer";
|
||||
|
||||
var onStart = function(event) {
|
||||
element.alpha = orig_alpha / 2;
|
||||
ONSControls._controlsCanvas.stage.on("pointermove", onMove);
|
||||
}
|
||||
var onMove = function(event) {
|
||||
if (element) {element.parent.toLocal(event.data.global, null, element.position);};
|
||||
}
|
||||
var onEnd = function(event) {
|
||||
if (element) {
|
||||
ONSControls._controlsCanvas.stage.off("pointermove", onMove);
|
||||
element.alpha = orig_alpha;
|
||||
};
|
||||
}
|
||||
|
||||
element.on("pointerdown", onStart);
|
||||
this._controlsCanvas.stage.on("pointerup", onEnd);
|
||||
this._controlsCanvas.stage.on("pointerupoutside", onEnd);
|
||||
}
|
||||
//=============================================================================
|
||||
// * Disable native RPG Maker touch support
|
||||
//=============================================================================
|
||||
ONSControls.disableTouch = function() {
|
||||
TouchInput.update = function() {return;};
|
||||
}
|
||||
//=============================================================================
|
||||
// * Replace default cordova's backbutton event
|
||||
//=============================================================================
|
||||
ONSControls.replaceBackEvent = function() {
|
||||
document.addEventListener("backbutton", function(event){
|
||||
event.preventDefault();
|
||||
this.closeEditMode();
|
||||
});
|
||||
}
|
||||
//=============================================================================
|
||||
// * Open Edit Mode
|
||||
//=============================================================================
|
||||
ONSControls.openEditMode = function() {
|
||||
Graphics._canvas.hidden = true;
|
||||
this.clearInteractive();
|
||||
clearInterval(this._idleInterval);
|
||||
for (elem of this.getControlElements()) {
|
||||
this.setupDragNDrop(elem);
|
||||
}
|
||||
}
|
||||
//=============================================================================
|
||||
// * Close Edit Mode
|
||||
//=============================================================================
|
||||
ONSControls.closeEditMode = function() {
|
||||
Graphics._canvas.hidden = false;
|
||||
this.clearInteractive();
|
||||
this.setupInteractive();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -378,26 +471,24 @@ ONSControls.configManager = function() {
|
|||
ConfigManager.ONSConfig ||= {};
|
||||
ConfigManager.ONSConfig.buttonsScale ||= this.options.buttonsScale;
|
||||
ConfigManager.ONSConfig.buttonsOpacity ||= this.options.buttonsOpacity;
|
||||
ConfigManager.ONSConfig.controlsOffsetX ||= 32;
|
||||
ConfigManager.ONSConfig.controlsOffsetY ||= 16;
|
||||
ConfigManager.ONSConfig.safeArea ||= ONSControls._controlsCanvas.vh(0.032);
|
||||
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.buttonsX ||= ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.buttonsY ||= ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.dPadSize ||= ONSControls._controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.dPadX ||= ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea;
|
||||
ConfigManager.ONSConfig.dPadY ||= ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.bumpersOffsetX ||= 16;
|
||||
ConfigManager.ONSConfig.bumpersOffsetY ||= ONSControls._controlsCanvas.vh(0.30);
|
||||
ConfigManager.ONSConfig.bumpersWidth ||= ONSControls._controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.bumpersHeight ||= ONSControls._controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.LBX ||= ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY ||= (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX ||= ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY ||= (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.additionalOffset ||= ONSControls._controlsCanvas.vh(0.03);
|
||||
ConfigManager.ONSConfig.LBX ||= ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY ||= (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX ||= ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY ||= (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.additonalSize ||= ONSControls._controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.showX ||= ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.showY ||= ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
//=============================================================================
|
||||
// * Restore defaults
|
||||
//=============================================================================
|
||||
|
@ -411,26 +502,24 @@ ConfigManager.restoreDefaultConfig = function () {
|
|||
if (fs.existsSync(base + "config.rpgsave")) { fs.unlinkSync(base + "config.rpgsave"); }
|
||||
ConfigManager.ONSConfig.buttonsScale = this.options.buttonsScale;
|
||||
ConfigManager.ONSConfig.buttonsOpacity = this.options.buttonsOpacity;
|
||||
ConfigManager.ONSConfig.controlsOffsetX = 32;
|
||||
ConfigManager.ONSConfig.controlsOffsetY = 16;
|
||||
ConfigManager.ONSConfig.safeArea = ONSControls._controlsCanvas.vh(0.032);
|
||||
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.buttonsX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.buttonsY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.dPadSize = ONSControls._controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.dPadX = ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea;
|
||||
ConfigManager.ONSConfig.dPadY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.bumpersOffsetX = 16;
|
||||
ConfigManager.ONSConfig.bumpersOffsetY = ONSControls._controlsCanvas.vh(0.30);
|
||||
ConfigManager.ONSConfig.bumpersWidth = ONSControls._controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.bumpersHeight = ONSControls._controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.additionalOffset = ONSControls._controlsCanvas.vh(0.03);
|
||||
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);ConfigManager.ONSConfig.additionalOffset = ONSControls._controlsCanvas.vh(0.03);
|
||||
ConfigManager.ONSConfig.additonalSize = ONSControls._controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.showX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.showY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.applyData(ConfigManager);
|
||||
let needsRestore = confirm(LanguageManager.languageData().text.System.plugins.optionsMenu.alertMessages["restoreGeneral"]);
|
||||
if (!!needsRestore) { DataManager._restoreGlobalInfo(); }
|
||||
|
@ -441,26 +530,24 @@ ConfigManager.restoreDefaultConfig = function () {
|
|||
ConfigManager.ONSConfig.updateData = function() {
|
||||
ConfigManager.ONSConfig.buttonsScale = ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.buttonsOpacity = ConfigManager.ONSConfig.buttonsOpacity;
|
||||
ConfigManager.ONSConfig.controlsOffsetX = ConfigManager.ONSConfig.controlsOffsetX;
|
||||
ConfigManager.ONSConfig.controlsOffsetY = ConfigManager.ONSConfig.controlsOffsetY;
|
||||
ConfigManager.ONSConfig.safeArea = ConfigManager.ONSConfig.safeArea;
|
||||
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.buttonsX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);;
|
||||
ConfigManager.ONSConfig.buttonsY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.buttonsSize + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.dPadSize = ONSControls._controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.dPadX = ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea;
|
||||
ConfigManager.ONSConfig.dPadY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.dPadSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.bumpersOffsetX = ConfigManager.ONSConfig.bumpersOffsetX;
|
||||
ConfigManager.ONSConfig.bumpersOffsetY = ConfigManager.ONSConfig.bumpersOffsetY;
|
||||
ConfigManager.ONSConfig.bumpersWidth = ONSControls._controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.bumpersHeight = ONSControls._controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.buttonsScale;
|
||||
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.additionalOffset = ConfigManager.ONSConfig.additionalOffset;
|
||||
ConfigManager.ONSConfig.LBX = ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersWidth / 2;
|
||||
ConfigManager.ONSConfig.LBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);
|
||||
ConfigManager.ONSConfig.RBX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersOffsetX + ConfigManager.ONSConfig.bumpersWidth / 2);
|
||||
ConfigManager.ONSConfig.RBY = (ConfigManager.ONSConfig.bumpersOffsetY + ConfigManager.ONSConfig.safeArea + ConfigManager.ONSConfig.bumpersHeight / 2);ConfigManager.ONSConfig.additionalOffset = ConfigManager.ONSConfig.additionalOffset;
|
||||
ConfigManager.ONSConfig.additonalSize = ONSControls._controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.buttonsScale;
|
||||
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.showX = ONSControls._controlsCanvas.screen.width - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ConfigManager.ONSConfig.showY = ONSControls._controlsCanvas.screen.height - (ConfigManager.ONSConfig.additonalSize / 2 + ConfigManager.ONSConfig.safeArea);
|
||||
ONSControls.updateButtons();
|
||||
}
|
||||
}
|
||||
|
@ -476,11 +563,9 @@ var _ConfigManager_makeData = ConfigManager.makeData;
|
|||
ConfigManager.makeData = function () {
|
||||
var config = _ConfigManager_makeData.apply(this, arguments);
|
||||
config.ONSConfig = {};
|
||||
config.ONSConfig.controlsOffsetX = this.ONSConfig.controlsOffsetX;
|
||||
config.ONSConfig.controlsOffsetY = this.ONSConfig.controlsOffsetY;
|
||||
config.ONSConfig.buttonsScale = this.ONSConfig.buttonsScale;
|
||||
config.ONSConfig.buttonsOpacity = this.ONSConfig.buttonsOpacity;
|
||||
config.ONSConfig.additionalOffset = this.ONSConfig.additionalOffset;
|
||||
config.ONSConfig.safeArea = this.ONSConfig.safeArea;
|
||||
config.ONSConfig.buttonsSize = this.ONSConfig.buttonsSize;
|
||||
config.ONSConfig.buttonsX = this.ONSConfig.buttonsX;
|
||||
config.ONSConfig.buttonsY = this.ONSConfig.buttonsY;
|
||||
|
@ -495,7 +580,6 @@ ConfigManager.makeData = function () {
|
|||
config.ONSConfig.LBY = this.ONSConfig.LBY;
|
||||
config.ONSConfig.RBX = this.ONSConfig.RBX;
|
||||
config.ONSConfig.RBY = this.ONSConfig.RBY;
|
||||
config.ONSConfig.additionalOffset = this.ONSConfig.additionalOffset;
|
||||
config.ONSConfig.additonalSize = this.ONSConfig.additonalSize;
|
||||
config.ONSConfig.showX = this.ONSConfig.showX;
|
||||
config.ONSConfig.showY = this.ONSConfig.showY;
|
||||
|
@ -509,11 +593,9 @@ ConfigManager.applyData = function (config) {
|
|||
_ConfigManager_applyData.apply(this, arguments);
|
||||
try {
|
||||
this.ONSConfig = config.ONSConfig;
|
||||
this.ONSConfig.controlsOffsetX = config.ONSConfig.controlsOffsetX;
|
||||
this.ONSConfig.controlsOffsetY = config.ONSConfig.controlsOffsetY;
|
||||
this.ONSConfig.buttonsScale = config.ONSConfig.buttonsScale;
|
||||
this.ONSConfig.buttonsOpacity = config.ONSConfig.buttonsOpacity;
|
||||
this.ONSConfig.additionalOffset = config.ONSConfig.additionalOffset;
|
||||
this.ONSConfig.safeArea = config.ONSConfig.safeArea;
|
||||
this.ONSConfig.buttonsSize = config.ONSConfig.buttonsSize;
|
||||
this.ONSConfig.buttonsX = config.ONSConfig.buttonsX;
|
||||
this.ONSConfig.buttonsY = config.ONSConfig.buttonsY;
|
||||
|
@ -528,7 +610,6 @@ ConfigManager.applyData = function (config) {
|
|||
this.ONSConfig.LBY = config.ONSConfig.LBY;
|
||||
this.ONSConfig.RBX = config.ONSConfig.RBX;
|
||||
this.ONSConfig.RBY = config.ONSConfig.RBY;
|
||||
this.ONSConfig.additionalOffset = config.ONSConfig.additionalOffset;
|
||||
this.ONSConfig.additonalSize = config.ONSConfig.additonalSize;
|
||||
this.ONSConfig.showX = config.ONSConfig.showX;
|
||||
this.ONSConfig.showY = config.ONSConfig.showY;
|
||||
|
@ -610,7 +691,7 @@ Window_OmoMenuOptionsONSControls.prototype.createOptionBars = function () {
|
|||
bitmap.fillRect(x, 20, 2, 20, 'rgba(255, 255, 255, 1)');
|
||||
};
|
||||
// Create Sprites
|
||||
for (var i = 0; i < 8; i++) {
|
||||
for (var i = 0; i < 6; i++) {
|
||||
var sprite = new Sprite(bitmap);
|
||||
var index = Math.floor(i / 2);
|
||||
var rect = this.itemRect(index);
|
||||
|
@ -629,10 +710,10 @@ Window_OmoMenuOptionsONSControls.prototype.makeOptionsList = function () {
|
|||
// Get Text
|
||||
//var text = LanguageManager.getPluginText('optionsMenu', 'audio');
|
||||
var text = {
|
||||
buttonsScale: {help: "Изменить размер наэкранных кнопок управления.", text: "РАЗМЕР УПРАВЛЕНИЯ", persent: true, maxValue: 500},
|
||||
buttonsOpacity: {help: "Изменить прозрачность наэкранных кнопок управления.", text: "ПРОЗРАЧНОСТЬ УПРАВЛЕНИЯ", persent: true, maxValue: 100},
|
||||
bumpersOffsetX: {help: "Сместить кнопки LB/RB по X координате.", text: "СМЕЩЕНИЕ LB/RB ПО X", persent: false, maxValue: 500},
|
||||
bumpersOffsetY: {help: "Сместить кнопки LB/RB по Y координате.", text: "СМЕЩЕНИЕ LB/RB ПО Y", persent: false, maxValue: 500}
|
||||
buttonsScale: {help: "Изменить размер наэкранных кнопок управления.", text: "РАЗМЕР УПРАВЛЕНИЯ", isBar: true, persent: true, maxValue: 500},
|
||||
buttonsOpacity: {help: "Изменить прозрачность наэкранных кнопок управления.", text: "ПРОЗРАЧНОСТЬ УПРАВЛЕНИЯ", isBar: true, persent: true, maxValue: 100},
|
||||
safeArea: {help: "Изменить размер безопасной области для управления.", text: "БЕЗОПАСНАЯ ОБЛАСТЬ", isBar: true, persent: false, maxValue: 500},
|
||||
editMenu: {help: "Нажмите кнопку влево или вправо, чтобы открыть меню.", text: "ОТКРЫТЬ МЕНЮ НАСТРОЕК", isBar: false}
|
||||
}
|
||||
// Get Config
|
||||
var config = ConfigManager;
|
||||
|
@ -647,10 +728,14 @@ Window_OmoMenuOptionsONSControls.prototype.makeOptionsList = function () {
|
|||
// Get Data
|
||||
var data = text[name];
|
||||
// Add Option
|
||||
if (data.isBar) {
|
||||
if (data.persent) {
|
||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name] * 100, helpText: data.help, persent: data.persent, maxValue: data.maxValue });
|
||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name] * 100, helpText: data.help, isBar: data.isBar, persent: data.persent, maxValue: data.maxValue });
|
||||
} else {
|
||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name], helpText: data.help, persent: data.persent, maxValue: data.maxValue });
|
||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name], helpText: data.help, isBar: data.isBar, persent: data.persent, maxValue: data.maxValue });
|
||||
}
|
||||
} else {
|
||||
this._optionsList.push({ header: data.text, config: name, helpText: data.help, isBar: data.isBar});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -666,8 +751,11 @@ Window_OmoMenuOptionsONSControls.prototype.drawItem = function (index) {
|
|||
if (data) {
|
||||
// Draw Header
|
||||
this.contents.drawText(data.header, rect.x + 50, rect.y, rect.width, 24);
|
||||
if (!data.isBar) {console.log(this.contents);}
|
||||
// Update option bar
|
||||
if (data.isBar) {
|
||||
this.updateOptionBar(index, data.option, data.persent);
|
||||
}
|
||||
};
|
||||
};
|
||||
//=============================================================================
|
||||
|
@ -693,7 +781,11 @@ Window_OmoMenuOptionsONSControls.prototype.cursorRight = function (wrap) {
|
|||
if (data) {
|
||||
var rate = Input.isLongPressed('right') ? 5 : 5
|
||||
data.option = Math.min(data.option + rate, data.maxValue);
|
||||
if (data.isBar) {
|
||||
this.updateOptionBar(this.index(), data.option, data.persent);
|
||||
} else {
|
||||
ONSControls.openEditMode();
|
||||
}
|
||||
};
|
||||
};
|
||||
//=============================================================================
|
||||
|
@ -708,11 +800,15 @@ Window_OmoMenuOptionsONSControls.prototype.cursorLeft = function (wrap) {
|
|||
if (data) {
|
||||
var rate = Input.isLongPressed('left') ? 5 : 5
|
||||
data.option = Math.max(data.option - rate, 0);
|
||||
if (data.isBar) {
|
||||
this.updateOptionBar(this.index(), data.option, data.persent);
|
||||
} else {
|
||||
ONSControls.openEditMode();
|
||||
}
|
||||
};
|
||||
};
|
||||
//=============================================================================
|
||||
// * Cursor Left
|
||||
// * Update option bar
|
||||
//=============================================================================
|
||||
Window_OmoMenuOptionsONSControls.prototype.updateOptionBar = function (index, option, persent) {
|
||||
// Get Data
|
||||
|
@ -754,7 +850,7 @@ Window_OmoMenuOptionsONSControls.prototype.add = function () {
|
|||
return [this._generalOptionsWindow, this._audioOptionsWindow, this._controlOptionsWindow, this._onscontrolsOptionsWindow, this._systemOptionsWindow]
|
||||
}
|
||||
Scene_OmoriTitleScreen.prototype.createONSControlsOptionsWindow = function () {
|
||||
// Create Audio Options Window
|
||||
// Create ONSControls Options Window
|
||||
this._onscontrolsOptionsWindow = new Window_OmoMenuOptionsONSControls();
|
||||
this._onscontrolsOptionsWindow.setHandler('cancel', this.onOptionWindowCancel.bind(this));
|
||||
this._onscontrolsOptionsWindow.visible = false;
|
||||
|
@ -809,7 +905,9 @@ ONSControls.initialize = function() {
|
|||
this.createBumpers();
|
||||
this.createAdditionalButtons();
|
||||
this.updateButtons();
|
||||
this.setupInteractive();
|
||||
this.disableTouch();
|
||||
this.replaceBackEvent();
|
||||
VirtualGamepad.connect();
|
||||
Window_OmoMenuOptionsONSControls.prototype.add();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue