@flashist/appframework 0.0.50 → 0.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/app/AppModule.d.ts +2 -1
  2. package/app/AppModule.js +13 -13
  3. package/app/AppModule.js.map +1 -1
  4. package/app/commands/LoadAppConfigCommand.js +8 -8
  5. package/app/commands/LoadAppConfigCommand.js.map +1 -1
  6. package/app/commands/ParseStaticItemsConfigCommand.js +10 -5
  7. package/app/commands/ParseStaticItemsConfigCommand.js.map +1 -1
  8. package/app/data/{IAppModelStorageVO.d.ts → local-storage/IAppModelLocalStorageVO.d.ts} +1 -1
  9. package/app/data/local-storage/IAppModelLocalStorageVO.js +2 -0
  10. package/app/data/local-storage/IAppModelLocalStorageVO.js.map +1 -0
  11. package/app/data/state/AppModuleState.d.ts +19 -0
  12. package/app/data/state/AppModuleState.js +23 -0
  13. package/app/data/state/AppModuleState.js.map +1 -0
  14. package/app/managers/AppManager.d.ts +8 -7
  15. package/app/managers/AppManager.js +26 -14
  16. package/app/managers/AppManager.js.map +1 -1
  17. package/debug/DebugModule.js +8 -5
  18. package/debug/DebugModule.js.map +1 -1
  19. package/debug/data/state/DebugModuleState.d.ts +7 -0
  20. package/debug/data/state/DebugModuleState.js +10 -0
  21. package/debug/data/state/DebugModuleState.js.map +1 -0
  22. package/device/DeviceModule.d.ts +0 -1
  23. package/device/DeviceModule.js +4 -8
  24. package/device/DeviceModule.js.map +1 -1
  25. package/device/data/state/DeviceModuleState.d.ts +4 -0
  26. package/device/data/state/DeviceModuleState.js +5 -0
  27. package/device/data/state/DeviceModuleState.js.map +1 -0
  28. package/{assets/AssetsModule.d.ts → ecs/ECSModule.d.ts} +1 -1
  29. package/{assets/AssetsModule.js → ecs/ECSModule.js} +13 -9
  30. package/ecs/ECSModule.js.map +1 -0
  31. package/ecs/data/state/ECSModuleState.d.ts +6 -0
  32. package/ecs/data/state/ECSModuleState.js +8 -0
  33. package/ecs/data/state/ECSModuleState.js.map +1 -0
  34. package/ecs/ecs/components/IComponent.d.ts +3 -0
  35. package/ecs/ecs/components/IComponent.js +2 -0
  36. package/ecs/ecs/components/IComponent.js.map +1 -0
  37. package/ecs/ecs/entities/IEntity.d.ts +8 -0
  38. package/ecs/ecs/entities/IEntity.js +2 -0
  39. package/ecs/ecs/entities/IEntity.js.map +1 -0
  40. package/ecs/ecs/entities/queries/EntitiesQuery.d.ts +11 -0
  41. package/ecs/ecs/entities/queries/EntitiesQuery.js +52 -0
  42. package/ecs/ecs/entities/queries/EntitiesQuery.js.map +1 -0
  43. package/ecs/ecs/entities/queries/EntitiesQueryEvent.d.ts +4 -0
  44. package/ecs/ecs/entities/queries/EntitiesQueryEvent.js +5 -0
  45. package/ecs/ecs/entities/queries/EntitiesQueryEvent.js.map +1 -0
  46. package/ecs/ecs/systems/System.d.ts +16 -0
  47. package/ecs/ecs/systems/System.js +53 -0
  48. package/ecs/ecs/systems/System.js.map +1 -0
  49. package/ecs/managers/ECSManager.d.ts +38 -0
  50. package/ecs/managers/ECSManager.js +169 -0
  51. package/ecs/managers/ECSManager.js.map +1 -0
  52. package/ecs-rendermodule/ECSRenderModule.d.ts +5 -0
  53. package/{dependencies/DependenciesModule.js → ecs-rendermodule/ECSRenderModule.js} +17 -10
  54. package/ecs-rendermodule/ECSRenderModule.js.map +1 -0
  55. package/ecs-rendermodule/data/RenderModuleRootContainerId.d.ts +1 -0
  56. package/ecs-rendermodule/data/RenderModuleRootContainerId.js +2 -0
  57. package/ecs-rendermodule/data/RenderModuleRootContainerId.js.map +1 -0
  58. package/ecs-rendermodule/ecs/components/RenderComponent.d.ts +7 -0
  59. package/ecs-rendermodule/ecs/components/RenderComponent.js +6 -0
  60. package/ecs-rendermodule/ecs/components/RenderComponent.js.map +1 -0
  61. package/ecs-rendermodule/ecs/systems/RenderSystem.d.ts +11 -0
  62. package/ecs-rendermodule/ecs/systems/RenderSystem.js +44 -0
  63. package/ecs-rendermodule/ecs/systems/RenderSystem.js.map +1 -0
  64. package/facade/Facade.d.ts +0 -2
  65. package/facade/Facade.js +12 -12
  66. package/facade/Facade.js.map +1 -1
  67. package/init/commands/InitApplicationCommand.js +3 -3
  68. package/init/commands/InitApplicationCommand.js.map +1 -1
  69. package/init/events/{InitApplicationEvents.d.ts → InitApplicationEvent.d.ts} +0 -0
  70. package/init/events/{InitApplicationEvents.js → InitApplicationEvent.js} +1 -1
  71. package/init/events/InitApplicationEvent.js.map +1 -0
  72. package/{dependencies/DependenciesModule.d.ts → local-storage/LocalStorageModule.d.ts} +1 -1
  73. package/{storage/StorageModule.js → local-storage/LocalStorageModule.js} +9 -9
  74. package/local-storage/LocalStorageModule.js.map +1 -0
  75. package/local-storage/LocalStorageModuleConfig.d.ts +3 -0
  76. package/local-storage/LocalStorageModuleConfig.js +4 -0
  77. package/local-storage/LocalStorageModuleConfig.js.map +1 -0
  78. package/{storage/managers/StorageManager.d.ts → local-storage/managers/LocalStorageManager.d.ts} +1 -1
  79. package/{storage/managers/StorageManager.js → local-storage/managers/LocalStorageManager.js} +17 -17
  80. package/local-storage/managers/LocalStorageManager.js.map +1 -0
  81. package/locales/commands/ParseLocaleConfigCommand.js +5 -4
  82. package/locales/commands/ParseLocaleConfigCommand.js.map +1 -1
  83. package/package.json +3 -3
  84. package/pages/PagesModule.js +10 -3
  85. package/pages/PagesModule.js.map +1 -1
  86. package/pages/commands/ChangePageCommand.d.ts +0 -2
  87. package/pages/commands/ChangePageCommand.js +3 -4
  88. package/pages/commands/ChangePageCommand.js.map +1 -1
  89. package/pages/data/state/PagesModuleStateType.d.ts +10 -0
  90. package/pages/data/state/PagesModuleStateType.js +7 -0
  91. package/pages/data/state/PagesModuleStateType.js.map +1 -0
  92. package/pages/views/BasePageView.d.ts +2 -2
  93. package/pages/views/BasePageView.js +12 -7
  94. package/pages/views/BasePageView.js.map +1 -1
  95. package/pages/views/PagesMediator.d.ts +6 -0
  96. package/{app/models/AppModel.js → pages/views/PagesMediator.js} +15 -16
  97. package/pages/views/PagesMediator.js.map +1 -0
  98. package/pages/views/PagesView.d.ts +1 -4
  99. package/pages/views/PagesView.js +35 -16
  100. package/pages/views/PagesView.js.map +1 -1
  101. package/preloader-page/data/PreloaderPageId.d.ts +1 -0
  102. package/preloader-page/data/PreloaderPageId.js +2 -0
  103. package/preloader-page/data/PreloaderPageId.js.map +1 -0
  104. package/sounds/managers/SoundsStorageManager.d.ts +2 -2
  105. package/sounds/managers/SoundsStorageManager.js +2 -2
  106. package/sounds/managers/SoundsStorageManager.js.map +1 -1
  107. package/state/AppStateModule.d.ts +46 -0
  108. package/state/AppStateModule.js +81 -0
  109. package/state/AppStateModule.js.map +1 -0
  110. package/state/data/AppStateStorage.d.ts +20 -0
  111. package/state/data/AppStateStorage.js +143 -0
  112. package/state/data/AppStateStorage.js.map +1 -0
  113. package/state/data/DeepKeyTypings.d.ts +25 -0
  114. package/state/data/DeepKeyTypings.js +144 -0
  115. package/state/data/DeepKeyTypings.js.map +1 -0
  116. package/state/data/DeepReadableTypings.d.ts +7 -0
  117. package/state/data/DeepReadableTypings.js +3 -0
  118. package/state/data/DeepReadableTypings.js.map +1 -0
  119. package/state/data/IPreChangeHook.d.ts +4 -0
  120. package/state/data/IPreChangeHook.js +2 -0
  121. package/state/data/IPreChangeHook.js.map +1 -0
  122. package/state/tools/AppStateDeepKeyTools.d.ts +4 -0
  123. package/state/tools/AppStateDeepKeyTools.js +25 -0
  124. package/state/tools/AppStateDeepKeyTools.js.map +1 -0
  125. package/state/tools/AppStateEventChangeTools.d.ts +3 -0
  126. package/state/tools/AppStateEventChangeTools.js +13 -0
  127. package/state/tools/AppStateEventChangeTools.js.map +1 -0
  128. package/state/tools/INestedPathHelperVO.d.ts +4 -0
  129. package/state/tools/INestedPathHelperVO.js +2 -0
  130. package/state/tools/INestedPathHelperVO.js.map +1 -0
  131. package/time/TimeModule.js +5 -2
  132. package/time/TimeModule.js.map +1 -1
  133. package/time/data/state/TimeModuleAppStateType.d.ts +8 -0
  134. package/time/data/state/TimeModuleAppStateType.js +8 -0
  135. package/time/data/state/TimeModuleAppStateType.js.map +1 -0
  136. package/time/managers/TimeManager.d.ts +5 -3
  137. package/time/managers/TimeManager.js +8 -5
  138. package/time/managers/TimeManager.js.map +1 -1
  139. package/app/data/AppConfigType.d.ts +0 -1
  140. package/app/data/AppConfigType.js +0 -2
  141. package/app/data/AppConfigType.js.map +0 -1
  142. package/app/data/AppConfigVO.d.ts +0 -11
  143. package/app/data/AppConfigVO.js +0 -27
  144. package/app/data/AppConfigVO.js.map +0 -1
  145. package/app/data/IAppModelStorageVO.js +0 -2
  146. package/app/data/IAppModelStorageVO.js.map +0 -1
  147. package/app/data/IItemsConfigVO.d.ts +0 -4
  148. package/app/data/IItemsConfigVO.js +0 -2
  149. package/app/data/IItemsConfigVO.js.map +0 -1
  150. package/app/models/AppConfigModel.d.ts +0 -6
  151. package/app/models/AppConfigModel.js +0 -37
  152. package/app/models/AppConfigModel.js.map +0 -1
  153. package/app/models/AppModel.d.ts +0 -8
  154. package/app/models/AppModel.js.map +0 -1
  155. package/assets/AssetsModule.js.map +0 -1
  156. package/assets/data/IAssetsConfigVO.d.ts +0 -4
  157. package/assets/data/IAssetsConfigVO.js +0 -2
  158. package/assets/data/IAssetsConfigVO.js.map +0 -1
  159. package/assets/models/AssetsModel.d.ts +0 -3
  160. package/assets/models/AssetsModel.js +0 -25
  161. package/assets/models/AssetsModel.js.map +0 -1
  162. package/base/models/BaseAppGenericObjectsModel.d.ts +0 -7
  163. package/base/models/BaseAppGenericObjectsModel.js +0 -54
  164. package/base/models/BaseAppGenericObjectsModel.js.map +0 -1
  165. package/data/IAppGenericObjectVO.d.ts +0 -4
  166. package/data/IAppGenericObjectVO.js +0 -2
  167. package/data/IAppGenericObjectVO.js.map +0 -1
  168. package/debug/data/DefaultDebugModuleConfigVO.d.ts +0 -5
  169. package/debug/data/DefaultDebugModuleConfigVO.js +0 -12
  170. package/debug/data/DefaultDebugModuleConfigVO.js.map +0 -1
  171. package/debug/data/IDebugModuleConfigVO.d.ts +0 -4
  172. package/debug/data/IDebugModuleConfigVO.js +0 -2
  173. package/debug/data/IDebugModuleConfigVO.js.map +0 -1
  174. package/dependencies/DependenciesModule.js.map +0 -1
  175. package/device/models/DeviceInfoModel.d.ts +0 -5
  176. package/device/models/DeviceInfoModel.js +0 -25
  177. package/device/models/DeviceInfoModel.js.map +0 -1
  178. package/index.d.ts +0 -26
  179. package/index.js +0 -27
  180. package/index.js.map +0 -1
  181. package/init/events/InitApplicationEvents.js.map +0 -1
  182. package/pages/PageId.d.ts +0 -4
  183. package/pages/PageId.js +0 -5
  184. package/pages/PageId.js.map +0 -1
  185. package/pages/models/PagesModel.d.ts +0 -11
  186. package/pages/models/PagesModel.js +0 -49
  187. package/pages/models/PagesModel.js.map +0 -1
  188. package/pages/models/PagesModelEvent.d.ts +0 -3
  189. package/pages/models/PagesModelEvent.js +0 -4
  190. package/pages/models/PagesModelEvent.js.map +0 -1
  191. package/storage/StorageModule.d.ts +0 -4
  192. package/storage/StorageModule.js.map +0 -1
  193. package/storage/StorageModuleConfig.d.ts +0 -3
  194. package/storage/StorageModuleConfig.js +0 -4
  195. package/storage/StorageModuleConfig.js.map +0 -1
  196. package/storage/managers/StorageManager.js.map +0 -1
  197. package/time/models/TimeModel.d.ts +0 -11
  198. package/time/models/TimeModel.js +0 -59
  199. package/time/models/TimeModel.js.map +0 -1
  200. package/time/models/TimeModelEvent.d.ts +0 -3
  201. package/time/models/TimeModelEvent.js +0 -4
  202. package/time/models/TimeModelEvent.js.map +0 -1
@@ -0,0 +1,52 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { ArrayTools, BaseObject } from "@flashist/fcore";
17
+ import { EntitiesQueryEvent } from "./EntitiesQueryEvent";
18
+ var EntitiesQuery = /** @class */ (function (_super) {
19
+ __extends(EntitiesQuery, _super);
20
+ function EntitiesQuery(includeTypes, excludeTypes) {
21
+ if (excludeTypes === void 0) { excludeTypes = []; }
22
+ var _this = _super.call(this) || this;
23
+ _this.includeTypes = includeTypes;
24
+ _this.excludeTypes = excludeTypes;
25
+ _this._entities = [];
26
+ return _this;
27
+ }
28
+ Object.defineProperty(EntitiesQuery.prototype, "entities", {
29
+ get: function () {
30
+ return this._entities;
31
+ },
32
+ enumerable: false,
33
+ configurable: true
34
+ });
35
+ EntitiesQuery.prototype.addEntity = function (entity) {
36
+ if (this._entities.indexOf(entity) !== -1) {
37
+ return;
38
+ }
39
+ this._entities.push(entity);
40
+ this.dispatchEvent(EntitiesQueryEvent.ENTITY_ADDED, entity);
41
+ };
42
+ EntitiesQuery.prototype.removeEntity = function (entity) {
43
+ if (this._entities.indexOf(entity) === -1) {
44
+ return;
45
+ }
46
+ ArrayTools.removeItem(this._entities, entity);
47
+ this.dispatchEvent(EntitiesQueryEvent.ENTITY_REMOVED, entity);
48
+ };
49
+ return EntitiesQuery;
50
+ }(BaseObject));
51
+ export { EntitiesQuery };
52
+ //# sourceMappingURL=EntitiesQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitiesQuery.js","sourceRoot":"","sources":["../../../../../src/ecs/ecs/entities/queries/EntitiesQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;IAAyE,iCAAU;IAI/E,uBAAmB,YAAsB,EAAS,YAA2B;QAA3B,6BAAA,EAAA,iBAA2B;QAA7E,YACI,iBAAO,SACV;QAFkB,kBAAY,GAAZ,YAAY,CAAU;QAAS,kBAAY,GAAZ,YAAY,CAAe;QAFnE,eAAS,GAAiB,EAAE,CAAC;;IAIvC,CAAC;IAED,sBAAW,mCAAQ;aAAnB;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAEM,iCAAS,GAAhB,UAAiB,MAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACvC,OAAO;SACV;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAEM,oCAAY,GAAnB,UAAoB,MAAkB;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACvC,OAAO;SACV;QAED,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IACL,oBAAC;AAAD,CAAC,AA/BD,CAAyE,UAAU,GA+BlF"}
@@ -0,0 +1,4 @@
1
+ export declare const EntitiesQueryEvent: {
2
+ ENTITY_ADDED: string;
3
+ ENTITY_REMOVED: string;
4
+ };
@@ -0,0 +1,5 @@
1
+ export var EntitiesQueryEvent = {
2
+ ENTITY_ADDED: "EntitiesQueryEvent.ENTITY_ADDED",
3
+ ENTITY_REMOVED: "EntitiesQueryEvent.ENTITY_REMOVED"
4
+ };
5
+ //# sourceMappingURL=EntitiesQueryEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitiesQueryEvent.js","sourceRoot":"","sources":["../../../../../src/ecs/ecs/entities/queries/EntitiesQueryEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAC9B,YAAY,EAAE,iCAAiC;IAC/C,cAAc,EAAE,mCAAmC;CACtD,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { BaseObject } from "@flashist/fcore";
2
+ import { ECSManager } from "../../managers/ECSManager";
3
+ import { IEntity } from "../entities/IEntity";
4
+ import { EntitiesQuery } from "../entities/queries/EntitiesQuery";
5
+ export declare abstract class System<EntityType extends IEntity = IEntity> extends BaseObject {
6
+ protected ecsManager: ECSManager;
7
+ protected query: EntitiesQuery<EntityType>;
8
+ protected includeTypes: string[];
9
+ protected excludeTypes: string[];
10
+ constructor(includeTypes: string[], excludeTypes?: string[]);
11
+ protected construction(includeTypes: string[], excludeTypes?: string[]): void;
12
+ protected addListeners(): void;
13
+ protected onEntityAdded(entity: EntityType): void;
14
+ protected onEntityRemoved(entity: EntityType): void;
15
+ update(timeDelta: number): void;
16
+ }
@@ -0,0 +1,53 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { BaseObject } from "@flashist/fcore";
17
+ import { getInstance } from "@flashist/flibs";
18
+ import { ECSManager } from "../../managers/ECSManager";
19
+ import { EntitiesQueryEvent } from "../entities/queries/EntitiesQueryEvent";
20
+ var System = /** @class */ (function (_super) {
21
+ __extends(System, _super);
22
+ function System(includeTypes, excludeTypes) {
23
+ if (excludeTypes === void 0) { excludeTypes = []; }
24
+ var _this = _super.call(this, includeTypes, excludeTypes) || this;
25
+ _this.ecsManager = getInstance(ECSManager);
26
+ return _this;
27
+ }
28
+ System.prototype.construction = function (includeTypes, excludeTypes) {
29
+ if (excludeTypes === void 0) { excludeTypes = []; }
30
+ _super.prototype.construction.call(this);
31
+ this.ecsManager = getInstance(ECSManager);
32
+ this.includeTypes = includeTypes;
33
+ this.excludeTypes = excludeTypes;
34
+ this.query = this.ecsManager.queries.get(this.includeTypes, this.excludeTypes);
35
+ };
36
+ System.prototype.addListeners = function () {
37
+ _super.prototype.addListeners.call(this);
38
+ this.eventListenerHelper.addEventListener(this.query, EntitiesQueryEvent.ENTITY_ADDED, this.onEntityAdded);
39
+ this.eventListenerHelper.addEventListener(this.query, EntitiesQueryEvent.ENTITY_REMOVED, this.onEntityRemoved);
40
+ };
41
+ System.prototype.onEntityAdded = function (entity) {
42
+ // TODO: implement in subclasses when needed
43
+ };
44
+ System.prototype.onEntityRemoved = function (entity) {
45
+ // TODO: implement in subclasses when needed
46
+ };
47
+ System.prototype.update = function (timeDelta) {
48
+ // TODO: implement in subclasses when needed
49
+ };
50
+ return System;
51
+ }(BaseObject));
52
+ export { System };
53
+ //# sourceMappingURL=System.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"System.js","sourceRoot":"","sources":["../../../../src/ecs/ecs/systems/System.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E;IAA2E,0BAAU;IASjF,gBAAY,YAAsB,EAAE,YAA2B;QAA3B,6BAAA,EAAA,iBAA2B;QAA/D,YACI,kBAAM,YAAY,EAAE,YAAY,CAAC,SACpC;QATS,gBAAU,GAAe,WAAW,CAAC,UAAU,CAAC,CAAC;;IAS3D,CAAC;IAES,6BAAY,GAAtB,UAAuB,YAAsB,EAAE,YAA2B;QAA3B,6BAAA,EAAA,iBAA2B;QACtE,iBAAM,YAAY,WAAE,CAAC;QAErB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAa,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/F,CAAC;IAES,6BAAY,GAAtB;QACI,iBAAM,YAAY,WAAE,CAAC;QAErB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACrC,IAAI,CAAC,KAAK,EACV,kBAAkB,CAAC,YAAY,EAC/B,IAAI,CAAC,aAAa,CACrB,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACrC,IAAI,CAAC,KAAK,EACV,kBAAkB,CAAC,cAAc,EACjC,IAAI,CAAC,eAAe,CACvB,CAAC;IACN,CAAC;IAES,8BAAa,GAAvB,UAAwB,MAAkB;QACtC,4CAA4C;IAChD,CAAC;IAES,gCAAe,GAAzB,UAA0B,MAAkB;QACxC,4CAA4C;IAChD,CAAC;IAEM,uBAAM,GAAb,UAAc,SAAiB;QAC3B,4CAA4C;IAChD,CAAC;IACL,aAAC;AAAD,CAAC,AAnDD,CAA2E,UAAU,GAmDpF"}
@@ -0,0 +1,38 @@
1
+ import { BaseAppManager } from "../../base/managers/BaseAppManager";
2
+ import { TimeModuleAppStateType } from "../../time/data/state/TimeModuleAppStateType";
3
+ import { IComponent } from "../ecs/components/IComponent";
4
+ import { EntityWithoutId, IEntity } from "../ecs/entities/IEntity";
5
+ import { EntitiesQuery } from "../ecs/entities/queries/EntitiesQuery";
6
+ import { System } from "../ecs/systems/System";
7
+ export declare class ECSManager extends BaseAppManager {
8
+ protected entitiesList: IEntity[];
9
+ protected queriesToTypesMap: {
10
+ [includeTypesSortedKey: string]: {
11
+ [excludeTypesSortedKey: string]: EntitiesQuery;
12
+ };
13
+ };
14
+ protected queriesList: EntitiesQuery[];
15
+ protected systemsList: System[];
16
+ protected appState: TimeModuleAppStateType;
17
+ protected entitiesUniquePoolId: string;
18
+ protected construction(...args: any[]): void;
19
+ protected addListeners(): void;
20
+ protected onTimeDeltaChange(): void;
21
+ entities: {
22
+ create: (entity: EntityWithoutId) => IEntity;
23
+ add: (entity: IEntity) => void;
24
+ remove: (entity: IEntity) => void;
25
+ addComponents: (entity: IEntity, ...components: IComponent[]) => void;
26
+ removeComponents: (entity: IEntity, ...componentTypes: string[]) => void;
27
+ };
28
+ queries: {
29
+ get: <EntityType extends IEntity<IComponent>>(includeTypes: string[], excludeTypes: string[]) => EntitiesQuery<EntityType>;
30
+ };
31
+ protected addEntityToQueries(entity: IEntity): void;
32
+ protected removeEntityFromAllQueries(entity: IEntity): void;
33
+ protected updateAllQueriesForEntity(entity: IEntity): void;
34
+ systems: {
35
+ add: (system: System) => void;
36
+ };
37
+ update(timeDelta: number): void;
38
+ }
@@ -0,0 +1,169 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ import { ArrayTools, UniqueTools } from "@flashist/fcore";
28
+ import { BaseAppManager } from "../../base/managers/BaseAppManager";
29
+ import { appStateChangeEvent, appStorage } from "../../state/AppStateModule";
30
+ import { EntitiesQuery } from "../ecs/entities/queries/EntitiesQuery";
31
+ var ECSManager = /** @class */ (function (_super) {
32
+ __extends(ECSManager, _super);
33
+ function ECSManager() {
34
+ var _this = _super !== null && _super.apply(this, arguments) || this;
35
+ _this.entitiesList = [];
36
+ _this.queriesToTypesMap = {};
37
+ _this.queriesList = [];
38
+ _this.systemsList = [];
39
+ _this.entitiesUniquePoolId = "ecsEntitiesUniquePool";
40
+ _this.entities = {
41
+ create: function (entity) {
42
+ var result = __assign(__assign({}, entity), { id: UniqueTools.getUniqueIdForPool(_this.entitiesUniquePoolId) });
43
+ _this.entities.add(result);
44
+ return result;
45
+ },
46
+ add: function (entity) {
47
+ if (_this.entitiesList.indexOf(entity) !== -1) {
48
+ return;
49
+ }
50
+ _this.entitiesList.push(entity);
51
+ _this.addEntityToQueries(entity);
52
+ },
53
+ remove: function (entity) {
54
+ ArrayTools.removeItem(_this.entitiesList, entity);
55
+ _this.removeEntityFromAllQueries(entity);
56
+ },
57
+ addComponents: function (entity) {
58
+ var components = [];
59
+ for (var _i = 1; _i < arguments.length; _i++) {
60
+ components[_i - 1] = arguments[_i];
61
+ }
62
+ for (var _a = 0, components_1 = components; _a < components_1.length; _a++) {
63
+ var singleComponent = components_1[_a];
64
+ entity.components[singleComponent.type] = singleComponent;
65
+ }
66
+ _this.updateAllQueriesForEntity(entity);
67
+ },
68
+ removeComponents: function (entity) {
69
+ var componentTypes = [];
70
+ for (var _i = 1; _i < arguments.length; _i++) {
71
+ componentTypes[_i - 1] = arguments[_i];
72
+ }
73
+ for (var _a = 0, componentTypes_1 = componentTypes; _a < componentTypes_1.length; _a++) {
74
+ var singleComponentType = componentTypes_1[_a];
75
+ delete entity.components[singleComponentType];
76
+ }
77
+ _this.updateAllQueriesForEntity(entity);
78
+ }
79
+ };
80
+ _this.queries = {
81
+ get: function (includeTypes, excludeTypes) {
82
+ var _a;
83
+ var includeTypesSortedKey = includeTypes.concat().sort().join();
84
+ var excludeTypesSortedKey = excludeTypes.concat().sort().join();
85
+ var result = (_a = _this.queriesToTypesMap[includeTypesSortedKey]) === null || _a === void 0 ? void 0 : _a[excludeTypesSortedKey];
86
+ if (!result) {
87
+ result = new EntitiesQuery(includeTypes, excludeTypes);
88
+ if (!_this.queriesToTypesMap[includeTypesSortedKey]) {
89
+ _this.queriesToTypesMap[includeTypesSortedKey] = {};
90
+ }
91
+ _this.queriesToTypesMap[includeTypesSortedKey][excludeTypesSortedKey] = result;
92
+ _this.queriesList.push(result);
93
+ }
94
+ return result;
95
+ }
96
+ };
97
+ _this.systems = {
98
+ add: function (system) {
99
+ if (_this.systemsList.indexOf(system) !== -1) {
100
+ return;
101
+ }
102
+ _this.systemsList.push(system);
103
+ }
104
+ };
105
+ return _this;
106
+ }
107
+ ECSManager.prototype.construction = function () {
108
+ var args = [];
109
+ for (var _i = 0; _i < arguments.length; _i++) {
110
+ args[_i] = arguments[_i];
111
+ }
112
+ _super.prototype.construction.apply(this, args);
113
+ this.appState = appStorage().getState();
114
+ };
115
+ ECSManager.prototype.addListeners = function () {
116
+ _super.prototype.addListeners.call(this);
117
+ this.eventListenerHelper.addEventListener(this.globalDispatcher, appStateChangeEvent()("timeModule.lastDeltaTime"), this.onTimeDeltaChange);
118
+ };
119
+ ECSManager.prototype.onTimeDeltaChange = function () {
120
+ this.update(this.appState.timeModule.lastDeltaTime);
121
+ };
122
+ ECSManager.prototype.addEntityToQueries = function (entity) {
123
+ for (var _i = 0, _a = this.queriesList; _i < _a.length; _i++) {
124
+ var singleQuery = _a[_i];
125
+ if (singleQuery.entities.indexOf(entity) === -1) {
126
+ var hasAllIncludeTypes = true;
127
+ for (var _b = 0, _c = singleQuery.includeTypes; _b < _c.length; _b++) {
128
+ var singleQueryIncludeType = _c[_b];
129
+ if (!entity.components[singleQueryIncludeType]) {
130
+ hasAllIncludeTypes = false;
131
+ break;
132
+ }
133
+ }
134
+ var hasAnyExcludeTypes = false;
135
+ if (hasAllIncludeTypes) {
136
+ for (var _d = 0, _e = singleQuery.excludeTypes; _d < _e.length; _d++) {
137
+ var singleQueryExcludeType = _e[_d];
138
+ if (entity.components[singleQueryExcludeType]) {
139
+ hasAnyExcludeTypes = true;
140
+ break;
141
+ }
142
+ }
143
+ }
144
+ if (hasAllIncludeTypes && !hasAnyExcludeTypes) {
145
+ singleQuery.addEntity(entity);
146
+ }
147
+ }
148
+ }
149
+ };
150
+ ECSManager.prototype.removeEntityFromAllQueries = function (entity) {
151
+ for (var _i = 0, _a = this.queriesList; _i < _a.length; _i++) {
152
+ var singleQuery = _a[_i];
153
+ singleQuery.removeEntity(entity);
154
+ }
155
+ };
156
+ ECSManager.prototype.updateAllQueriesForEntity = function (entity) {
157
+ this.removeEntityFromAllQueries(entity);
158
+ this.addEntityToQueries(entity);
159
+ };
160
+ ECSManager.prototype.update = function (timeDelta) {
161
+ for (var _i = 0, _a = this.systemsList; _i < _a.length; _i++) {
162
+ var singleSystem = _a[_i];
163
+ singleSystem.update(timeDelta);
164
+ }
165
+ };
166
+ return ECSManager;
167
+ }(BaseAppManager));
168
+ export { ECSManager };
169
+ //# sourceMappingURL=ECSManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BaseAppModule } from "../base/modules/BaseAppModule";
2
+ export declare class ECSRenderModule extends BaseAppModule {
3
+ init(): void;
4
+ activateCompleteHook(): void;
5
+ }
@@ -13,19 +13,26 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
- import { GenericObjectsByTypeModel, serviceLocatorAdd } from "@flashist/flibs";
16
+ import { getInstance, serviceLocatorAdd } from "@flashist/flibs";
17
17
  import { BaseAppModule } from "../base/modules/BaseAppModule";
18
- var DependenciesModule = /** @class */ (function (_super) {
19
- __extends(DependenciesModule, _super);
20
- function DependenciesModule() {
18
+ import { ECSManager } from "../ecs/managers/ECSManager";
19
+ import { RenderSystem } from "./ecs/systems/RenderSystem";
20
+ var ECSRenderModule = /** @class */ (function (_super) {
21
+ __extends(ECSRenderModule, _super);
22
+ function ECSRenderModule() {
21
23
  return _super !== null && _super.apply(this, arguments) || this;
22
24
  }
23
- DependenciesModule.prototype.init = function () {
25
+ ECSRenderModule.prototype.init = function () {
24
26
  _super.prototype.init.call(this);
25
- // Modules
26
- serviceLocatorAdd(GenericObjectsByTypeModel, { isSingleton: true });
27
+ //
28
+ serviceLocatorAdd(RenderSystem, { isSingleton: true });
27
29
  };
28
- return DependenciesModule;
30
+ ECSRenderModule.prototype.activateCompleteHook = function () {
31
+ _super.prototype.activateCompleteHook.call(this);
32
+ var system = getInstance(RenderSystem);
33
+ getInstance(ECSManager).systems.add(system);
34
+ };
35
+ return ECSRenderModule;
29
36
  }(BaseAppModule));
30
- export { DependenciesModule };
31
- //# sourceMappingURL=DependenciesModule.js.map
37
+ export { ECSRenderModule };
38
+ //# sourceMappingURL=ECSRenderModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSRenderModule.js","sourceRoot":"","sources":["../../src/ecs-rendermodule/ECSRenderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;IAAqC,mCAAa;IAAlD;;IAeA,CAAC;IAbG,8BAAI,GAAJ;QACI,iBAAM,IAAI,WAAE,CAAC;QAEb,EAAE;QACF,iBAAiB,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,8CAAoB,GAApB;QACI,iBAAM,oBAAoB,WAAE,CAAC;QAE7B,IAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QACzC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACL,sBAAC;AAAD,CAAC,AAfD,CAAqC,aAAa,GAejD"}
@@ -0,0 +1 @@
1
+ export declare const RenderModuleRootContainerId = "renderRootContainer";
@@ -0,0 +1,2 @@
1
+ export var RenderModuleRootContainerId = "renderRootContainer";
2
+ //# sourceMappingURL=RenderModuleRootContainerId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderModuleRootContainerId.js","sourceRoot":"","sources":["../../../src/ecs-rendermodule/data/RenderModuleRootContainerId.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,2BAA2B,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { DisplayObject } from "@flashist/flibs";
2
+ export declare const RenderComponentType = "render";
3
+ export declare const RenderComponentDefaultValue: {
4
+ type: "render";
5
+ view: DisplayObject;
6
+ };
7
+ export declare type RenderComponent = typeof RenderComponentDefaultValue;
@@ -0,0 +1,6 @@
1
+ export var RenderComponentType = "render";
2
+ export var RenderComponentDefaultValue = {
3
+ type: RenderComponentType,
4
+ view: null
5
+ };
6
+ //# sourceMappingURL=RenderComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderComponent.js","sourceRoot":"","sources":["../../../../src/ecs-rendermodule/ecs/components/RenderComponent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,MAAM,CAAC,IAAM,2BAA2B,GAAG;IACvC,IAAI,EAAE,mBAAiD;IACvD,IAAI,EAAE,IAAqB;CAC9B,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { DisplayObjectContainer } from "@flashist/flibs";
2
+ import { IEntity } from "../../../ecs/ecs/entities/IEntity";
3
+ import { System } from "../../../ecs/ecs/systems/System";
4
+ import { RenderComponent } from "../components/RenderComponent";
5
+ export declare class RenderSystem<EntityType extends IEntity<RenderComponent>> extends System<EntityType> {
6
+ protected rootContainer: DisplayObjectContainer;
7
+ constructor();
8
+ protected construction(includeTypes: string[], excludeTypes?: string[]): void;
9
+ protected onEntityAdded(entity: EntityType): void;
10
+ protected onEntityRemoved(entity: EntityType): void;
11
+ }
@@ -0,0 +1,44 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { FContainer, getInstance } from "@flashist/flibs";
17
+ import { ContainersManager } from "../../../containers/managers/ContainersManager";
18
+ import { System } from "../../../ecs/ecs/systems/System";
19
+ import { RenderModuleRootContainerId } from "../../data/RenderModuleRootContainerId";
20
+ import { RenderComponentType } from "../components/RenderComponent";
21
+ var RenderSystem = /** @class */ (function (_super) {
22
+ __extends(RenderSystem, _super);
23
+ function RenderSystem() {
24
+ return _super.call(this, [RenderComponentType]) || this;
25
+ }
26
+ RenderSystem.prototype.construction = function (includeTypes, excludeTypes) {
27
+ _super.prototype.construction.call(this, includeTypes, excludeTypes);
28
+ this.rootContainer = new FContainer();
29
+ var containersManager = getInstance(ContainersManager);
30
+ // as any - to solve some type-related problems between modules
31
+ containersManager.addContainer(this.rootContainer, RenderModuleRootContainerId);
32
+ };
33
+ RenderSystem.prototype.onEntityAdded = function (entity) {
34
+ _super.prototype.onEntityAdded.call(this, entity);
35
+ this.rootContainer.addChild(entity.components.render.view);
36
+ };
37
+ RenderSystem.prototype.onEntityRemoved = function (entity) {
38
+ _super.prototype.onEntityAdded.call(this, entity);
39
+ this.rootContainer.removeChild(entity.components.render.view);
40
+ };
41
+ return RenderSystem;
42
+ }(System));
43
+ export { RenderSystem };
44
+ //# sourceMappingURL=RenderSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderSystem.js","sourceRoot":"","sources":["../../../../src/ecs-rendermodule/ecs/systems/RenderSystem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAA0B,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAEnF,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGrF;IAA+E,gCAAkB;IAI7F;eACI,kBAAM,CAAC,mBAAmB,CAAC,CAAC;IAChC,CAAC;IAES,mCAAY,GAAtB,UAAuB,YAAsB,EAAE,YAAuB;QAClE,iBAAM,YAAY,YAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE/C,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,EAAE,CAAC;QAEtC,IAAM,iBAAiB,GAAsB,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC5E,+DAA+D;QAC/D,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,aAAoB,EAAE,2BAA2B,CAAC,CAAC;IAC3F,CAAC;IAES,oCAAa,GAAvB,UAAwB,MAAkB;QACtC,iBAAM,aAAa,YAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAES,sCAAe,GAAzB,UAA0B,MAAkB;QACxC,iBAAM,aAAa,YAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACL,mBAAC;AAAD,CAAC,AA7BD,CAA+E,MAAM,GA6BpF"}
@@ -5,14 +5,12 @@ import { IFacadeOptions } from "./IFacadeOptions";
5
5
  import { RendererManager } from "../renderer/managers/RendererManager";
6
6
  import { AppMainContainer } from "../app/views/AppMainContainer";
7
7
  import { BaseAppModule } from "../base/modules/BaseAppModule";
8
- import { DeviceInfoModel } from "../device/models/DeviceInfoModel";
9
8
  export declare class Facade extends BaseObject {
10
9
  protected options: IFacadeOptions;
11
10
  protected modulesManager: AppModulesManager;
12
11
  protected rendererManager: RendererManager;
13
12
  app: FApp;
14
13
  mainContainer: AppMainContainer;
15
- protected deviceInfoModel: DeviceInfoModel;
16
14
  protected resizeListener: any;
17
15
  constructor(options: IFacadeOptions);
18
16
  protected construction(options: IFacadeOptions): void;
package/facade/Facade.js CHANGED
@@ -23,12 +23,10 @@ import { AppModule } from "../app/AppModule";
23
23
  import { TimeModule } from "../time/TimeModule";
24
24
  import { DebugModule } from "../debug/DebugModule";
25
25
  import { LoadModule } from "../load/LoadModule";
26
- import { DependenciesModule } from "../dependencies/DependenciesModule";
27
- import { AssetsModule } from "../assets/AssetsModule";
28
26
  import { ContainersModule } from "../containers/ContainersModule";
29
27
  import { ObjectsPoolModule } from "../pool/ObjectsPoolModule";
30
28
  import { LocalesModule } from "../locales/LocalesModule";
31
- import { StorageModule } from "../storage/StorageModule";
29
+ import { LocalStorageModule } from "../local-storage/LocalStorageModule";
32
30
  import { SoundsModule } from "../sounds/SoundsModule";
33
31
  import { HTMLModule } from "../html/HTMLModule";
34
32
  import { InitApplicationCommand } from "../init/commands/InitApplicationCommand";
@@ -36,9 +34,9 @@ import { RendererManager } from "../renderer/managers/RendererManager";
36
34
  import { GlobalEventDispatcher } from "../globaleventdispatcher/dispatcher/GlobalEventDispatcher";
37
35
  import { RendererManagerEvent } from "../renderer/events/RendererManagerEvent";
38
36
  import { AppMainContainer } from "../app/views/AppMainContainer";
39
- import { InitApplicationEvent } from "../init/events/InitApplicationEvents";
37
+ import { InitApplicationEvent } from "../init/events/InitApplicationEvent";
40
38
  import { DeviceModule } from "../device/DeviceModule";
41
- import { DeviceInfoModel } from "../device/models/DeviceInfoModel";
39
+ import { AppStateModule, appStorage } from "../state/AppStateModule";
42
40
  var Facade = /** @class */ (function (_super) {
43
41
  __extends(Facade, _super);
44
42
  function Facade(options) {
@@ -63,20 +61,22 @@ var Facade = /** @class */ (function (_super) {
63
61
  };
64
62
  Facade.prototype.addModules = function () {
65
63
  this.modulesManager = new AppModulesManager();
66
- this.addSingleModule(new DependenciesModule());
67
- this.addSingleModule(new ObjectsPoolModule());
64
+ // AppState should be inited THE FIRST!
65
+ // because other modules might add there init data
68
66
  this.addSingleModule(new GlobalEventDispatcherModule());
67
+ this.addSingleModule(new AppStateModule());
68
+ this.addSingleModule(new AppModule(this.options.debug));
69
+ //
70
+ this.addSingleModule(new ObjectsPoolModule());
69
71
  this.addSingleModule(new DeviceModule());
70
72
  this.addSingleModule(new RendererModule());
71
- this.addSingleModule(new StorageModule());
73
+ this.addSingleModule(new LocalStorageModule());
72
74
  this.addSingleModule(new LoadModule());
73
75
  this.addSingleModule(new SoundsModule());
74
76
  this.addSingleModule(new HTMLModule());
75
77
  this.addSingleModule(new LocalesModule());
76
- this.addSingleModule(new AssetsModule());
77
78
  this.addSingleModule(new PagesModule());
78
79
  this.addSingleModule(new RendererModule());
79
- this.addSingleModule(new AppModule());
80
80
  this.addSingleModule(new TimeModule());
81
81
  this.addSingleModule(new ContainersModule());
82
82
  if (this.options.debug) {
@@ -98,7 +98,6 @@ var Facade = /** @class */ (function (_super) {
98
98
  this.initView();
99
99
  };
100
100
  Facade.prototype.initView = function () {
101
- this.deviceInfoModel = getInstance(DeviceInfoModel);
102
101
  this.mainContainer = getInstance(AppMainContainer);
103
102
  FApp.instance.stage.addChild(this.mainContainer);
104
103
  this.onWindowResize();
@@ -130,7 +129,8 @@ var Facade = /** @class */ (function (_super) {
130
129
  };
131
130
  Facade.prototype.onWindowResize = function () {
132
131
  var documentSize = HtmlTools.getDocumentSize();
133
- this.rendererManager.resize(documentSize.x, documentSize.y, this.deviceInfoModel.deviceInfo.pixelRatio);
132
+ var appState = appStorage().getState();
133
+ this.rendererManager.resize(documentSize.x, documentSize.y, appState.device.pixelRatio);
134
134
  };
135
135
  Facade.prototype.onRendererResize = function () {
136
136
  this.arrange();
@@ -1 +1 @@
1
- {"version":3,"file":"Facade.js","sourceRoot":"","sources":["../../src/facade/Facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Facade.js","sourceRoot":"","sources":["../../src/facade/Facade.ts"],"names":[],"mappings":"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"}