@flashist/appframework 0.0.254 → 0.0.256

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flashist/appframework",
3
- "version": "0.0.254",
3
+ "version": "0.0.256",
4
4
  "scripts": {
5
5
  "build": "gulp",
6
6
  "publish:patch": "npm version patch && npm run build && cd ./dist && npm publish",
@@ -1,4 +1,5 @@
1
1
  import { BaseAppModule } from "../base/modules/BaseAppModule";
2
2
  export declare class RendererModule extends BaseAppModule {
3
3
  init(): void;
4
+ activateCompleteHook(): Promise<void>;
4
5
  }
@@ -1,4 +1,13 @@
1
- import { serviceLocatorAdd } from "@flashist/flibs";
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getInstance, serviceLocatorAdd } from "@flashist/flibs";
2
11
  import { BaseAppModule } from "../base/modules/BaseAppModule";
3
12
  import { RendererManagerConfigVO } from "./data/RendererManagerConfigVO";
4
13
  import { RendererManager } from "./managers/RendererManager";
@@ -8,5 +17,16 @@ export class RendererModule extends BaseAppModule {
8
17
  serviceLocatorAdd(RendererManagerConfigVO, { isSingleton: true });
9
18
  serviceLocatorAdd(RendererManager, { isSingleton: true, forceCreation: true });
10
19
  }
20
+ activateCompleteHook() {
21
+ const _super = Object.create(null, {
22
+ activateCompleteHook: { get: () => super.activateCompleteHook }
23
+ });
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ _super.activateCompleteHook.call(this);
26
+ //
27
+ const rendererManager = getInstance(RendererManager);
28
+ yield rendererManager.activateAppPromise;
29
+ });
30
+ }
11
31
  }
12
32
  //# sourceMappingURL=RendererModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RendererModule.js","sourceRoot":"","sources":["../../src/renderer/RendererModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAE7C,IAAI;QACA,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,iBAAiB,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;CAEJ"}
1
+ {"version":3,"file":"RendererModule.js","sourceRoot":"","sources":["../../src/renderer/RendererModule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAE7C,IAAI;QACA,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,iBAAiB,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAEK,oBAAoB;;;;;YACtB,OAAM,oBAAoB,YAAG;YAE7B,EAAE;YACF,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,eAAe,CAAC,kBAAkB,CAAC;QAC7C,CAAC;KAAA;CACJ"}
@@ -8,7 +8,10 @@ export declare class RendererManager extends BaseAppManager {
8
8
  left?: number;
9
9
  right?: number;
10
10
  };
11
+ protected _activateAppPromise: Promise<void>;
11
12
  protected construction(): void;
13
+ protected activateApp(): Promise<void>;
14
+ get activateAppPromise(): Promise<void>;
12
15
  resize(htmlWidth: number, htmlHeight: number, pixelRatio: number): void;
13
16
  get rendererWidth(): number;
14
17
  get rendererHeight(): number;
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { FApp, getInstance, Point } from "@flashist/flibs";
2
11
  import { BaseAppManager } from "../../base/managers/BaseAppManager";
3
12
  import { Facade } from "../../facade/Facade";
@@ -16,28 +25,39 @@ export class RendererManager extends BaseAppManager {
16
25
  // if (this.config.targetFps) {
17
26
  // PIXI.settings.TARGET_FPMS = this.config.targetFps / 1000;
18
27
  // }
19
- const appConfig = Object.assign({}, this.config);
20
- Facade.instance.app = new FApp(appConfig);
21
- // Stage
22
- Facade.instance.app.stage.interactive = true;
23
- // Renderer
24
- // Facade.instance.app.renderer.autoDensity = true;
25
- // CSS settings
26
- // (Facade.instance.app.renderer.view.style as any).position = "absolute";
27
- // (Facade.instance.app.renderer.view.style as any).top = "0px";
28
- // (Facade.instance.app.renderer.view.style as any).left = "0px";
29
- if (this.config.canvasCss) {
30
- const canvasKeys = Object.keys(this.config.canvasCss);
31
- for (let singleCssKey of canvasKeys) {
32
- Facade.instance.app.renderer.view.canvas.style[singleCssKey] = this.config.canvasCss[singleCssKey];
28
+ this.activateApp();
29
+ }
30
+ activateApp() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const appConfig = Object.assign({}, this.config);
33
+ Facade.instance.app = new FApp();
34
+ this._activateAppPromise = Facade.instance.app.init(appConfig);
35
+ //
36
+ yield this.activateAppPromise;
37
+ // Stage
38
+ Facade.instance.app.stage.interactive = true;
39
+ // Renderer
40
+ // Facade.instance.app.renderer.autoDensity = true;
41
+ // CSS settings
42
+ // (Facade.instance.app.renderer.view.style as any).position = "absolute";
43
+ // (Facade.instance.app.renderer.view.style as any).top = "0px";
44
+ // (Facade.instance.app.renderer.view.style as any).left = "0px";
45
+ if (this.config.canvasCss) {
46
+ const canvasKeys = Object.keys(this.config.canvasCss);
47
+ for (let singleCssKey of canvasKeys) {
48
+ Facade.instance.app.renderer.view.canvas.style[singleCssKey] = this.config.canvasCss[singleCssKey];
49
+ }
33
50
  }
34
- }
35
- let canvasParentElement = document.body;
36
- if (this.config.canvasParentElementId) {
37
- canvasParentElement = document.getElementById(this.config.canvasParentElementId);
38
- }
39
- // Append the renderer canvas to DOM
40
- canvasParentElement.appendChild(Facade.instance.app.view);
51
+ let canvasParentElement = document.body;
52
+ if (this.config.canvasParentElementId) {
53
+ canvasParentElement = document.getElementById(this.config.canvasParentElementId);
54
+ }
55
+ // Append the renderer canvas to DOM
56
+ canvasParentElement.appendChild(Facade.instance.app.view);
57
+ });
58
+ }
59
+ get activateAppPromise() {
60
+ return this._activateAppPromise;
41
61
  }
42
62
  resize(htmlWidth, htmlHeight, pixelRatio) {
43
63
  let horizontalPadding = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"RendererManager.js","sourceRoot":"","sources":["../../../src/renderer/managers/RendererManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RendererManager.js","sourceRoot":"","sources":["../../../src/renderer/managers/RendererManager.ts"],"names":[],"mappings":"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"}