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:
@@ -60,6 +60,7 @@ export interface SessionData {
|
|||||||
hotgroups?: { [key: string]: number[] };
|
hotgroups?: { [key: string]: number[] };
|
||||||
starredSpawns?: { [key: number]: SpawnRequestTable };
|
starredSpawns?: { [key: number]: SpawnRequestTable };
|
||||||
drawings?: { [key: string]: { visibility: boolean; opacity: number; name: string; guid: string; containers: any; drawings: any } };
|
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 {
|
export interface ProfileOptions {
|
||||||
|
|||||||
@@ -703,6 +703,7 @@ export class DrawingsManager {
|
|||||||
#navpointsContainer: DCSDrawingsContainer;
|
#navpointsContainer: DCSDrawingsContainer;
|
||||||
#updateEventRequested: boolean = false;
|
#updateEventRequested: boolean = false;
|
||||||
#sessionDataDrawings = {};
|
#sessionDataDrawings = {};
|
||||||
|
#sessionDataNavpoints = {};
|
||||||
#initialized: boolean = false;
|
#initialized: boolean = false;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -717,9 +718,10 @@ export class DrawingsManager {
|
|||||||
|
|
||||||
SessionDataLoadedEvent.on((sessionData) => {
|
SessionDataLoadedEvent.on((sessionData) => {
|
||||||
this.#sessionDataDrawings = sessionData.drawings ?? {};
|
this.#sessionDataDrawings = sessionData.drawings ?? {};
|
||||||
|
this.#sessionDataNavpoints = sessionData.navpoints ?? {};
|
||||||
if (this.#initialized) {
|
if (this.#initialized) {
|
||||||
if (this.#sessionDataDrawings["Mission drawings"]) this.#drawingsContainer.fromJSON(this.#sessionDataDrawings["Mission drawings"]);
|
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);
|
this.#drawingsContainer.setVisibility(getApp().getMap().getOptions().showMissionDrawings);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -134,8 +134,10 @@ export class SessionDataManager {
|
|||||||
});
|
});
|
||||||
|
|
||||||
DrawingsUpdatedEvent.on(() => {
|
DrawingsUpdatedEvent.on(() => {
|
||||||
let container = getApp().getDrawingsManager().getDrawingsContainer();
|
let mainDrawingsContainer = getApp().getDrawingsManager().getDrawingsContainer();
|
||||||
this.#sessionData.drawings = {"Mission drawings": container.toJSON()};
|
let navpointsContainer = getApp().getDrawingsManager().getNavpointsContainer();
|
||||||
|
this.#sessionData.drawings = {"Mission drawings": mainDrawingsContainer.toJSON()};
|
||||||
|
this.#sessionData.navpoints = {"Navpoints": navpointsContainer.toJSON()};
|
||||||
this.#saveSessionData();
|
this.#saveSessionData();
|
||||||
});
|
});
|
||||||
}, 200);
|
}, 200);
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ export function DrawingMenu(props: { open: boolean; onClose: () => void }) {
|
|||||||
</span>
|
</span>
|
||||||
Navpoints
|
Navpoints
|
||||||
</div>
|
</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 className="flex flex-col gap-2">{navpointsContainer.container && renderDrawingsContainerControls(navpointsContainer.container)}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user