mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Added hotgroup
This commit is contained in:
@@ -71,6 +71,9 @@ class ControlTipsPlugin {
|
|||||||
}
|
}
|
||||||
__classPrivateFieldGet(this, _ControlTipsPlugin_instances, "m", _ControlTipsPlugin_updateTips).call(this);
|
__classPrivateFieldGet(this, _ControlTipsPlugin_instances, "m", _ControlTipsPlugin_updateTips).call(this);
|
||||||
});
|
});
|
||||||
|
document.addEventListener("mouseup", (ev) => {
|
||||||
|
__classPrivateFieldGet(this, _ControlTipsPlugin_instances, "m", _ControlTipsPlugin_updateTips).call(this);
|
||||||
|
});
|
||||||
__classPrivateFieldGet(this, _ControlTipsPlugin_instances, "m", _ControlTipsPlugin_updateTips).call(this);
|
__classPrivateFieldGet(this, _ControlTipsPlugin_instances, "m", _ControlTipsPlugin_updateTips).call(this);
|
||||||
__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getMap().addVisibilityOption(SHOW_CONTROL_TIPS, true);
|
__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getMap().addVisibilityOption(SHOW_CONTROL_TIPS, true);
|
||||||
return true;
|
return true;
|
||||||
@@ -135,21 +138,27 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "CTRL+Mouse2",
|
|
||||||
"action": "Add waypoint",
|
|
||||||
"showIfUnitSelected": true,
|
|
||||||
"showIfHoveringOverAirbase": false,
|
|
||||||
"unitsMustBeControlled": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": `Mouse2 (hold)`,
|
"key": `Mouse2 (hold)`,
|
||||||
"action": `Point operations`,
|
"action": `Interact (ground)`,
|
||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"showIfHoveringOverAirbase": false,
|
"showIfHoveringOverAirbase": false,
|
||||||
"showIfHoveringOverUnit": false,
|
"showIfHoveringOverUnit": false,
|
||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": `Shift`,
|
||||||
|
"action": "<em> in formation...</em>",
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"minSelectedUnits": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "CTRL",
|
||||||
|
"action": "<em> ... more</em>",
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"showIfHoveringOverAirbase": false,
|
||||||
|
"unitsMustBeControlled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "CTRL",
|
"key": "CTRL",
|
||||||
"action": " Pin tool",
|
"action": " Pin tool",
|
||||||
@@ -166,18 +175,12 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": `Delete`,
|
"key": `Mouse1`,
|
||||||
"action": `Delete unit`,
|
|
||||||
"showIfHoveringOverAirbase": false,
|
|
||||||
"showIfUnitSelected": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": `mouse1`,
|
|
||||||
"action": "Toggle Blue/Red",
|
"action": "Toggle Blue/Red",
|
||||||
"mouseoverSelector": "#coalition-switch .ol-switch-fill"
|
"mouseoverSelector": "#coalition-switch .ol-switch-fill"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": `mouse2`,
|
"key": `Mouse2`,
|
||||||
"action": "Set Neutral",
|
"action": "Set Neutral",
|
||||||
"mouseoverSelector": "#coalition-switch .ol-switch-fill"
|
"mouseoverSelector": "#coalition-switch .ol-switch-fill"
|
||||||
}
|
}
|
||||||
@@ -204,15 +207,35 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
"key": `Mouse2`,
|
"key": `Mouse2`,
|
||||||
"action": `Add waypoint`,
|
"action": `Add waypoint`,
|
||||||
"showIfHoveringOverAirbase": false,
|
"showIfHoveringOverAirbase": false,
|
||||||
|
"showIfHoveringOverUnit": false,
|
||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": `Mouse2`,
|
"key": `Mouse2`,
|
||||||
"action": `Airbase menu`,
|
"action": `Interact (airbase)`,
|
||||||
"showIfHoveringOverAirbase": true,
|
"showIfHoveringOverAirbase": true,
|
||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": `Mouse2`,
|
||||||
|
"action": `Interact (unit)`,
|
||||||
|
"showIfHoveringOverAirbase": false,
|
||||||
|
"showIfHoveringOverUnit": true,
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"unitsMustBeControlled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": `Shift`,
|
||||||
|
"action": "<em> in formation...</em>",
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"minSelectedUnits": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": `[Num 1-9]`,
|
||||||
|
"action": "Set hotgroup",
|
||||||
|
"showIfUnitSelected": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -220,8 +243,35 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
"keys": ["ShiftLeft"],
|
"keys": ["ShiftLeft"],
|
||||||
"tips": [
|
"tips": [
|
||||||
{
|
{
|
||||||
"key": `mouse1+drag`,
|
"key": `Mouse1+drag`,
|
||||||
"action": "Box select"
|
"action": "Box select",
|
||||||
|
"showIfUnitSelected": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": `Mouse2`,
|
||||||
|
"action": "Set first formation waypoint",
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"minSelectedUnits": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "CTRL",
|
||||||
|
"action": "<em> ... more</em>",
|
||||||
|
"minSelectedUnits": 2,
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"showIfHoveringOverAirbase": false,
|
||||||
|
"unitsMustBeControlled": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"keys": ["ControlLeft", "ShiftLeft"],
|
||||||
|
"tips": [
|
||||||
|
{
|
||||||
|
"key": `Mouse2`,
|
||||||
|
"action": "Add formation waypoint",
|
||||||
|
"showIfUnitSelected": true,
|
||||||
|
"minSelectedUnits": 2,
|
||||||
|
"unitsMustBeControlled": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -230,11 +280,13 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
const element = this.getElement();
|
const element = this.getElement();
|
||||||
element.innerHTML = "";
|
element.innerHTML = "";
|
||||||
let numSelectedUnits = 0;
|
let numSelectedUnits = 0;
|
||||||
|
let numSelectedControlledUnits = 0;
|
||||||
let unitSelectionContainsControlled = false;
|
let unitSelectionContainsControlled = false;
|
||||||
if (__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getUnitsManager()) {
|
if (__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getUnitsManager()) {
|
||||||
let selectedUnits = Object.values(__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getUnitsManager().getSelectedUnits());
|
let selectedUnits = Object.values(__classPrivateFieldGet(this, _ControlTipsPlugin_app, "f").getUnitsManager().getSelectedUnits());
|
||||||
numSelectedUnits = selectedUnits.length;
|
numSelectedUnits = selectedUnits.length;
|
||||||
unitSelectionContainsControlled = selectedUnits.some((unit) => unit.getControlled());
|
numSelectedControlledUnits = selectedUnits.filter((unit) => unit.getControlled()).length;
|
||||||
|
unitSelectionContainsControlled = numSelectedControlledUnits > 0;
|
||||||
}
|
}
|
||||||
const tipsIncludesActiveMouseover = (currentCombo.tips.some((tip) => {
|
const tipsIncludesActiveMouseover = (currentCombo.tips.some((tip) => {
|
||||||
if (!tip.mouseoverSelector) {
|
if (!tip.mouseoverSelector) {
|
||||||
@@ -256,6 +308,9 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
if (tip.unitsMustBeControlled === true && unitSelectionContainsControlled === false) {
|
if (tip.unitsMustBeControlled === true && unitSelectionContainsControlled === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (typeof tip.minSelectedUnits === "number" && numSelectedControlledUnits < tip.minSelectedUnits) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (numSelectedUnits === 0 && tip.showIfUnitSelected === true) {
|
if (numSelectedUnits === 0 && tip.showIfUnitSelected === true) {
|
||||||
return false;
|
return false;
|
||||||
@@ -276,8 +331,6 @@ _ControlTipsPlugin_element = new WeakMap(), _ControlTipsPlugin_app = new WeakMap
|
|||||||
if (!tipsIncludesActiveMouseover && typeof tip.mouseoverSelector === "string") {
|
if (!tipsIncludesActiveMouseover && typeof tip.mouseoverSelector === "string") {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}).forEach((tip) => {
|
|
||||||
element.innerHTML += `<div><span class="key">${tip.key}</span><span class="action">${tip.action}</span></div>`;
|
element.innerHTML += `<div><span class="key">${tip.key}</span><span class="action">${tip.action}</span></div>`;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -234,6 +234,11 @@ export class ControlTipsPlugin implements OlympusPlugin {
|
|||||||
"action": "<em> in formation...</em>",
|
"action": "<em> in formation...</em>",
|
||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"minSelectedUnits": 2
|
"minSelectedUnits": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": `[Num 1-9]`,
|
||||||
|
"action": "Set hotgroup",
|
||||||
|
"showIfUnitSelected": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -258,7 +263,7 @@ export class ControlTipsPlugin implements OlympusPlugin {
|
|||||||
"showIfUnitSelected": true,
|
"showIfUnitSelected": true,
|
||||||
"showIfHoveringOverAirbase": false,
|
"showIfHoveringOverAirbase": false,
|
||||||
"unitsMustBeControlled": true
|
"unitsMustBeControlled": true
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user