mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Minimal code refactoring
This commit is contained in:
parent
06e1cbeb7e
commit
f544b0afaa
@ -80,7 +80,23 @@ const DEMO_UNIT_DATA = {
|
||||
contacts: [],
|
||||
activePath: [ ],
|
||||
isLeader: false
|
||||
}
|
||||
},
|
||||
["6"]:{ category: "Aircraft", alive: true, human: false, controlled: false, coalition: 1, country: 0, name: "FA-18C_hornet", unitName: "Bad boi 1-2", groupName: "Bad group 1", state: 1, task: "Being bad",
|
||||
hasTask: false, position: { lat: 36.8, lng: -116, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||
formationOffset: { x: 0, y: 0, z: 0 },
|
||||
targetID: 0,
|
||||
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||
ROE: 1,
|
||||
reactionToThreat: 1,
|
||||
emissionsCountermeasures: 1,
|
||||
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||
ammo: [{ quantity: 2, name: "A cool missile", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||
contacts: [{ID: 1, detectionMethod: 16}],
|
||||
activePath: [ ]
|
||||
},
|
||||
}
|
||||
|
||||
const DEMO_WEAPONS_DATA = {
|
||||
|
||||
@ -121,18 +121,15 @@ export class UnitControlPanel extends Panel {
|
||||
button.classList.add("pill", "highlight-coalition")
|
||||
|
||||
button.addEventListener("click", ( ev:MouseEventInit ) => {
|
||||
|
||||
// Ctrl-click deselection
|
||||
if ( ev.ctrlKey === true && ev.shiftKey === false && ev.altKey === false ) {
|
||||
getUnitsManager().deselectUnit( unit.ID );
|
||||
button.remove();
|
||||
|
||||
// Deselect all
|
||||
} else {
|
||||
getUnitsManager().deselectAllUnits();
|
||||
getUnitsManager().selectUnit(unit.ID, true);
|
||||
}
|
||||
|
||||
});
|
||||
return (button);
|
||||
}));
|
||||
|
||||
@ -708,28 +708,15 @@ export class Unit extends CustomMarker {
|
||||
#onClick(e: any) {
|
||||
if (!this.#preventClick) {
|
||||
if (getMap().getState() === IDLE || getMap().getState() === MOVE_UNIT || e.originalEvent.ctrlKey) {
|
||||
|
||||
if (!e.originalEvent.ctrlKey) {
|
||||
if (!e.originalEvent.ctrlKey)
|
||||
getUnitsManager().deselectAllUnits();
|
||||
}
|
||||
|
||||
const unitIsSelected = !this.getSelected();
|
||||
|
||||
this.setSelected( unitIsSelected );
|
||||
|
||||
|
||||
// Tell everyone a unit (de-)selection has happened, usually a panel or something.
|
||||
|
||||
const detail = {
|
||||
"detail": this
|
||||
};
|
||||
|
||||
if ( unitIsSelected ) {
|
||||
document.dispatchEvent( new CustomEvent( "unitSelection", detail ) );
|
||||
this.setSelected( !this.getSelected() );
|
||||
if ( this.getSelected() ) {
|
||||
document.dispatchEvent( new CustomEvent( "unitSelection", { "detail": this }));
|
||||
} else {
|
||||
document.dispatchEvent( new CustomEvent( "unitDeselection", detail ) );
|
||||
document.dispatchEvent( new CustomEvent( "unitDeselection", { "detail": this }));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -197,13 +197,11 @@ export class UnitsManager {
|
||||
}
|
||||
|
||||
deselectUnit( ID:number ) {
|
||||
|
||||
if ( this.#units.hasOwnProperty( ID ) ) {
|
||||
this.#units[ID].setSelected(false);
|
||||
} else {
|
||||
console.error( `deselectUnit(): no unit found with ID "${ID}".` );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
selectUnitsByHotgroup(hotgroup: number) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user