@safe-engine/pixi 8.5.5 → 8.6.3
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/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -5
- package/dist/components/NodeComp.d.ts +10 -5
- package/dist/components/NodeComp.d.ts.map +1 -1
- package/dist/components/NodeComp.js +16 -10
- package/dist/core/math.d.ts +1 -0
- package/dist/core/math.d.ts.map +1 -1
- package/dist/core/math.js +3 -0
- package/dist/gui/GUIComponent.d.ts +2 -50
- package/dist/gui/GUIComponent.d.ts.map +1 -1
- package/dist/gui/GUIComponent.js +2 -56
- package/dist/gui/GUISystem.d.ts +0 -1
- package/dist/gui/GUISystem.d.ts.map +1 -1
- package/dist/gui/GUISystem.js +2 -63
- package/dist/gui/index.d.ts +4 -0
- package/dist/gui/index.d.ts.map +1 -0
- package/dist/gui/index.js +9 -0
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/norender/NoRenderComponent.d.ts +11 -1
- package/dist/norender/NoRenderComponent.d.ts.map +1 -1
- package/dist/norender/NoRenderComponent.js +2 -0
- package/dist/norender/NoRenderSystem.d.ts.map +1 -1
- package/dist/norender/NoRenderSystem.js +35 -10
- package/dist/norender/index.d.ts +3 -0
- package/dist/norender/index.d.ts.map +1 -0
- package/dist/norender/index.js +2 -0
- package/dist/render/RenderComponent.d.ts +29 -2
- package/dist/render/RenderComponent.d.ts.map +1 -1
- package/dist/render/RenderComponent.js +50 -1
- package/dist/render/RenderSystem.d.ts +1 -0
- package/dist/render/RenderSystem.d.ts.map +1 -1
- package/dist/render/RenderSystem.js +33 -2
- package/package.json +5 -5
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAM5D,wBAAsB,SAAS,CAC7B,WAAW,KAAA,EACX,kBAAkB;;;CAA+B,EACjD,YAAY,EAAE,WAAW,EACzB,EAAE,SAAe,GAChB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CA6BhC"}
|
package/dist/app.js
CHANGED
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { actionManager } from 'pixi-action-ease';
|
|
11
11
|
import { Application } from 'pixi.js';
|
|
12
12
|
import { GameWorld } from './base';
|
|
13
|
-
import { GUISystem } from './gui/GUISystem';
|
|
14
13
|
import { NoRenderSystem } from './norender/NoRenderSystem';
|
|
15
14
|
import { RenderSystem } from './render/RenderSystem';
|
|
16
15
|
export function startGame(defaultFont_1) {
|
|
@@ -57,13 +56,11 @@ function startGameLoop(world) {
|
|
|
57
56
|
function initWorld(defaultFont) {
|
|
58
57
|
const world = GameWorld.Instance;
|
|
59
58
|
world.systems.add(RenderSystem);
|
|
60
|
-
world.systems.add(GUISystem);
|
|
61
59
|
world.systems.add(NoRenderSystem);
|
|
62
60
|
world.systems.configureOnce(RenderSystem);
|
|
63
|
-
world.systems.configureOnce(GUISystem);
|
|
64
61
|
world.systems.configureOnce(NoRenderSystem);
|
|
65
62
|
if (defaultFont) {
|
|
66
|
-
const
|
|
67
|
-
|
|
63
|
+
const fontSystem = world.systems.get(RenderSystem);
|
|
64
|
+
fontSystem.defaultFont = defaultFont;
|
|
68
65
|
}
|
|
69
66
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ComponentType, Constructor, Entity } from 'entityx-ts';
|
|
2
|
-
import { Action
|
|
2
|
+
import { Action } from 'pixi-action-ease';
|
|
3
3
|
import { ColorSource, Container, Point } from 'pixi.js';
|
|
4
4
|
import { EnhancedComponent } from '..';
|
|
5
5
|
import { Vec2 } from '../core';
|
|
6
6
|
import { Size } from '../core/Size';
|
|
7
|
+
import { EventRegister } from '../norender/NoRenderComponent';
|
|
7
8
|
export declare class NodeComp<C extends Container = Container> {
|
|
8
9
|
entity: Entity;
|
|
9
10
|
instance: C;
|
|
10
11
|
parent: NodeComp;
|
|
11
12
|
children: NodeComp[];
|
|
12
|
-
actionsList
|
|
13
|
+
private actionsList;
|
|
13
14
|
name: string;
|
|
14
15
|
private _group;
|
|
15
16
|
private _active;
|
|
@@ -116,19 +117,23 @@ export declare class NodeComp<C extends Container = Container> {
|
|
|
116
117
|
angle(other: Vec2): number;
|
|
117
118
|
distance(other: /*elided*/ any): number;
|
|
118
119
|
};
|
|
120
|
+
getBoundingBox(): import("pixi.js").Bounds;
|
|
119
121
|
get contentSize(): Size;
|
|
120
122
|
set contentSize(size: Size);
|
|
121
123
|
runAction(act: Action): void;
|
|
122
124
|
stopAllActions(): void;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
+
pauseAllActionsAndSchedule(): void;
|
|
126
|
+
resumeAllActionsAndSchedule(): void;
|
|
125
127
|
destroy(): void;
|
|
126
128
|
removeFromParent(): void;
|
|
127
129
|
addChild(child: NodeComp, zOrder?: number): void;
|
|
128
130
|
destroyAllChildren(): void;
|
|
129
131
|
removeAllChildren(): void;
|
|
130
|
-
resolveComponent(component: EnhancedComponent<object, NodeComp>
|
|
132
|
+
resolveComponent(component: EnhancedComponent<object, NodeComp> & {
|
|
133
|
+
start?: () => void;
|
|
134
|
+
}): void;
|
|
131
135
|
getData<T>(key: string): T;
|
|
132
136
|
setData<T>(key: string, value: T): void;
|
|
137
|
+
get event(): ComponentType | EventRegister;
|
|
133
138
|
}
|
|
134
139
|
//# sourceMappingURL=NodeComp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/components/NodeComp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/components/NodeComp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,MAAM,EAA4B,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAA;AAErE,OAAO,EAAE,iBAAiB,EAAe,MAAM,IAAI,CAAA;AACnD,OAAO,EAAe,IAAI,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAiB,MAAM,+BAA+B,CAAA;AAE5E,qBAAa,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,QAAQ,CAAA;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAK;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAO;gBAEV,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;IAOvC,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,IAAI,IAAI,CAEnB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAErB;IAED,IAAI,IAAI,IAIM,MAAM,CAFnB;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAEnB;IAED,IAAI,IAAI,IAIM,MAAM,CAFnB;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAEnB;IAED,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAE3B;IAED,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,MAAM,IAIM,MAAM,CAFrB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAErB;IAED,IAAI,MAAM,IAIM,MAAM,CAFrB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAErB;IAED,IAAI,OAAO,IAKM,MAAM,CAFtB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,OAAO,IAKM,MAAM,CAFtB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAED,6BAA6B;IAC7B,IAAI,QAAQ,IAIM,MAAM,CAFvB;IACD,6BAA6B;IAC7B,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAEvB;IAED,2BAA2B;IAC3B,IAAI,KAAK,IAIM,MAAM,CAFpB;IACD,2BAA2B;IAC3B,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,IAMM,WAAW,CAFzB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,WAAW,EAGzB;IAED,IAAI,OAAO,IAIM,MAAM,CAFtB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,MAAM,IAUM,OAAO,CAFtB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAGtB;IAED,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,GAAG,QAAA,EAEZ;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,GAAG,QAAA,EAEb;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,GAAG,QAAA,EAEb;IAED,IAAI,aAAa,WAEhB;IAED,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,KAAA,GAAG,CAAC;IAIlD,YAAY,CAAC,CAAC,SAAS,WAAW,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAIjF,uBAAuB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAUhF,sBAAsB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAI7E,kBAAkB,CAAC,KAAK,EAAE,IAAI;;;;;;;;;;;;;;;;;;;IAI9B,oBAAoB,CAAC,KAAK,EAAE,IAAI;;;;;;;;;;;;;;;;;;;IAIhC,qBAAqB,CAAC,KAAK,EAAE,IAAI;;;;;;;;;;;;;;;;;;;IAYjC,cAAc;IAKd,IAAI,WAAW,IAAI,IAAI,CAEtB;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAEzB;IAED,SAAS,CAAC,GAAG,EAAE,MAAM;IAKrB,cAAc;IAOd,0BAA0B;IAM1B,2BAA2B;IAM3B,OAAO;IAaP,gBAAgB;IAMhB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM;IAQzC,kBAAkB;IAMlB,iBAAiB;IAMjB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;IAaxF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAM1B,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAUhC,IAAI,KAAK,kCAMR;CACF"}
|
|
@@ -3,7 +3,7 @@ import { Point, Sprite, Text } from 'pixi.js';
|
|
|
3
3
|
import { instantiate } from '..';
|
|
4
4
|
import { updatePoint, Vec2 } from '../core';
|
|
5
5
|
import { ProgressBarComp } from '../gui/GUIComponent';
|
|
6
|
-
import { ExtraDataComp } from '../norender/NoRenderComponent';
|
|
6
|
+
import { EventRegister, ExtraDataComp } from '../norender/NoRenderComponent';
|
|
7
7
|
export class NodeComp {
|
|
8
8
|
constructor(instance, entity) {
|
|
9
9
|
this.children = [];
|
|
@@ -185,13 +185,10 @@ export class NodeComp {
|
|
|
185
185
|
// getAnchorPoint() {
|
|
186
186
|
// return this.instance.getAnchorPoint()
|
|
187
187
|
// }
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
// }
|
|
193
|
-
// return box
|
|
194
|
-
// }
|
|
188
|
+
getBoundingBox() {
|
|
189
|
+
const box = this.instance.getBounds();
|
|
190
|
+
return box;
|
|
191
|
+
}
|
|
195
192
|
get contentSize() {
|
|
196
193
|
return this.instance.getSize();
|
|
197
194
|
}
|
|
@@ -208,12 +205,12 @@ export class NodeComp {
|
|
|
208
205
|
});
|
|
209
206
|
this.actionsList = [];
|
|
210
207
|
}
|
|
211
|
-
|
|
208
|
+
pauseAllActionsAndSchedule() {
|
|
212
209
|
this.actionsList.forEach((anim) => {
|
|
213
210
|
anim.isPause = true;
|
|
214
211
|
});
|
|
215
212
|
}
|
|
216
|
-
|
|
213
|
+
resumeAllActionsAndSchedule() {
|
|
217
214
|
this.actionsList.forEach((anim) => {
|
|
218
215
|
anim.isPause = false;
|
|
219
216
|
});
|
|
@@ -260,6 +257,8 @@ export class NodeComp {
|
|
|
260
257
|
}
|
|
261
258
|
else {
|
|
262
259
|
this.addComponent(component);
|
|
260
|
+
if (component.start)
|
|
261
|
+
component.start();
|
|
263
262
|
if (component instanceof ProgressBarComp) {
|
|
264
263
|
this.addChild(component.node);
|
|
265
264
|
}
|
|
@@ -281,4 +280,11 @@ export class NodeComp {
|
|
|
281
280
|
data.setData(key, value);
|
|
282
281
|
}
|
|
283
282
|
}
|
|
283
|
+
get event() {
|
|
284
|
+
const _event = this.getComponent(EventRegister);
|
|
285
|
+
if (!_event) {
|
|
286
|
+
return this.addComponent(instantiate(EventRegister));
|
|
287
|
+
}
|
|
288
|
+
return _event;
|
|
289
|
+
}
|
|
284
290
|
}
|
package/dist/core/math.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare function randomRangeInt(minInclude: Integer, maxExclude: Integer): number;
|
|
2
|
+
export declare function randomRange(minInclude: Float, maxExclude: Float): number;
|
|
2
3
|
export declare function degreesToRadians(deg: Float): number;
|
|
3
4
|
export declare function radiansToDegrees(rad: Float): number;
|
|
4
5
|
export declare function clampf(theta: number, arg1: number, arg2: number): number;
|
package/dist/core/math.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/core/math.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,UAEtE;
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/core/math.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,UAEtE;AACD,wBAAgB,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,UAE/D;AACD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,UAE1C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,UAE1C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOxE"}
|
package/dist/core/math.js
CHANGED
|
@@ -2,6 +2,9 @@ import { DEG_TO_RAD, RAD_TO_DEG } from 'pixi.js';
|
|
|
2
2
|
export function randomRangeInt(minInclude, maxExclude) {
|
|
3
3
|
return Math.round(Math.random() * (maxExclude - minInclude - 1)) + minInclude;
|
|
4
4
|
}
|
|
5
|
+
export function randomRange(minInclude, maxExclude) {
|
|
6
|
+
return Math.random() * (maxExclude - minInclude - 1) + minInclude;
|
|
7
|
+
}
|
|
5
8
|
export function degreesToRadians(deg) {
|
|
6
9
|
return DEG_TO_RAD * deg;
|
|
7
10
|
}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import { CheckBox, CheckBoxOptions, Input, List, ProgressBar, RadioGroup, Slider, SliderOptions } from '@pixi/ui';
|
|
2
|
-
import { Container
|
|
2
|
+
import { Container } from 'pixi.js';
|
|
3
3
|
import { BaseComponentProps } from '..';
|
|
4
4
|
import { ComponentX, NoRenderComponentX } from '../components/BaseComponent';
|
|
5
|
-
import {
|
|
6
|
-
import { LoadingBarMode, ProgressTimer } from '../core/LoadingBar';
|
|
5
|
+
import { LoadingBarMode } from '../core/LoadingBar';
|
|
7
6
|
export declare const FillType: {
|
|
8
7
|
HORIZONTAL: number;
|
|
9
8
|
VERTICAL: number;
|
|
10
9
|
RADIAL: number;
|
|
11
10
|
};
|
|
12
|
-
interface ButtonCompProps extends BaseComponentProps<ButtonComp> {
|
|
13
|
-
normalImage?: string;
|
|
14
|
-
selectedImage?: string;
|
|
15
|
-
disableImage?: string;
|
|
16
|
-
zoomScale?: number;
|
|
17
|
-
onPress: (target: ButtonComp) => void;
|
|
18
|
-
}
|
|
19
|
-
export declare class ButtonComp extends NoRenderComponentX<ButtonCompProps> {
|
|
20
|
-
}
|
|
21
11
|
export declare class ProgressBarComp extends ComponentX<{}, ProgressBar> {
|
|
22
12
|
mode: LoadingBarMode;
|
|
23
13
|
isReverse: boolean;
|
|
@@ -26,19 +16,6 @@ export declare class ProgressBarComp extends ComponentX<{}, ProgressBar> {
|
|
|
26
16
|
get progress(): number;
|
|
27
17
|
set progress(val: number);
|
|
28
18
|
}
|
|
29
|
-
interface LabelCompProps extends BaseComponentProps<LabelComp> {
|
|
30
|
-
font?: string;
|
|
31
|
-
string?: string;
|
|
32
|
-
size?: number;
|
|
33
|
-
}
|
|
34
|
-
export declare class LabelComp extends ComponentX<LabelCompProps, Text> {
|
|
35
|
-
get string(): string;
|
|
36
|
-
set string(val: string);
|
|
37
|
-
get size(): number;
|
|
38
|
-
set size(val: number);
|
|
39
|
-
get font(): string;
|
|
40
|
-
set font(val: string);
|
|
41
|
-
}
|
|
42
19
|
interface ScrollViewProps {
|
|
43
20
|
width: number;
|
|
44
21
|
height: number;
|
|
@@ -47,31 +24,6 @@ export declare class ScrollView extends NoRenderComponentX<ScrollViewProps> {
|
|
|
47
24
|
}
|
|
48
25
|
export declare class BlockInputEventsComp extends NoRenderComponentX {
|
|
49
26
|
}
|
|
50
|
-
interface ProgressTimerProps extends BaseComponentProps<ProgressTimerComp> {
|
|
51
|
-
spriteFrame: string;
|
|
52
|
-
fillType?: number;
|
|
53
|
-
fillRange?: number;
|
|
54
|
-
fillCenter?: Point;
|
|
55
|
-
isReverse?: boolean;
|
|
56
|
-
}
|
|
57
|
-
export declare class ProgressTimerComp extends ComponentX<ProgressTimerProps, ProgressTimer> {
|
|
58
|
-
getFillRange(): number;
|
|
59
|
-
setFillStart(val: number): void;
|
|
60
|
-
setFillRange(val: number): void;
|
|
61
|
-
}
|
|
62
|
-
interface LabelOutlineCompProps {
|
|
63
|
-
color: Color4B;
|
|
64
|
-
width: number;
|
|
65
|
-
}
|
|
66
|
-
export declare class LabelOutlineComp extends NoRenderComponentX<LabelOutlineCompProps> {
|
|
67
|
-
}
|
|
68
|
-
interface LabelShadowCompProps extends BaseComponentProps<LabelShadowComp> {
|
|
69
|
-
color: Color4B;
|
|
70
|
-
blur: number;
|
|
71
|
-
offset?: Point;
|
|
72
|
-
}
|
|
73
|
-
export declare class LabelShadowComp extends NoRenderComponentX<LabelShadowCompProps> {
|
|
74
|
-
}
|
|
75
27
|
interface InputCompProps extends BaseComponentProps<InputComp> {
|
|
76
28
|
placeHolder?: string;
|
|
77
29
|
font?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/gui/GUIComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACjH,OAAO,
|
|
1
|
+
{"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/gui/GUIComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,eAAO,MAAM,QAAQ;;;;CAIpB,CAAA;AAID,qBAAa,eAAgB,SAAQ,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC;IAC9D,IAAI,iBAAqB;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,QAAQ,IAIM,MAAM,CAFvB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAEvB;CACF;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,eAAe,CAAC;CAAG;AAEtE,qBAAa,oBAAqB,SAAQ,kBAAkB;CAAG;AAE/D,UAAU,cAAe,SAAQ,kBAAkB,CAAC,SAAS,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,EAAE,CAAC,EAAE,MAAM,CAAA;CAEZ;AACD,qBAAa,SAAU,SAAQ,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC;IAC9D,IAAI,MAAM,WAET;CACF;AAED,qBAAa,QAAS,SAAQ,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC;CAAG;AACrD,qBAAa,UAAW,SAAQ,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,EAAE,SAAS,CAAA;CAClB;AACD,qBAAa,cAAe,SAAQ,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC;CAAG;AACjE,qBAAa,YAAa,SAAQ,UAAU,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;CAAE,EAAE,QAAQ,CAAC;CAAG"}
|
package/dist/gui/GUIComponent.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Assets, Text } from 'pixi.js';
|
|
2
1
|
import { ComponentX, NoRenderComponentX } from '../components/BaseComponent';
|
|
3
2
|
import { LoadingBarMode } from '../core/LoadingBar';
|
|
4
3
|
export const FillType = {
|
|
@@ -6,8 +5,8 @@ export const FillType = {
|
|
|
6
5
|
VERTICAL: 1,
|
|
7
6
|
RADIAL: 2,
|
|
8
7
|
};
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
// type Keys = keyof typeof FillType
|
|
9
|
+
// type Values = (typeof FillType)[Keys]
|
|
11
10
|
export class ProgressBarComp extends ComponentX {
|
|
12
11
|
constructor() {
|
|
13
12
|
super(...arguments);
|
|
@@ -20,63 +19,10 @@ export class ProgressBarComp extends ComponentX {
|
|
|
20
19
|
this.node.instance.progress = val;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
export class LabelComp extends ComponentX {
|
|
24
|
-
get string() {
|
|
25
|
-
return this.props.string;
|
|
26
|
-
}
|
|
27
|
-
set string(val) {
|
|
28
|
-
this.props.string = val;
|
|
29
|
-
if (!this.node)
|
|
30
|
-
return;
|
|
31
|
-
if (this.node.instance instanceof Text) {
|
|
32
|
-
this.node.instance.text = val;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
get size() {
|
|
36
|
-
return this.props.size;
|
|
37
|
-
}
|
|
38
|
-
set size(val) {
|
|
39
|
-
this.props.size = val;
|
|
40
|
-
if (!this.node)
|
|
41
|
-
return;
|
|
42
|
-
if (this.node.instance instanceof Text) {
|
|
43
|
-
this.node.instance.style.fontSize = val;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
get font() {
|
|
47
|
-
return this.props.font;
|
|
48
|
-
}
|
|
49
|
-
set font(val) {
|
|
50
|
-
this.props.font = val;
|
|
51
|
-
if (!this.node)
|
|
52
|
-
return;
|
|
53
|
-
// console.log('set font', val, Assets.get(val))
|
|
54
|
-
if (this.node.instance instanceof Text) {
|
|
55
|
-
if (Assets.get(val))
|
|
56
|
-
this.node.instance.style.fontFamily = Assets.get(val).family;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
22
|
export class ScrollView extends NoRenderComponentX {
|
|
61
23
|
}
|
|
62
24
|
export class BlockInputEventsComp extends NoRenderComponentX {
|
|
63
25
|
}
|
|
64
|
-
export class ProgressTimerComp extends ComponentX {
|
|
65
|
-
getFillRange() {
|
|
66
|
-
return this.node.instance.progress;
|
|
67
|
-
}
|
|
68
|
-
setFillStart(val) {
|
|
69
|
-
this.node.instance.fillCenter.x = val;
|
|
70
|
-
}
|
|
71
|
-
setFillRange(val) {
|
|
72
|
-
// console.log('setFillRange', this.node.instance);
|
|
73
|
-
this.node.instance.progress = val;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
export class LabelOutlineComp extends NoRenderComponentX {
|
|
77
|
-
}
|
|
78
|
-
export class LabelShadowComp extends NoRenderComponentX {
|
|
79
|
-
}
|
|
80
26
|
export class InputComp extends ComponentX {
|
|
81
27
|
get string() {
|
|
82
28
|
return this.node.instance.value;
|
package/dist/gui/GUISystem.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { EventManager, System } from 'entityx-ts';
|
|
2
2
|
import { GameWorld } from '../base';
|
|
3
3
|
export declare class GUISystem implements System {
|
|
4
|
-
defaultFont: string;
|
|
5
4
|
configure(event_manager: EventManager<GameWorld>): void;
|
|
6
5
|
}
|
|
7
6
|
//# sourceMappingURL=GUISystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GUISystem.d.ts","sourceRoot":"","sources":["../../src/gui/GUISystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"GUISystem.d.ts","sourceRoot":"","sources":["../../src/gui/GUISystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,qBAAa,SAAU,YAAW,MAAM;IACtC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC;CAwCjD"}
|
package/dist/gui/GUISystem.js
CHANGED
|
@@ -1,49 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckBox, Input, List, RadioGroup, ScrollBox } from '@pixi/ui';
|
|
2
2
|
import { EventTypes } from 'entityx-ts';
|
|
3
|
-
import { callFunc, easeBackIn, scaleTo, sequence } from 'pixi-action-ease';
|
|
4
|
-
import { Text } from 'pixi.js';
|
|
5
3
|
import { Color4B, NodeComp } from '..';
|
|
6
|
-
import {
|
|
7
|
-
import { ButtonComp, CheckBoxComp, InputComp, LabelComp, LabelOutlineComp, LabelShadowComp, ListComp, ProgressTimerComp, RadioGroupComp, ScrollView, } from './GUIComponent';
|
|
4
|
+
import { CheckBoxComp, InputComp, ListComp, RadioGroupComp, ScrollView } from './GUIComponent';
|
|
8
5
|
export class GUISystem {
|
|
9
6
|
configure(event_manager) {
|
|
10
|
-
event_manager.subscribe(EventTypes.ComponentAdded, ButtonComp, ({ entity, component }) => {
|
|
11
|
-
const nodeComp = entity.getComponent(NodeComp);
|
|
12
|
-
const { zoomScale = 1.2 } = component.props;
|
|
13
|
-
const button = new Button(nodeComp.instance);
|
|
14
|
-
component.node = nodeComp;
|
|
15
|
-
const lastScaleX = nodeComp.scaleX;
|
|
16
|
-
const lastScaleY = nodeComp.scaleY;
|
|
17
|
-
button.onPress.connect(() => {
|
|
18
|
-
if (!component.enabled)
|
|
19
|
-
return;
|
|
20
|
-
// console.log('onPress.connect')
|
|
21
|
-
const scale = scaleTo(0.3, zoomScale * lastScaleX, lastScaleY * zoomScale);
|
|
22
|
-
const scaleDown = scaleTo(0.3, lastScaleX, lastScaleY);
|
|
23
|
-
const seq = sequence(scale, callFunc(() => {
|
|
24
|
-
if (Object.prototype.hasOwnProperty.call(component.props, 'onPress')) {
|
|
25
|
-
component.props.onPress(component);
|
|
26
|
-
}
|
|
27
|
-
}), scaleDown);
|
|
28
|
-
const ease = easeBackIn(seq);
|
|
29
|
-
component.node.runAction(ease);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
7
|
// event_manager.subscribe(EventTypes.ComponentAdded, ProgressBarComp, ({ entity, component }) => {
|
|
33
8
|
// const { progress = 1, bg, fill } = component.props
|
|
34
9
|
// const node = new ProgressBar({ bg, fill, progress })
|
|
35
10
|
// component.node = entity.assign(new NodeComp(node, entity))
|
|
36
11
|
// })
|
|
37
|
-
event_manager.subscribe(EventTypes.ComponentAdded, ProgressTimerComp, ({ entity, component }) => {
|
|
38
|
-
// console.log(component, '.progress')
|
|
39
|
-
const { spriteFrame, fillCenter, fillRange = 0 } = component.props;
|
|
40
|
-
const node = new ProgressTimer(LoadingBarMode.BAR, spriteFrame);
|
|
41
|
-
if (fillCenter) {
|
|
42
|
-
node.fillCenter = fillCenter;
|
|
43
|
-
}
|
|
44
|
-
node.progress = fillRange * 100;
|
|
45
|
-
component.node = entity.assign(new NodeComp(node, entity));
|
|
46
|
-
});
|
|
47
12
|
event_manager.subscribe(EventTypes.ComponentAdded, ScrollView, ({ entity, component }) => {
|
|
48
13
|
const { width, height } = component.props;
|
|
49
14
|
const view = new ScrollBox({ width, height });
|
|
@@ -72,32 +37,6 @@ export class GUISystem {
|
|
|
72
37
|
const view = new Input({ bg, textStyle: { fontSize: size, fill: { color: Color4B(255, 255, 255, 255) } } });
|
|
73
38
|
component.node = entity.assign(new NodeComp(view, entity));
|
|
74
39
|
});
|
|
75
|
-
event_manager.subscribe(EventTypes.ComponentAdded, LabelComp, ({ entity, component }) => {
|
|
76
|
-
// console.log('ComponentAddedEvent LabelComp', component)
|
|
77
|
-
const node = new Text();
|
|
78
|
-
// node.texture.rotate = 8
|
|
79
|
-
node.style.fill = '#fff';
|
|
80
|
-
component.node = entity.assign(new NodeComp(node, entity));
|
|
81
|
-
const { string = '', font = this.defaultFont, size = 64 } = component.props;
|
|
82
|
-
if (font)
|
|
83
|
-
component.font = font;
|
|
84
|
-
component.size = size;
|
|
85
|
-
component.string = string;
|
|
86
|
-
});
|
|
87
|
-
event_manager.subscribe(EventTypes.ComponentAdded, LabelOutlineComp, ({ entity, component }) => {
|
|
88
|
-
const { color, width } = component.props;
|
|
89
|
-
const node = entity.getComponent(NodeComp);
|
|
90
|
-
if (node.instance instanceof Text) {
|
|
91
|
-
node.instance.style.stroke = { color, width };
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
event_manager.subscribe(EventTypes.ComponentAdded, LabelShadowComp, ({ entity, component }) => {
|
|
95
|
-
const { color, blur } = component.props;
|
|
96
|
-
const node = entity.getComponent(NodeComp);
|
|
97
|
-
if (node.instance instanceof Text) {
|
|
98
|
-
node.instance.style.dropShadow = { color, blur, alpha: 1, angle: 0, distance: 0 };
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
40
|
// event_manager.subscribe(EventTypes.ComponentAdded, BlockInputEventsComp), this);
|
|
102
41
|
}
|
|
103
42
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gui/index.ts"],"names":[],"mappings":"AAGA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAE3B,wBAAgB,QAAQ,SAIvB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GameWorld } from '..';
|
|
2
|
+
import { GUISystem } from './GUISystem';
|
|
3
|
+
export * from './GUIComponent';
|
|
4
|
+
export * from './GUISystem';
|
|
5
|
+
export function setupGUI() {
|
|
6
|
+
const world = GameWorld.Instance;
|
|
7
|
+
world.systems.add(GUISystem);
|
|
8
|
+
world.systems.configureOnce(GUISystem);
|
|
9
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,11 +6,9 @@ export * from './components/BaseComponent';
|
|
|
6
6
|
export * from './components/NodeComp';
|
|
7
7
|
export * from './components/Scene';
|
|
8
8
|
export * from './core';
|
|
9
|
-
export * from './gui
|
|
10
|
-
export * from './gui/GUISystem';
|
|
9
|
+
export * from './gui';
|
|
11
10
|
export * from './helper/utils';
|
|
12
|
-
export * from './norender
|
|
13
|
-
export * from './norender/Touch';
|
|
11
|
+
export * from './norender';
|
|
14
12
|
export * from './render/RenderComponent';
|
|
15
13
|
export * from './render/RenderSystem';
|
|
16
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,8 @@ export * from './components/BaseComponent';
|
|
|
6
6
|
export * from './components/NodeComp';
|
|
7
7
|
export * from './components/Scene';
|
|
8
8
|
export * from './core';
|
|
9
|
-
export * from './gui
|
|
10
|
-
export * from './gui/GUISystem';
|
|
9
|
+
export * from './gui';
|
|
11
10
|
export * from './helper/utils';
|
|
12
|
-
export * from './norender
|
|
13
|
-
export * from './norender/Touch';
|
|
11
|
+
export * from './norender';
|
|
14
12
|
export * from './render/RenderComponent';
|
|
15
13
|
export * from './render/RenderSystem';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BaseComponentProps } from '..';
|
|
1
2
|
import { NoRenderComponentX } from '../components/BaseComponent';
|
|
2
3
|
import { NodeComp } from '../components/NodeComp';
|
|
3
4
|
import { Touch } from './Touch';
|
|
@@ -7,7 +8,7 @@ export interface EventMap {
|
|
|
7
8
|
}
|
|
8
9
|
export type TouchEventCallback = (touch?: Touch, node?: NodeComp) => void;
|
|
9
10
|
export declare class EventRegister extends NoRenderComponentX {
|
|
10
|
-
events
|
|
11
|
+
private events;
|
|
11
12
|
on(name: string, callback: EventCallbackType, target?: any): void;
|
|
12
13
|
off(name: string, callback?: EventCallbackType, target?: any): any;
|
|
13
14
|
emit(name: string, ...params: any): void;
|
|
@@ -33,5 +34,14 @@ export declare class ExtraDataComp extends NoRenderComponentX<ExtraDataProps> {
|
|
|
33
34
|
getData<T>(key: string): T;
|
|
34
35
|
setData<T>(key: string, val: T): void;
|
|
35
36
|
}
|
|
37
|
+
interface ButtonCompProps extends BaseComponentProps<ButtonComp> {
|
|
38
|
+
normalImage?: string;
|
|
39
|
+
selectedImage?: string;
|
|
40
|
+
disableImage?: string;
|
|
41
|
+
zoomScale?: number;
|
|
42
|
+
onPress: (target: ButtonComp) => void;
|
|
43
|
+
}
|
|
44
|
+
export declare class ButtonComp extends NoRenderComponentX<ButtonCompProps> {
|
|
45
|
+
}
|
|
36
46
|
export {};
|
|
37
47
|
//# sourceMappingURL=NoRenderComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoRenderComponent.d.ts","sourceRoot":"","sources":["../../src/norender/NoRenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAA;AACjD,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;AAEzE,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,
|
|
1
|
+
{"version":3,"file":"NoRenderComponent.d.ts","sourceRoot":"","sources":["../../src/norender/NoRenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAA;AACjD,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;AAEzE,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,OAAO,CAAC,MAAM,CAAe;IAE7B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,GAAG;IAS1D,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,GAAG;IAK5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG;CAKlC;AAED,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,aAAa,CAAC,EAAE,kBAAkB,CAAA;CACnC;AACD,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACzE,QAAQ,EAAE,aAAa,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;CACb;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;CACX;AACD,qBAAa,aAAc,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACnE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAK;IAEjC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAG1B,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;CAG/B;AAED,UAAU,eAAgB,SAAQ,kBAAkB,CAAC,UAAU,CAAC;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;CACtC;AACD,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,eAAe,CAAC;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoRenderSystem.d.ts","sourceRoot":"","sources":["../../src/norender/NoRenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"NoRenderSystem.d.ts","sourceRoot":"","sources":["../../src/norender/NoRenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAS7D,qBAAa,cAAe,YAAW,MAAM;IAC3C,SAAS,CAAC,aAAa,EAAE,YAAY;CAkFtC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { EventTypes } from 'entityx-ts';
|
|
2
|
+
import { Button } from '@pixi/ui';
|
|
3
|
+
import { callFunc, easeBackIn, scaleTo, sequence } from 'pixi-action-ease';
|
|
2
4
|
import { NodeComp } from '../components/NodeComp';
|
|
3
|
-
import { ExtraDataComp, TouchEventRegister } from './NoRenderComponent';
|
|
5
|
+
import { ButtonComp, ExtraDataComp, TouchEventRegister } from './NoRenderComponent';
|
|
4
6
|
import { Touch } from './Touch';
|
|
5
7
|
export class NoRenderSystem {
|
|
6
8
|
configure(event_manager) {
|
|
@@ -15,43 +17,66 @@ export class NoRenderSystem {
|
|
|
15
17
|
touchComp.node = nodeComp;
|
|
16
18
|
const container = nodeComp.instance;
|
|
17
19
|
container.eventMode = 'static';
|
|
20
|
+
container.interactive = true;
|
|
18
21
|
if (touchComp.props.onTouchStart) {
|
|
19
|
-
container.on('
|
|
22
|
+
container.on('pointerdown', (event) => {
|
|
20
23
|
touchComp.props.onTouchStart(new Touch(event), nodeComp);
|
|
21
24
|
});
|
|
22
25
|
}
|
|
23
26
|
if (touchComp.props.onTouchMove) {
|
|
24
|
-
container.on('
|
|
27
|
+
container.on('pointermove', (event) => {
|
|
25
28
|
touchComp.props.onTouchMove(new Touch(event), nodeComp);
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
31
|
if (touchComp.props.onTouchEnd) {
|
|
29
|
-
container.on('
|
|
32
|
+
container.on('pointerup', (event) => {
|
|
30
33
|
touchComp.props.onTouchEnd(new Touch(event), nodeComp);
|
|
31
34
|
});
|
|
32
35
|
}
|
|
33
36
|
if (touchComp.props.onTouchCancel) {
|
|
34
|
-
container.on('
|
|
37
|
+
container.on('pointercancel', (event) => {
|
|
35
38
|
touchComp.props.onTouchCancel(new Touch(event), nodeComp);
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
41
|
});
|
|
39
42
|
event_manager.subscribe(EventTypes.ComponentRemoved, TouchEventRegister, ({ component }) => {
|
|
40
|
-
console.log('ComponentRemovedEvent TouchEventRegister', component)
|
|
43
|
+
// console.log('ComponentRemovedEvent TouchEventRegister', component)
|
|
41
44
|
const touchComp = component;
|
|
42
45
|
const container = touchComp.node.instance;
|
|
43
46
|
if (touchComp.props.onTouchStart) {
|
|
44
|
-
container.removeListener('
|
|
47
|
+
container.removeListener('pointerdown');
|
|
45
48
|
}
|
|
46
49
|
if (touchComp.props.onTouchMove) {
|
|
47
|
-
container.removeListener('
|
|
50
|
+
container.removeListener('pointermove');
|
|
48
51
|
}
|
|
49
52
|
if (touchComp.props.onTouchEnd) {
|
|
50
|
-
container.removeListener('
|
|
53
|
+
container.removeListener('pointerup');
|
|
51
54
|
}
|
|
52
55
|
if (touchComp.props.onTouchEnd) {
|
|
53
|
-
container.removeListener('
|
|
56
|
+
container.removeListener('pointercancel');
|
|
54
57
|
}
|
|
55
58
|
});
|
|
59
|
+
event_manager.subscribe(EventTypes.ComponentAdded, ButtonComp, ({ entity, component }) => {
|
|
60
|
+
const nodeComp = entity.getComponent(NodeComp);
|
|
61
|
+
const { zoomScale = 1.2 } = component.props;
|
|
62
|
+
const button = new Button(nodeComp.instance);
|
|
63
|
+
component.node = nodeComp;
|
|
64
|
+
const lastScaleX = nodeComp.scaleX;
|
|
65
|
+
const lastScaleY = nodeComp.scaleY;
|
|
66
|
+
button.onPress.connect(() => {
|
|
67
|
+
if (!component.enabled)
|
|
68
|
+
return;
|
|
69
|
+
// console.log('onPress.connect')
|
|
70
|
+
const scale = scaleTo(0.3, zoomScale * lastScaleX, lastScaleY * zoomScale);
|
|
71
|
+
const scaleDown = scaleTo(0.3, lastScaleX, lastScaleY);
|
|
72
|
+
const seq = sequence(scale, callFunc(() => {
|
|
73
|
+
if (Object.prototype.hasOwnProperty.call(component.props, 'onPress')) {
|
|
74
|
+
component.props.onPress(component);
|
|
75
|
+
}
|
|
76
|
+
}), scaleDown);
|
|
77
|
+
const ease = easeBackIn(seq);
|
|
78
|
+
component.node.runAction(ease);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
56
81
|
}
|
|
57
82
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/norender/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Graphics, Sprite } from 'pixi.js';
|
|
1
|
+
import { Graphics, Point, Sprite, Text } from 'pixi.js';
|
|
2
2
|
import { BaseComponentProps, Color4B, Vec2 } from '..';
|
|
3
3
|
import { ComponentX } from '../components/BaseComponent';
|
|
4
|
-
import { LoadingBarMode } from '../core/LoadingBar';
|
|
4
|
+
import { LoadingBarMode, ProgressTimer } from '../core/LoadingBar';
|
|
5
5
|
import { SpriteTypes } from './RenderSystem';
|
|
6
6
|
export declare class NodeRender extends ComponentX {
|
|
7
7
|
nodeName?: string;
|
|
@@ -38,5 +38,32 @@ interface MaskRenderProps extends BaseComponentProps<MaskRender> {
|
|
|
38
38
|
}
|
|
39
39
|
export declare class MaskRender extends ComponentX<MaskRenderProps> {
|
|
40
40
|
}
|
|
41
|
+
interface LabelCompProps extends BaseComponentProps<LabelComp> {
|
|
42
|
+
font?: string;
|
|
43
|
+
string?: string;
|
|
44
|
+
size?: number;
|
|
45
|
+
outline?: [Color4B, number];
|
|
46
|
+
shadow?: [Color4B, number];
|
|
47
|
+
}
|
|
48
|
+
export declare class LabelComp extends ComponentX<LabelCompProps, Text> {
|
|
49
|
+
get string(): string;
|
|
50
|
+
set string(val: string);
|
|
51
|
+
get size(): number;
|
|
52
|
+
set size(val: number);
|
|
53
|
+
get font(): string;
|
|
54
|
+
set font(val: string);
|
|
55
|
+
}
|
|
56
|
+
interface ProgressTimerProps extends BaseComponentProps<ProgressTimerComp> {
|
|
57
|
+
spriteFrame: string;
|
|
58
|
+
fillType?: number;
|
|
59
|
+
fillRange?: number;
|
|
60
|
+
fillCenter?: Point;
|
|
61
|
+
isReverse?: boolean;
|
|
62
|
+
}
|
|
63
|
+
export declare class ProgressTimerComp extends ComponentX<ProgressTimerProps, ProgressTimer> {
|
|
64
|
+
getFillRange(): number;
|
|
65
|
+
setFillStart(val: number): void;
|
|
66
|
+
setFillRange(val: number): void;
|
|
67
|
+
}
|
|
41
68
|
export {};
|
|
42
69
|
//# sourceMappingURL=RenderComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../src/render/RenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../src/render/RenderComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Texture } from 'pixi.js';
|
|
1
|
+
import { Assets, Text, Texture } from 'pixi.js';
|
|
2
2
|
import { ComponentX } from '../components/BaseComponent';
|
|
3
3
|
export class NodeRender extends ComponentX {
|
|
4
4
|
}
|
|
@@ -101,3 +101,52 @@ export class GraphicsRender extends ComponentX {
|
|
|
101
101
|
}
|
|
102
102
|
export class MaskRender extends ComponentX {
|
|
103
103
|
}
|
|
104
|
+
export class LabelComp extends ComponentX {
|
|
105
|
+
get string() {
|
|
106
|
+
return this.props.string;
|
|
107
|
+
}
|
|
108
|
+
set string(val) {
|
|
109
|
+
this.props.string = val;
|
|
110
|
+
if (!this.node)
|
|
111
|
+
return;
|
|
112
|
+
if (this.node.instance instanceof Text) {
|
|
113
|
+
this.node.instance.text = val;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
get size() {
|
|
117
|
+
return this.props.size;
|
|
118
|
+
}
|
|
119
|
+
set size(val) {
|
|
120
|
+
this.props.size = val;
|
|
121
|
+
if (!this.node)
|
|
122
|
+
return;
|
|
123
|
+
if (this.node.instance instanceof Text) {
|
|
124
|
+
this.node.instance.style.fontSize = val;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
get font() {
|
|
128
|
+
return this.props.font;
|
|
129
|
+
}
|
|
130
|
+
set font(val) {
|
|
131
|
+
this.props.font = val;
|
|
132
|
+
if (!this.node)
|
|
133
|
+
return;
|
|
134
|
+
// console.log('set font', val, Assets.get(val))
|
|
135
|
+
if (this.node.instance instanceof Text) {
|
|
136
|
+
if (Assets.get(val))
|
|
137
|
+
this.node.instance.style.fontFamily = Assets.get(val).family;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export class ProgressTimerComp extends ComponentX {
|
|
142
|
+
getFillRange() {
|
|
143
|
+
return this.node.instance.progress;
|
|
144
|
+
}
|
|
145
|
+
setFillStart(val) {
|
|
146
|
+
this.node.instance.fillCenter.x = val;
|
|
147
|
+
}
|
|
148
|
+
setFillRange(val) {
|
|
149
|
+
// console.log('setFillRange', this.node.instance);
|
|
150
|
+
this.node.instance.progress = val;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../src/render/RenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../src/render/RenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAO7D,oBAAY,WAAW;IACrB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,SAAS,IAAA;CACV;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,aAAa,EAAE,YAAY;CA4EtC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { EventTypes } from 'entityx-ts';
|
|
2
|
-
import { Container, Graphics, Sprite } from 'pixi.js';
|
|
2
|
+
import { Container, Graphics, Sprite, Text } from 'pixi.js';
|
|
3
3
|
import { NodeComp } from '..';
|
|
4
|
-
import {
|
|
4
|
+
import { LoadingBarMode, ProgressTimer } from '../core/LoadingBar';
|
|
5
|
+
import { GraphicsRender, LabelComp, MaskRender, NodeRender, ProgressTimerComp, SpriteRender } from './RenderComponent';
|
|
5
6
|
export var SpriteTypes;
|
|
6
7
|
(function (SpriteTypes) {
|
|
7
8
|
SpriteTypes[SpriteTypes["SIMPLE"] = 0] = "SIMPLE";
|
|
@@ -49,6 +50,36 @@ export class RenderSystem {
|
|
|
49
50
|
const node = new Graphics();
|
|
50
51
|
component.node = entity.assign(new NodeComp(node, entity));
|
|
51
52
|
});
|
|
53
|
+
event_manager.subscribe(EventTypes.ComponentAdded, ProgressTimerComp, ({ entity, component }) => {
|
|
54
|
+
// console.log(component, '.progress')
|
|
55
|
+
const { spriteFrame, fillCenter, fillRange = 0 } = component.props;
|
|
56
|
+
const node = new ProgressTimer(LoadingBarMode.BAR, spriteFrame);
|
|
57
|
+
if (fillCenter) {
|
|
58
|
+
node.fillCenter = fillCenter;
|
|
59
|
+
}
|
|
60
|
+
node.progress = fillRange * 100;
|
|
61
|
+
component.node = entity.assign(new NodeComp(node, entity));
|
|
62
|
+
});
|
|
63
|
+
event_manager.subscribe(EventTypes.ComponentAdded, LabelComp, ({ entity, component }) => {
|
|
64
|
+
// console.log('ComponentAddedEvent LabelComp', component)
|
|
65
|
+
const node = new Text();
|
|
66
|
+
// node.texture.rotate = 8
|
|
67
|
+
node.style.fill = '#fff';
|
|
68
|
+
component.node = entity.assign(new NodeComp(node, entity));
|
|
69
|
+
const { string = '', font = this.defaultFont, size = 64, outline, shadow } = component.props;
|
|
70
|
+
if (font)
|
|
71
|
+
component.font = font;
|
|
72
|
+
component.size = size;
|
|
73
|
+
component.string = string;
|
|
74
|
+
if (outline) {
|
|
75
|
+
const [color, width] = outline;
|
|
76
|
+
node.style.stroke = { color, width };
|
|
77
|
+
}
|
|
78
|
+
if (shadow) {
|
|
79
|
+
const [color, blur] = shadow;
|
|
80
|
+
node.style.dropShadow = { color, blur, alpha: 1, angle: 0, distance: 0 };
|
|
81
|
+
}
|
|
82
|
+
});
|
|
52
83
|
event_manager.subscribe(EventTypes.ComponentRemoved, NodeComp, ({ component }) => {
|
|
53
84
|
if (component) {
|
|
54
85
|
component.instance.removeFromParent();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@safe-engine/pixi",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.3",
|
|
4
4
|
"description": "safex pixi plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
"author": "",
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@esotericsoftware/spine-core": "^4.2.
|
|
21
|
-
"@pixi/ui": "^2.2.
|
|
20
|
+
"@esotericsoftware/spine-core": "^4.2.88",
|
|
21
|
+
"@pixi/ui": "^2.2.7",
|
|
22
22
|
"box2d-wasm": "^7.0.0",
|
|
23
23
|
"dragonbones-pixijs": "^1.0.5",
|
|
24
24
|
"entityx-ts": "^2.2.1",
|
|
25
|
-
"pixi-action-ease": "^3.2.
|
|
25
|
+
"pixi-action-ease": "^3.2.5",
|
|
26
26
|
"pixi-tagged-text-plus": "0.0.1-next.2",
|
|
27
27
|
"pixi.js": "8.11.0",
|
|
28
28
|
"planck": "^1.4.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"typescript": "^5.
|
|
31
|
+
"typescript": "^5.9.2"
|
|
32
32
|
}
|
|
33
33
|
}
|