Started event handling

This commit is contained in:
Pax1601
2023-02-25 18:03:31 +01:00
parent abf5f40020
commit 93b1ac8f81
21 changed files with 140 additions and 310 deletions

View File

@@ -118,8 +118,7 @@ export class Unit {
if ((this.alive || !selected) && this.#selectable && this.#selected != selected) {
this.#selected = selected;
this.#marker.setSelected(selected);
getUnitsManager().onUnitSelection();
document.dispatchEvent(new CustomEvent("unitSelection", {detail: this}));
}
}
@@ -207,11 +206,11 @@ export class Unit {
'Follow'
]
getMap().showSelectionScroll(e.originalEvent, "Action: " + this.unitName, options, (action: string) => this.#executeAction(action));
getMap().showContextMenu(e.originalEvent, "Action: " + this.unitName, options, (action: string) => this.#executeAction(action));
}
#executeAction(action: string) {
getMap().hideSelectionScroll();
getMap().hideContextMenu();
if (action === "Attack")
getUnitsManager().selectedUnitsAttackUnit(this.ID);
}

View File

@@ -13,6 +13,7 @@ export class UnitsManager {
document.addEventListener('copy', () => this.copyUnits());
document.addEventListener('paste', () => this.pasteUnits());
document.addEventListener('unitSelection', () => this.onUnitSelection());
}
#updateUnitControlPanel() {
@@ -98,13 +99,12 @@ export class UnitsManager {
onUnitSelection() {
if (this.getSelectedUnits().length > 0) {
getMap().setState("MOVE_UNIT");
//unitControlPanel.setEnabled(true);
document.dispatchEvent(new CustomEvent("unitsSelection", {detail: this.getSelectedUnits()}));
}
else {
getMap().setState("IDLE");
//unitControlPanel.setEnabled(false);
document.dispatchEvent(new CustomEvent("clearSelection"));
}
this.#updateUnitControlPanel();
}