diff --git a/client/public/stylesheets/markers/units.css b/client/public/stylesheets/markers/units.css index bb1a88ad..06bdbf98 100644 --- a/client/public/stylesheets/markers/units.css +++ b/client/public/stylesheets/markers/units.css @@ -295,6 +295,16 @@ background-image: url("/resources/theme/images/states/no-task.svg"); } +[data-object|="unit"][data-state="off"] .unit-state { + background-image: url("/resources/theme/images/states/off.svg"); +} + + +[data-object|="unit"][data-state="tanker"] .unit-state { + background-image: url("/resources/theme/images/states/tanker.svg"); +} + + /*** Dead unit ***/ [data-object|="unit"][data-is-dead] .unit-selected-spotlight, [data-object|="unit"][data-is-dead] .unit-short-label, diff --git a/client/public/themes/olympus/images/states/off.svg b/client/public/themes/olympus/images/states/off.svg new file mode 100644 index 00000000..d4078418 --- /dev/null +++ b/client/public/themes/olympus/images/states/off.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/client/public/themes/olympus/images/states/tanker.svg b/client/public/themes/olympus/images/states/tanker.svg new file mode 100644 index 00000000..9d4a9fc1 --- /dev/null +++ b/client/public/themes/olympus/images/states/tanker.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + diff --git a/client/src/unit/unit.ts b/client/src/unit/unit.ts index c849c49b..288fbc19 100644 --- a/client/src/unit/unit.ts +++ b/client/src/unit/unit.ts @@ -1002,14 +1002,26 @@ export class Unit extends CustomMarker { element.querySelector(".unit")?.toggleAttribute("data-is-dead", !this.#alive); /* Set current unit state */ - if (this.#human) // Unit is human + if (this.#human) { // Unit is human element.querySelector(".unit")?.setAttribute("data-state", "human"); - else if (!this.#controlled) // Unit is under DCS control (not Olympus) + } + else if (!this.#controlled) { // Unit is under DCS control (not Olympus) element.querySelector(".unit")?.setAttribute("data-state", "dcs"); - else if ((this.getCategory() == "Aircraft" || this.getCategory() == "Helicopter") && !this.#hasTask) + } + else if ((this.getCategory() == "Aircraft" || this.getCategory() == "Helicopter") && !this.#hasTask){ element.querySelector(".unit")?.setAttribute("data-state", "no-task"); - else // Unit is under Olympus control - element.querySelector(".unit")?.setAttribute("data-state", this.#state.toLowerCase()); + } + else { // Unit is under Olympus control + if (this.#onOff) { + if (this.#isTanker) + element.querySelector(".unit")?.setAttribute("data-state", "tanker"); + else + element.querySelector(".unit")?.setAttribute("data-state", this.#state.toLowerCase()); + } + else { + element.querySelector(".unit")?.setAttribute("data-state", "off"); + } + } /* Set altitude and speed */ if (element.querySelector(".unit-altitude"))