@safe-engine/pixi 1.0.0

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 (72) hide show
  1. package/.github/workflows/npm-publish.yml +35 -0
  2. package/README.md +4 -0
  3. package/dist/app.d.ts +9 -0
  4. package/dist/app.d.ts.map +1 -0
  5. package/dist/app.js +102 -0
  6. package/dist/components/EnhancedComponent.d.ts +22 -0
  7. package/dist/components/EnhancedComponent.d.ts.map +1 -0
  8. package/dist/components/EnhancedComponent.js +62 -0
  9. package/dist/components/GUIComponent.d.ts +72 -0
  10. package/dist/components/GUIComponent.d.ts.map +1 -0
  11. package/dist/components/GUIComponent.js +178 -0
  12. package/dist/components/NodeComp.d.ts +104 -0
  13. package/dist/components/NodeComp.d.ts.map +1 -0
  14. package/dist/components/NodeComp.js +420 -0
  15. package/dist/components/RenderComponent.d.ts +29 -0
  16. package/dist/components/RenderComponent.d.ts.map +1 -0
  17. package/dist/components/RenderComponent.js +89 -0
  18. package/dist/core/Color.d.ts +7 -0
  19. package/dist/core/Color.d.ts.map +1 -0
  20. package/dist/core/Color.js +6 -0
  21. package/dist/core/LoadingBar.d.ts +13 -0
  22. package/dist/core/LoadingBar.d.ts.map +1 -0
  23. package/dist/core/LoadingBar.js +55 -0
  24. package/dist/core/Scene.d.ts +6 -0
  25. package/dist/core/Scene.d.ts.map +1 -0
  26. package/dist/core/Scene.js +39 -0
  27. package/dist/core/Size.d.ts +10 -0
  28. package/dist/core/Size.d.ts.map +1 -0
  29. package/dist/core/Size.js +22 -0
  30. package/dist/core/Vec2.d.ts +20 -0
  31. package/dist/core/Vec2.d.ts.map +1 -0
  32. package/dist/core/Vec2.js +70 -0
  33. package/dist/core/decorator.d.ts +9 -0
  34. package/dist/core/decorator.d.ts.map +1 -0
  35. package/dist/core/decorator.js +46 -0
  36. package/dist/gworld.d.ts +8 -0
  37. package/dist/gworld.d.ts.map +1 -0
  38. package/dist/gworld.js +43 -0
  39. package/dist/helper/html-text-parser.d.ts +30 -0
  40. package/dist/helper/html-text-parser.d.ts.map +1 -0
  41. package/dist/helper/html-text-parser.js +353 -0
  42. package/dist/helper/utils.d.ts +17 -0
  43. package/dist/helper/utils.d.ts.map +1 -0
  44. package/dist/helper/utils.js +64 -0
  45. package/dist/index.d.ts +11 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +39 -0
  48. package/dist/systems/GUISystem.d.ts +7 -0
  49. package/dist/systems/GUISystem.d.ts.map +1 -0
  50. package/dist/systems/GUISystem.js +94 -0
  51. package/dist/systems/RenderSystem.d.ts +15 -0
  52. package/dist/systems/RenderSystem.d.ts.map +1 -0
  53. package/dist/systems/RenderSystem.js +100 -0
  54. package/package.json +30 -0
  55. package/src/app.ts +51 -0
  56. package/src/components/EnhancedComponent.ts +57 -0
  57. package/src/components/GUIComponent.ts +147 -0
  58. package/src/components/NodeComp.ts +409 -0
  59. package/src/components/RenderComponent.ts +65 -0
  60. package/src/core/Color.ts +3 -0
  61. package/src/core/LoadingBar.ts +33 -0
  62. package/src/core/Scene.ts +17 -0
  63. package/src/core/Size.ts +21 -0
  64. package/src/core/Vec2.ts +52 -0
  65. package/src/core/decorator.ts +18 -0
  66. package/src/gworld.ts +17 -0
  67. package/src/helper/html-text-parser.ts +364 -0
  68. package/src/helper/utils.ts +64 -0
  69. package/src/index.ts +10 -0
  70. package/src/systems/GUISystem.ts +95 -0
  71. package/src/systems/RenderSystem.ts +100 -0
  72. package/tsconfig.json +24 -0
@@ -0,0 +1,35 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
+
4
+ name: Publish NPM Package
5
+
6
+ on:
7
+ release:
8
+ types: [created]
9
+ workflow_dispatch: # Allows you to run this workflow manually
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-node@v3
17
+ with:
18
+ node-version: 20
19
+ - run: npm ci
20
+ - run: npm run build
21
+
22
+ publish-npm:
23
+ needs: build
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: actions/setup-node@v3
28
+ with:
29
+ node-version: 20
30
+ registry-url: https://registry.npmjs.org/
31
+ - run: npm ci
32
+ - run: npm run build
33
+ - run: npm publish
34
+ env:
35
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # Guide
2
+ - components must be in `tsx` extension
3
+ - `$ref` bind with current class property as string
4
+ - every property start with `$` will reference to current class property as string
package/dist/app.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { Application } from 'pixi.js';
2
+ export declare const app: Application<import("pixi.js").Renderer>;
3
+ export declare function setupResolution(designedResolution?: {
4
+ width: number;
5
+ height: number;
6
+ }): void;
7
+ export declare function addGameCanvasTo(id?: string): Promise<void>;
8
+ export declare function initWorld(): void;
9
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAOrC,eAAO,MAAM,GAAG,yCAAoB,CAAA;AAEpC,wBAAgB,eAAe,CAAC,kBAAkB;;;CAA+B,QAKhF;AAED,wBAAsB,eAAe,CAAC,EAAE,SAAS,iBA2BhD;AAED,wBAAgB,SAAS,SAKxB"}
package/dist/app.js ADDED
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.app = void 0;
40
+ exports.setupResolution = setupResolution;
41
+ exports.addGameCanvasTo = addGameCanvasTo;
42
+ exports.initWorld = initWorld;
43
+ var pixi_js_1 = require("pixi.js");
44
+ var pixi_action_ease_1 = require("pixi-action-ease");
45
+ var gworld_1 = require("./gworld");
46
+ var GUISystem_1 = require("./systems/GUISystem");
47
+ var RenderSystem_1 = require("./systems/RenderSystem");
48
+ exports.app = new pixi_js_1.Application();
49
+ function setupResolution(designedResolution) {
50
+ if (designedResolution === void 0) { designedResolution = { width: 720, height: 1280 }; }
51
+ var width = designedResolution.width, height = designedResolution.height;
52
+ exports.app.renderer.resize(width, height);
53
+ // app.stage.position.y = app.renderer.height / app.renderer.resolution
54
+ // app.stage.scale.y = -1
55
+ }
56
+ function addGameCanvasTo() {
57
+ return __awaiter(this, arguments, void 0, function (id) {
58
+ var gameDiv;
59
+ if (id === void 0) { id = 'game'; }
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0: return [4 /*yield*/, exports.app.init({
63
+ antialias: true,
64
+ resolution: window.devicePixelRatio,
65
+ eventFeatures: {
66
+ move: true,
67
+ /** disables the global move events which can be very expensive in large scenes */
68
+ globalMove: false,
69
+ click: true,
70
+ wheel: false,
71
+ },
72
+ })
73
+ // app.ticker.speed = 0.5
74
+ // Listen for frame updates
75
+ ];
76
+ case 1:
77
+ _a.sent();
78
+ // app.ticker.speed = 0.5
79
+ // Listen for frame updates
80
+ exports.app.ticker.add(function () {
81
+ var dt = exports.app.ticker.deltaMS * 0.001;
82
+ pixi_action_ease_1.actionManager.update(dt);
83
+ gworld_1.GameWorld.Instance.update(dt);
84
+ });
85
+ Object.assign(exports.app.canvas.style, {
86
+ width: "".concat(window.innerWidth, "px"),
87
+ // height: `${window.innerHeight}px`,
88
+ overflow: 'hidden',
89
+ });
90
+ gameDiv = document.getElementById(id);
91
+ gameDiv.appendChild(exports.app.canvas);
92
+ return [2 /*return*/];
93
+ }
94
+ });
95
+ });
96
+ }
97
+ function initWorld() {
98
+ gworld_1.GameWorld.Instance.systems.add(RenderSystem_1.RenderSystem);
99
+ gworld_1.GameWorld.Instance.systems.add(GUISystem_1.GUISystem);
100
+ gworld_1.GameWorld.Instance.systems.configureOnce(RenderSystem_1.RenderSystem);
101
+ gworld_1.GameWorld.Instance.systems.configureOnce(GUISystem_1.GUISystem);
102
+ }
@@ -0,0 +1,22 @@
1
+ import { Constructor } from 'entityx-ts';
2
+ import { Animation } from 'pixi-action-ease';
3
+ import { NodeComp } from './NodeComp';
4
+ export declare class EnhancedComponent {
5
+ constructor(...args: any[]);
6
+ node: NodeComp;
7
+ static hasRender: boolean;
8
+ actionsMap: {
9
+ [key: string]: Animation;
10
+ };
11
+ addComponent<T extends EnhancedComponent>(instance: any): T;
12
+ getComponent<T extends ComponentType>(component: Constructor<T>): T;
13
+ schedule(callback: (dt?: number) => void, interval: number, repeat?: number, delay?: number, key?: string): void;
14
+ unschedule(callback: (arg?: unknown) => void, key?: string): void;
15
+ unscheduleAllCallbacks(): void;
16
+ scheduleOnce(callback: (arg?: unknown) => void, delay: number, key?: string): void;
17
+ getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
18
+ getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
19
+ isEqual(other: EnhancedComponent): boolean;
20
+ }
21
+ export type ComponentType = EnhancedComponent | NodeComp;
22
+ //# sourceMappingURL=EnhancedComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedComponent.d.ts","sourceRoot":"","sources":["../../src/components/EnhancedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAiB,SAAS,EAAyC,MAAM,kBAAkB,CAAA;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,iBAAiB;gBAChB,GAAG,IAAI,EAAE,GAAG,EAAE;IAS1B,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,CAAC,SAAS,UAAO;IACvB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAK;IAC7C,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,QAAQ,KAAA,GAAG,CAAC;IAGtD,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAGnE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAK,EAAE,KAAK,SAAI,EAAE,GAAG,CAAC,EAAE,MAAM;IAOhG,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM;IAI1D,sBAAsB;IAKtB,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAK3E,uBAAuB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAGhF,sBAAsB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAG7E,OAAO,CAAC,KAAK,EAAE,iBAAiB;CAGjC;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,QAAQ,CAAA"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnhancedComponent = void 0;
4
+ var pixi_action_ease_1 = require("pixi-action-ease");
5
+ var EnhancedComponent = /** @class */ (function () {
6
+ function EnhancedComponent() {
7
+ var args = [];
8
+ for (var _i = 0; _i < arguments.length; _i++) {
9
+ args[_i] = arguments[_i];
10
+ }
11
+ var _this = this;
12
+ this.actionsMap = {};
13
+ var data = args[0];
14
+ if (data) {
15
+ // console.log('constructor', this.constructor.name, data)
16
+ Object.keys(data).forEach(function (key) {
17
+ _this[key] = data[key];
18
+ });
19
+ }
20
+ }
21
+ EnhancedComponent.prototype.addComponent = function (instance) {
22
+ return this.node.addComponent(instance);
23
+ };
24
+ EnhancedComponent.prototype.getComponent = function (component) {
25
+ return this.node.getComponent(component);
26
+ };
27
+ EnhancedComponent.prototype.schedule = function (callback, interval, repeat, delay, key) {
28
+ if (repeat === void 0) { repeat = -1; }
29
+ if (delay === void 0) { delay = 0; }
30
+ var action = pixi_action_ease_1.Sequence.create(pixi_action_ease_1.DelayTime.create(interval), pixi_action_ease_1.CallFunc.create(callback));
31
+ var repeatAct = pixi_action_ease_1.Repeat.create(action, repeat);
32
+ var seq = pixi_action_ease_1.Sequence.create(pixi_action_ease_1.DelayTime.create(delay), repeatAct);
33
+ var animation = pixi_action_ease_1.actionManager.runAction(this.node.instance, seq);
34
+ this.actionsMap[key] = animation;
35
+ };
36
+ EnhancedComponent.prototype.unschedule = function (callback, key) {
37
+ // this.node.instance.unschedule(callback.bind(this))
38
+ this.actionsMap[key].stop();
39
+ };
40
+ EnhancedComponent.prototype.unscheduleAllCallbacks = function () {
41
+ Object.values(this.actionsMap).forEach(function (action) {
42
+ action.stop();
43
+ });
44
+ };
45
+ EnhancedComponent.prototype.scheduleOnce = function (callback, delay, key) {
46
+ var action = pixi_action_ease_1.Sequence.create(pixi_action_ease_1.DelayTime.create(delay), pixi_action_ease_1.CallFunc.create(callback));
47
+ var animation = pixi_action_ease_1.actionManager.runAction(this.node.instance, action);
48
+ this.actionsMap[key] = animation;
49
+ };
50
+ EnhancedComponent.prototype.getComponentsInChildren = function (component) {
51
+ return this.node.getComponentsInChildren(component);
52
+ };
53
+ EnhancedComponent.prototype.getComponentInChildren = function (component) {
54
+ return this.node.getComponentInChildren(component);
55
+ };
56
+ EnhancedComponent.prototype.isEqual = function (other) {
57
+ return this.node.entity.id === other.node.entity.id;
58
+ };
59
+ EnhancedComponent.hasRender = true;
60
+ return EnhancedComponent;
61
+ }());
62
+ exports.EnhancedComponent = EnhancedComponent;
@@ -0,0 +1,72 @@
1
+ import { Size, Vec2 } from '..';
2
+ import { Color4B } from '../core/Color';
3
+ import { ComponentX, NoRenderComponentX } from '../core/decorator';
4
+ import { LoadingBarMode } from '../core/LoadingBar';
5
+ export declare const FillType: {
6
+ HORIZONTAL: number;
7
+ VERTICAL: number;
8
+ RADIAL: number;
9
+ };
10
+ type Keys = keyof typeof FillType;
11
+ type Values = (typeof FillType)[Keys];
12
+ export declare class ButtonComp extends NoRenderComponentX {
13
+ normalImage: string;
14
+ selectedImage: string;
15
+ disableImage: string;
16
+ zoomScale: number;
17
+ onPress: (target: ButtonComp) => void;
18
+ setOnPress(cb: (target: ButtonComp) => void): void;
19
+ set enabled(val: any);
20
+ }
21
+ export declare class ProgressBarComp extends NoRenderComponentX {
22
+ mode: LoadingBarMode;
23
+ private _progress;
24
+ isReverse: boolean;
25
+ get progress(): number;
26
+ set progress(val: number);
27
+ }
28
+ export declare class LabelComp extends ComponentX {
29
+ font: string;
30
+ string: string;
31
+ size: number;
32
+ getString(): string;
33
+ setString(val: string): void;
34
+ getSize(): number;
35
+ setSize(val: any): void;
36
+ getFont(): string;
37
+ setFont(val: string): void;
38
+ }
39
+ export declare class ScrollView extends ComponentX {
40
+ width: number;
41
+ height: number;
42
+ }
43
+ export declare class BlockInputEventsComp extends NoRenderComponentX {
44
+ }
45
+ export declare class ProgressTimerComp extends ComponentX {
46
+ spriteFrame: string;
47
+ fillType: Values;
48
+ fillRange: number;
49
+ fillCenter: Vec2;
50
+ isReverse: boolean;
51
+ getFillRange(): void;
52
+ setFillStart(val: number): void;
53
+ setFillRange(val: number): void;
54
+ }
55
+ export declare class RichTextComp extends ComponentX {
56
+ protected font: string;
57
+ protected string: string;
58
+ protected size: number;
59
+ getString(): string;
60
+ setString(val: string): void;
61
+ }
62
+ export declare class LabelOutlineComp extends NoRenderComponentX {
63
+ color: typeof Color4B;
64
+ width: number;
65
+ }
66
+ export declare class LabelShadowComp extends NoRenderComponentX {
67
+ color: typeof Color4B;
68
+ blur: number;
69
+ offset: Size;
70
+ }
71
+ export {};
72
+ //# sourceMappingURL=GUIComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/components/GUIComponent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAI/D,eAAO,MAAM,QAAQ;;;;CAIpB,CAAA;AACD,KAAK,IAAI,GAAG,MAAM,OAAO,QAAQ,CAAA;AACjC,KAAK,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;AAErC,qBAAa,UAAW,SAAQ,kBAAkB;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAErC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI;IAI3C,IAAI,OAAO,CAAC,GAAG,KAAA,EAEd;CACF;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,IAAI,iBAAqB;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,SAAS,EAAE,OAAO,CAAA;IAElB,IAAI,QAAQ,IAIM,MAAM,CAFvB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAGvB;CACF;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,SAAK;IAET,SAAS;IAMT,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,OAAO;IAKP,OAAO,CAAC,GAAG,KAAA;IAMX,OAAO,IAE2C,MAAM;IAIxD,OAAO,CAAC,GAAG,EAAE,MAAM;CAMpB;AAED,qBAAa,UAAW,SAAQ,UAAU;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;CAAG;AAE/D,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAElB,YAAY;IAMZ,YAAY,CAAC,GAAG,EAAE,MAAM;IAMxB,YAAY,CAAC,GAAG,EAAE,MAAM;CAKzB;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAA;IAEtB,SAAS;IAIT,SAAS,CAAC,GAAG,EAAE,MAAM;CAGtB;AAED,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,KAAK,EAAE,OAAO,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,KAAK,EAAE,OAAO,OAAO,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,IAAI,CAAA;CACb"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.LabelShadowComp = exports.LabelOutlineComp = exports.RichTextComp = exports.ProgressTimerComp = exports.BlockInputEventsComp = exports.ScrollView = exports.LabelComp = exports.ProgressBarComp = exports.ButtonComp = exports.FillType = void 0;
19
+ var pixi_js_1 = require("pixi.js");
20
+ var decorator_1 = require("../core/decorator");
21
+ var LoadingBar_1 = require("../core/LoadingBar");
22
+ var html_text_parser_1 = require("../helper/html-text-parser");
23
+ var _htmlTextParser = new html_text_parser_1.HtmlTextParser();
24
+ exports.FillType = {
25
+ HORIZONTAL: 0,
26
+ VERTICAL: 1,
27
+ RADIAL: 2,
28
+ };
29
+ var ButtonComp = /** @class */ (function (_super) {
30
+ __extends(ButtonComp, _super);
31
+ function ButtonComp() {
32
+ return _super !== null && _super.apply(this, arguments) || this;
33
+ }
34
+ ButtonComp.prototype.setOnPress = function (cb) {
35
+ this.onPress = cb;
36
+ };
37
+ Object.defineProperty(ButtonComp.prototype, "enabled", {
38
+ set: function (val) {
39
+ this.node.instance.interactive = val;
40
+ },
41
+ enumerable: false,
42
+ configurable: true
43
+ });
44
+ return ButtonComp;
45
+ }(decorator_1.NoRenderComponentX));
46
+ exports.ButtonComp = ButtonComp;
47
+ var ProgressBarComp = /** @class */ (function (_super) {
48
+ __extends(ProgressBarComp, _super);
49
+ function ProgressBarComp() {
50
+ var _this = _super !== null && _super.apply(this, arguments) || this;
51
+ _this.mode = LoadingBar_1.LoadingBarMode.BAR;
52
+ return _this;
53
+ }
54
+ Object.defineProperty(ProgressBarComp.prototype, "progress", {
55
+ get: function () {
56
+ return this._progress;
57
+ },
58
+ set: function (val) {
59
+ this._progress = val;
60
+ this.node.instance.progress = val;
61
+ },
62
+ enumerable: false,
63
+ configurable: true
64
+ });
65
+ return ProgressBarComp;
66
+ }(decorator_1.NoRenderComponentX));
67
+ exports.ProgressBarComp = ProgressBarComp;
68
+ var LabelComp = /** @class */ (function (_super) {
69
+ __extends(LabelComp, _super);
70
+ function LabelComp() {
71
+ var _this = _super !== null && _super.apply(this, arguments) || this;
72
+ _this.size = 64;
73
+ return _this;
74
+ }
75
+ LabelComp.prototype.getString = function () {
76
+ if (this.node.instance instanceof pixi_js_1.Text) {
77
+ return this.node.instance.text;
78
+ }
79
+ };
80
+ LabelComp.prototype.setString = function (val) {
81
+ if (this.node.instance instanceof pixi_js_1.Text) {
82
+ this.node.instance.text = val;
83
+ }
84
+ };
85
+ LabelComp.prototype.getSize = function () {
86
+ if (this.node.instance instanceof pixi_js_1.Text) {
87
+ return this.node.instance.style.fontSize;
88
+ }
89
+ };
90
+ LabelComp.prototype.setSize = function (val) {
91
+ if (this.node.instance instanceof pixi_js_1.Text) {
92
+ this.node.instance.style.fontSize = val;
93
+ }
94
+ };
95
+ LabelComp.prototype.getFont = function () {
96
+ if (this.node.instance instanceof pixi_js_1.Text) {
97
+ return this.node.instance.style.fontFamily;
98
+ }
99
+ };
100
+ LabelComp.prototype.setFont = function (val) {
101
+ // console.log('set font', val, Assets.get(val))
102
+ if (this.node.instance instanceof pixi_js_1.Text) {
103
+ if (pixi_js_1.Assets.get(val))
104
+ this.node.instance.style.fontFamily = pixi_js_1.Assets.get(val).family;
105
+ }
106
+ };
107
+ return LabelComp;
108
+ }(decorator_1.ComponentX));
109
+ exports.LabelComp = LabelComp;
110
+ var ScrollView = /** @class */ (function (_super) {
111
+ __extends(ScrollView, _super);
112
+ function ScrollView() {
113
+ return _super !== null && _super.apply(this, arguments) || this;
114
+ }
115
+ return ScrollView;
116
+ }(decorator_1.ComponentX));
117
+ exports.ScrollView = ScrollView;
118
+ var BlockInputEventsComp = /** @class */ (function (_super) {
119
+ __extends(BlockInputEventsComp, _super);
120
+ function BlockInputEventsComp() {
121
+ return _super !== null && _super.apply(this, arguments) || this;
122
+ }
123
+ return BlockInputEventsComp;
124
+ }(decorator_1.NoRenderComponentX));
125
+ exports.BlockInputEventsComp = BlockInputEventsComp;
126
+ var ProgressTimerComp = /** @class */ (function (_super) {
127
+ __extends(ProgressTimerComp, _super);
128
+ function ProgressTimerComp() {
129
+ return _super !== null && _super.apply(this, arguments) || this;
130
+ }
131
+ ProgressTimerComp.prototype.getFillRange = function () {
132
+ // if (this.node.instance instanceof cc.ProgressTimer) {
133
+ // return this.node.instance.getPercentage() * 0.01
134
+ // }
135
+ };
136
+ ProgressTimerComp.prototype.setFillStart = function (val) {
137
+ // if (this.node.instance instanceof cc.ProgressTimer) {
138
+ // this.node.instance.setMidpoint(Vec2(val, val))
139
+ // }
140
+ };
141
+ ProgressTimerComp.prototype.setFillRange = function (val) {
142
+ // if (this.node.instance instanceof cc.ProgressTimer) {
143
+ // this.node.instance.setPercentage(val * 100)
144
+ // }
145
+ };
146
+ return ProgressTimerComp;
147
+ }(decorator_1.ComponentX));
148
+ exports.ProgressTimerComp = ProgressTimerComp;
149
+ var RichTextComp = /** @class */ (function (_super) {
150
+ __extends(RichTextComp, _super);
151
+ function RichTextComp() {
152
+ return _super !== null && _super.apply(this, arguments) || this;
153
+ }
154
+ RichTextComp.prototype.getString = function () {
155
+ return this.string;
156
+ };
157
+ RichTextComp.prototype.setString = function (val) {
158
+ this.string = val;
159
+ };
160
+ return RichTextComp;
161
+ }(decorator_1.ComponentX));
162
+ exports.RichTextComp = RichTextComp;
163
+ var LabelOutlineComp = /** @class */ (function (_super) {
164
+ __extends(LabelOutlineComp, _super);
165
+ function LabelOutlineComp() {
166
+ return _super !== null && _super.apply(this, arguments) || this;
167
+ }
168
+ return LabelOutlineComp;
169
+ }(decorator_1.NoRenderComponentX));
170
+ exports.LabelOutlineComp = LabelOutlineComp;
171
+ var LabelShadowComp = /** @class */ (function (_super) {
172
+ __extends(LabelShadowComp, _super);
173
+ function LabelShadowComp() {
174
+ return _super !== null && _super.apply(this, arguments) || this;
175
+ }
176
+ return LabelShadowComp;
177
+ }(decorator_1.NoRenderComponentX));
178
+ exports.LabelShadowComp = LabelShadowComp;
@@ -0,0 +1,104 @@
1
+ import { Constructor, Entity } from 'entityx-ts';
2
+ import { Color, ColorSource, Container, Point } from 'pixi.js';
3
+ import { Action, Animation } from 'pixi-action-ease';
4
+ import { Size } from '../helper/utils';
5
+ import { ComponentType, EnhancedComponent } from './EnhancedComponent';
6
+ export type EventCallbackType = (...args: any[]) => void;
7
+ export interface EventMap {
8
+ [key: string]: [EventCallbackType];
9
+ }
10
+ type TouchEVentCallback = (target: {
11
+ location: Point;
12
+ }) => void;
13
+ export declare class NodeComp {
14
+ entity: Entity;
15
+ instance: Container;
16
+ events: EventMap;
17
+ data: {
18
+ [key: string]: any;
19
+ };
20
+ parent: NodeComp;
21
+ children: NodeComp[];
22
+ actionsList: Animation[];
23
+ name: string;
24
+ private lastMove;
25
+ private _group;
26
+ onTouchStart?: TouchEVentCallback;
27
+ onTouchMove?: TouchEVentCallback;
28
+ onTouchEnd?: TouchEVentCallback;
29
+ onTouchCancel?: TouchEVentCallback;
30
+ setOnTouchStart(cb: TouchEVentCallback): void;
31
+ setOnTouchMove(cb: TouchEVentCallback): void;
32
+ setOnTouchEnd(cb: TouchEVentCallback): void;
33
+ setOnTouchCancel(cb: TouchEVentCallback): void;
34
+ constructor(instance: Container, entity: Entity);
35
+ get uuid(): number;
36
+ get position(): Point;
37
+ set position(val: Point);
38
+ get x(): number;
39
+ set x(val: number);
40
+ get y(): number;
41
+ set y(val: number);
42
+ set scale(val: number);
43
+ get scaleX(): number;
44
+ set scaleX(val: number);
45
+ get scaleY(): number;
46
+ set scaleY(val: number);
47
+ get anchorX(): number;
48
+ set anchorX(val: number);
49
+ get anchorY(): number;
50
+ set anchorY(val: number);
51
+ /** rotation is in radians */
52
+ get rotation(): number;
53
+ /** rotation is in radians */
54
+ set rotation(val: number);
55
+ /** angle is in degrees. */
56
+ get angle(): number;
57
+ /** angle is in degrees. */
58
+ set angle(val: number);
59
+ get color(): ColorSource;
60
+ set color(val: ColorSource);
61
+ get opacity(): number;
62
+ set opacity(val: number);
63
+ get active(): boolean;
64
+ set active(val: boolean);
65
+ get group(): number;
66
+ set group(val: number);
67
+ get width(): number;
68
+ set width(val: number);
69
+ get height(): number;
70
+ set height(val: number);
71
+ get zIndex(): number;
72
+ set zIndex(val: number);
73
+ get childrenCount(): number;
74
+ addComponent<T extends ComponentType>(instance: any): T;
75
+ getComponent<T extends ComponentType>(component: Constructor<T>): T;
76
+ getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
77
+ getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
78
+ convertToNodeSpace(point: Point): Point;
79
+ convertToNodeSpaceAR(point: Point): Point;
80
+ convertToWorldSpaceAR(point: Point): Point;
81
+ getPosition(): Point;
82
+ setPosition(x: number | Point, y?: number): void;
83
+ setRotation(deg: number): void;
84
+ getRotation(): number;
85
+ getContentSize(): Size;
86
+ setColor(color: Color): void;
87
+ setScale(scaleX: number, scaleY?: number): void;
88
+ runAction(act: Action): void;
89
+ stopAllActions(): void;
90
+ pauseAllActions(): void;
91
+ resumeAllActions(): void;
92
+ destroy(): void;
93
+ removeFromParent(): void;
94
+ addChild(child: NodeComp, zOrder?: number): void;
95
+ destroyAllChildren(): void;
96
+ on(name: string, callback: EventCallbackType, target?: any): void;
97
+ off(name: string): void;
98
+ emit(name: string, ...params: any): void;
99
+ resolveComponent(component: EnhancedComponent): void;
100
+ getData<T>(key: string): T;
101
+ setData<T>(key: string, val: T): void;
102
+ }
103
+ export {};
104
+ //# sourceMappingURL=NodeComp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/components/NodeComp.ts"],"names":[],"mappings":"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"}