Merge branch 'main' into 296-create-airbases-api

This commit is contained in:
PeekabooSteam
2023-05-29 13:44:14 +01:00
committed by GitHub
7 changed files with 17 additions and 9 deletions

View File

@@ -97,6 +97,7 @@ function readConfig(config: any) {
}
function setupEvents() {
/* Generic clicks */
document.addEventListener("click", (ev) => {
if (ev instanceof MouseEvent && ev.target instanceof HTMLElement) {

View File

@@ -9,7 +9,6 @@ export class MissionHandler
#airbases : {[name: string]: Airbase} = {};
#theatre : string = "";
#airbaseData : { [name: string]: object } = {};
// Time
@@ -20,7 +19,6 @@ export class MissionHandler
#updateTime : any;
constructor()
{

View File

@@ -511,7 +511,6 @@ export class Unit extends CustomMarker {
}
delete() {
// TODO: add confirmation popup
deleteUnit(this.ID);
}

View File

@@ -20,7 +20,7 @@ export class UnitsManager {
document.addEventListener('paste', () => this.pasteUnits());
document.addEventListener('unitSelection', (e: CustomEvent) => this.#onUnitSelection(e.detail));
document.addEventListener('unitDeselection', (e: CustomEvent) => this.#onUnitDeselection(e.detail));
document.addEventListener('keydown', (event) => this.#onKeyDown(event));
document.addEventListener('keyup', (event) => this.#onKeyUp(event));
document.addEventListener('deleteSelectedUnits', () => this.selectedUnitsDelete())
}
@@ -426,9 +426,18 @@ export class UnitsManager {
}
/***********************************************/
#onKeyDown(event: KeyboardEvent) {
if (!keyEventWasInInput(event) && event.key === "Delete") {
this.selectedUnitsDelete();
#onKeyUp(event: KeyboardEvent) {
if (!keyEventWasInInput(event) && event.key === "Delete" ) {
const selectedUnits = this.getSelectedUnits();
const selectionContainsAHuman = selectedUnits.some( ( unit:Unit ) => {
return unit.getMissionData().flags.Human === true;
});
if ( !selectionContainsAHuman || confirm( "Your selection includes a human player. Deleting humans causes their vehicle to crash.\n\nAre you sure you want to do this?" ) ) {
this.selectedUnitsDelete();
}
}
}