mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
feature(drawings): Navpoints settings saved in session data
This commit is contained in:
parent
1262c85802
commit
fca63fb103
@ -60,6 +60,7 @@ export interface SessionData {
|
||||
hotgroups?: { [key: string]: number[] };
|
||||
starredSpawns?: { [key: number]: SpawnRequestTable };
|
||||
drawings?: { [key: string]: { visibility: boolean; opacity: number; name: string; guid: string; containers: any; drawings: any } };
|
||||
navpoints?: { [key: string]: { visibility: boolean; opacity: number; name: string; guid: string; containers: any; drawings: any } };
|
||||
}
|
||||
|
||||
export interface ProfileOptions {
|
||||
|
||||
@ -703,6 +703,7 @@ export class DrawingsManager {
|
||||
#navpointsContainer: DCSDrawingsContainer;
|
||||
#updateEventRequested: boolean = false;
|
||||
#sessionDataDrawings = {};
|
||||
#sessionDataNavpoints = {};
|
||||
#initialized: boolean = false;
|
||||
|
||||
constructor() {
|
||||
@ -717,9 +718,10 @@ export class DrawingsManager {
|
||||
|
||||
SessionDataLoadedEvent.on((sessionData) => {
|
||||
this.#sessionDataDrawings = sessionData.drawings ?? {};
|
||||
this.#sessionDataNavpoints = sessionData.navpoints ?? {};
|
||||
if (this.#initialized) {
|
||||
if (this.#sessionDataDrawings["Mission drawings"]) this.#drawingsContainer.fromJSON(this.#sessionDataDrawings["Mission drawings"]);
|
||||
if (this.#sessionDataDrawings["Navpoints"]) this.#navpointsContainer.fromJSON(this.#sessionDataDrawings["Navpoints"]);
|
||||
if (this.#sessionDataNavpoints["Navpoints"]) this.#navpointsContainer.fromJSON(this.#sessionDataNavpoints["Navpoints"]);
|
||||
}
|
||||
this.#drawingsContainer.setVisibility(getApp().getMap().getOptions().showMissionDrawings);
|
||||
});
|
||||
|
||||
@ -134,8 +134,10 @@ export class SessionDataManager {
|
||||
});
|
||||
|
||||
DrawingsUpdatedEvent.on(() => {
|
||||
let container = getApp().getDrawingsManager().getDrawingsContainer();
|
||||
this.#sessionData.drawings = {"Mission drawings": container.toJSON()};
|
||||
let mainDrawingsContainer = getApp().getDrawingsManager().getDrawingsContainer();
|
||||
let navpointsContainer = getApp().getDrawingsManager().getNavpointsContainer();
|
||||
this.#sessionData.drawings = {"Mission drawings": mainDrawingsContainer.toJSON()};
|
||||
this.#sessionData.navpoints = {"Navpoints": navpointsContainer.toJSON()};
|
||||
this.#saveSessionData();
|
||||
});
|
||||
}, 200);
|
||||
|
||||
@ -308,7 +308,7 @@ export function DrawingMenu(props: { open: boolean; onClose: () => void }) {
|
||||
</span>
|
||||
Navpoints
|
||||
</div>
|
||||
<OlSearchBar onChange={(search) => setSearchString(search)} text={searchString || ""}></OlSearchBar>
|
||||
{/* <OlSearchBar onChange={(search) => setSearchString(search)} text={searchString || ""}></OlSearchBar> */}
|
||||
<div className="flex flex-col gap-2">{navpointsContainer.container && renderDrawingsContainerControls(navpointsContainer.container)}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user