globalState.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { Nullable } from "babylonjs/types";
  2. import { Observable } from "babylonjs/Misc/observable";
  3. import { LogEntry } from "./components/log/logComponent";
  4. import { DataStorage } from "babylonjs/Misc/dataStorage";
  5. import { Color4 } from "babylonjs/Maths/math.color";
  6. import { GUINode } from "./diagram/guiNode";
  7. import { WorkbenchComponent } from "./diagram/workbench";
  8. import { AdvancedDynamicTexture } from "babylonjs-gui/2D/advancedDynamicTexture";
  9. import { PropertyChangedEvent } from "./sharedUiComponents/propertyChangedEvent";
  10. export class GlobalState {
  11. guiTexture: AdvancedDynamicTexture;
  12. hostElement: HTMLElement;
  13. hostDocument: HTMLDocument;
  14. hostWindow: Window;
  15. onSelectionChangedObservable = new Observable<Nullable<GUINode>>();
  16. onRebuildRequiredObservable = new Observable<void>();
  17. onBuiltObservable = new Observable<void>();
  18. onResetRequiredObservable = new Observable<void>();
  19. onUpdateRequiredObservable = new Observable<void>();
  20. onReOrganizedRequiredObservable = new Observable<void>();
  21. onLogRequiredObservable = new Observable<LogEntry>();
  22. onErrorMessageDialogRequiredObservable = new Observable<string>();
  23. onIsLoadingChanged = new Observable<boolean>();
  24. onSelectionBoxMoved = new Observable<ClientRect | DOMRect>();
  25. onGuiNodeRemovalObservable = new Observable<GUINode>();
  26. backgroundColor: Color4;
  27. blockKeyboardEvents = false;
  28. controlCamera: boolean;
  29. workbench: WorkbenchComponent;
  30. onPropertyChangedObservable = new Observable<PropertyChangedEvent>();
  31. storeEditorData: (serializationObject: any) => void;
  32. customSave?: { label: string; action: (data: string) => Promise<void> };
  33. public constructor() {
  34. this.controlCamera = DataStorage.ReadBoolean("ControlCamera", true);
  35. let r = DataStorage.ReadNumber("BackgroundColorR", 0.12549019607843137);
  36. let g = DataStorage.ReadNumber("BackgroundColorG", 0.09803921568627451);
  37. let b = DataStorage.ReadNumber("BackgroundColorB", 0.25098039215686274);
  38. this.backgroundColor = new Color4(r, g, b, 1.0);
  39. }
  40. }