@safe-engine/pixi 8.1.3 → 8.2.2
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/@types/index.d.ts +2 -0
- package/@types/safex.d.ts +168 -0
- package/README.md +9 -3
- package/dist/app.d.ts +1 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +25 -24
- package/dist/base/EnhancedComponent.d.ts +25 -0
- package/dist/base/EnhancedComponent.d.ts.map +1 -0
- package/dist/base/EnhancedComponent.js +26 -0
- package/dist/base/gworld.d.ts +8 -0
- package/dist/base/gworld.d.ts.map +1 -0
- package/dist/base/gworld.js +16 -0
- package/dist/base/index.d.ts +4 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +3 -0
- package/dist/base/utils.d.ts +6 -0
- package/dist/base/utils.d.ts.map +1 -0
- package/dist/base/utils.js +3 -0
- package/dist/collider/CollideComponent.d.ts +63 -0
- package/dist/collider/CollideComponent.d.ts.map +1 -0
- package/dist/collider/CollideComponent.js +238 -0
- package/dist/collider/CollideSystem.d.ts +26 -0
- package/dist/collider/CollideSystem.d.ts.map +1 -0
- package/dist/collider/CollideSystem.js +159 -0
- package/dist/collider/helper/Intersection.d.ts +7 -0
- package/dist/collider/helper/Intersection.d.ts.map +1 -0
- package/dist/collider/helper/Intersection.js +111 -0
- package/dist/collider/helper/utils.d.ts +3 -0
- package/dist/collider/helper/utils.d.ts.map +1 -0
- package/dist/collider/helper/utils.js +11 -0
- package/dist/collider/index.d.ts +3 -0
- package/dist/collider/index.d.ts.map +1 -0
- package/dist/collider/index.js +2 -0
- package/dist/components/BaseComponent.d.ts +6 -5
- package/dist/components/BaseComponent.d.ts.map +1 -1
- package/dist/components/BaseComponent.js +7 -9
- package/dist/components/NodeComp.d.ts +13 -13
- package/dist/components/NodeComp.d.ts.map +1 -1
- package/dist/components/NodeComp.js +34 -30
- package/dist/components/Scene.d.ts +2 -3
- package/dist/components/Scene.d.ts.map +1 -1
- package/dist/components/Scene.js +6 -10
- package/dist/core/Color.d.ts +1 -0
- package/dist/core/Color.d.ts.map +1 -1
- package/dist/core/Color.js +3 -6
- package/dist/core/LoadingBar.js +10 -15
- package/dist/core/NodePool.d.ts +9 -0
- package/dist/core/NodePool.d.ts.map +1 -0
- package/dist/core/NodePool.js +24 -0
- package/dist/core/Size.js +1 -4
- package/dist/core/director.d.ts +3 -0
- package/dist/core/director.d.ts.map +1 -0
- package/dist/core/director.js +7 -0
- package/dist/core/math.d.ts +4 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +10 -0
- package/dist/dragonbones/DragonBonesComponent.d.ts +17 -0
- package/dist/dragonbones/DragonBonesComponent.d.ts.map +1 -0
- package/dist/dragonbones/DragonBonesComponent.js +18 -0
- package/dist/dragonbones/DragonBonesSystem.d.ts +6 -0
- package/dist/dragonbones/DragonBonesSystem.d.ts.map +1 -0
- package/dist/dragonbones/DragonBonesSystem.js +29 -0
- package/dist/dragonbones/index.d.ts +3 -0
- package/dist/dragonbones/index.d.ts.map +1 -0
- package/dist/dragonbones/index.js +2 -0
- package/dist/{components → gui}/GUIComponent.d.ts +29 -23
- package/dist/gui/GUIComponent.d.ts.map +1 -0
- package/dist/gui/GUIComponent.js +123 -0
- package/dist/{systems → gui}/GUISystem.d.ts +1 -1
- package/dist/gui/GUISystem.d.ts.map +1 -0
- package/dist/gui/GUISystem.js +100 -0
- package/dist/helper/html-text-parser.d.ts +19 -29
- package/dist/helper/html-text-parser.d.ts.map +1 -1
- package/dist/helper/html-text-parser.js +57 -346
- package/dist/helper/utils.d.ts +2 -3
- package/dist/helper/utils.d.ts.map +1 -1
- package/dist/helper/utils.js +18 -23
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -28
- package/dist/norender/NoRenderComponent.d.ts +35 -0
- package/dist/norender/NoRenderComponent.d.ts.map +1 -0
- package/dist/norender/NoRenderComponent.js +53 -0
- package/dist/norender/NoRenderSystem.d.ts +5 -0
- package/dist/norender/NoRenderSystem.d.ts.map +1 -0
- package/dist/norender/NoRenderSystem.js +57 -0
- package/dist/planck/PhysicsComponent.d.ts +37 -0
- package/dist/planck/PhysicsComponent.d.ts.map +1 -0
- package/dist/planck/PhysicsComponent.js +52 -0
- package/dist/planck/PhysicsSprite.d.ts +16 -0
- package/dist/planck/PhysicsSprite.d.ts.map +1 -0
- package/dist/planck/PhysicsSprite.js +31 -0
- package/dist/planck/PhysicsSystem.d.ts +20 -0
- package/dist/planck/PhysicsSystem.d.ts.map +1 -0
- package/dist/planck/PhysicsSystem.js +187 -0
- package/dist/planck/index.d.ts +4 -0
- package/dist/planck/index.d.ts.map +1 -0
- package/dist/planck/index.js +3 -0
- package/dist/render/RenderComponent.d.ts +52 -0
- package/dist/render/RenderComponent.d.ts.map +1 -0
- package/dist/render/RenderComponent.js +104 -0
- package/dist/render/RenderSystem.d.ts.map +1 -0
- package/dist/render/RenderSystem.js +65 -0
- package/dist/spine/SpineComponent.d.ts +10 -0
- package/dist/spine/SpineComponent.d.ts.map +1 -0
- package/dist/spine/SpineComponent.js +3 -0
- package/dist/spine/SpineSystem.d.ts +5 -0
- package/dist/spine/SpineSystem.d.ts.map +1 -0
- package/dist/spine/SpineSystem.js +25 -0
- package/dist/spine/index.d.ts +3 -0
- package/dist/spine/index.d.ts.map +1 -0
- package/dist/spine/index.js +2 -0
- package/dist/spine/lib/BatchableSpineSlot.d.ts +59 -0
- package/dist/spine/lib/BatchableSpineSlot.d.ts.map +1 -0
- package/dist/spine/lib/BatchableSpineSlot.js +86 -0
- package/dist/spine/lib/Spine.d.ts +239 -0
- package/dist/spine/lib/Spine.d.ts.map +1 -0
- package/dist/spine/lib/Spine.js +628 -0
- package/dist/spine/lib/SpineDebugRenderer.d.ts +109 -0
- package/dist/spine/lib/SpineDebugRenderer.d.ts.map +1 -0
- package/dist/spine/lib/SpineDebugRenderer.js +474 -0
- package/dist/spine/lib/SpinePipe.d.ts +49 -0
- package/dist/spine/lib/SpinePipe.d.ts.map +1 -0
- package/dist/spine/lib/SpinePipe.js +148 -0
- package/dist/spine/lib/SpineTexture.d.ts +45 -0
- package/dist/spine/lib/SpineTexture.d.ts.map +1 -0
- package/dist/spine/lib/SpineTexture.js +114 -0
- package/dist/spine/lib/assets/atlasLoader.d.ts +34 -0
- package/dist/spine/lib/assets/atlasLoader.d.ts.map +1 -0
- package/dist/spine/lib/assets/atlasLoader.js +122 -0
- package/dist/spine/lib/assets/skeletonLoader.d.ts +30 -0
- package/dist/spine/lib/assets/skeletonLoader.d.ts.map +1 -0
- package/dist/spine/lib/assets/skeletonLoader.js +70 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts +33 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.js +84 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.d.ts +50 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.js +131 -0
- package/dist/spine/lib/darktint/DarkTintShader.d.ts +33 -0
- package/dist/spine/lib/darktint/DarkTintShader.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintShader.js +59 -0
- package/dist/spine/lib/darktint/darkTintBit.d.ts +51 -0
- package/dist/spine/lib/darktint/darkTintBit.d.ts.map +1 -0
- package/dist/spine/lib/darktint/darkTintBit.js +75 -0
- package/dist/spine/lib/index.d.ts +42 -0
- package/dist/spine/lib/index.d.ts.map +1 -0
- package/dist/spine/lib/index.js +41 -0
- package/dist/spine/lib/require-shim.d.ts +34 -0
- package/dist/spine/lib/require-shim.d.ts.map +1 -0
- package/dist/spine/lib/require-shim.js +38 -0
- package/package.json +12 -9
- package/dist/components/GUIComponent.d.ts.map +0 -1
- package/dist/components/GUIComponent.js +0 -126
- package/dist/components/RenderComponent.d.ts +0 -29
- package/dist/components/RenderComponent.d.ts.map +0 -1
- package/dist/components/RenderComponent.js +0 -58
- package/dist/systems/GUISystem.d.ts.map +0 -1
- package/dist/systems/GUISystem.js +0 -90
- package/dist/systems/RenderSystem.d.ts.map +0 -1
- package/dist/systems/RenderSystem.js +0 -67
- /package/dist/{systems → render}/RenderSystem.d.ts +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { NodeComp, TouchEVentCallback } from "../src";
|
|
2
|
+
import { Color4B } from "../src/core/Color";
|
|
3
|
+
|
|
4
|
+
interface BaseComponentProps {
|
|
5
|
+
$ref?: object;
|
|
6
|
+
$push?: object[];
|
|
7
|
+
node?: Partial<NodeComp>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface NodeCompProps {
|
|
11
|
+
nodeName?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface SpriteRenderProps {
|
|
15
|
+
spriteFrame: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface GraphicsRenderProps {
|
|
19
|
+
lineWidth?: number
|
|
20
|
+
strokeColor?: Color4B
|
|
21
|
+
fillColor?: Color4B
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface MaskRenderProps {
|
|
25
|
+
type?: number
|
|
26
|
+
segments?: number
|
|
27
|
+
inverted?: boolean
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface ProgressTimerProps {
|
|
31
|
+
spriteFrame: string
|
|
32
|
+
fillType?: LoadingBarMode
|
|
33
|
+
fillRange?: number
|
|
34
|
+
fillCenter?: Point
|
|
35
|
+
isReverse?: boolean
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface LoadingBarProps {
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface LabelCompProps {
|
|
42
|
+
font?: string
|
|
43
|
+
string?: string
|
|
44
|
+
size?: number
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface ScrollViewProps {
|
|
48
|
+
width: number
|
|
49
|
+
height: number
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
interface LabelOutlineCompProps {
|
|
53
|
+
color: Color4B
|
|
54
|
+
width: number
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface LabelShadowCompProps {
|
|
58
|
+
color: Color4B
|
|
59
|
+
blur: number
|
|
60
|
+
offset: Point
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
interface ColliderProps {
|
|
64
|
+
offset?: Point
|
|
65
|
+
tag?: number
|
|
66
|
+
enabled?: boolean
|
|
67
|
+
onCollisionEnter?: (other: Collider) => void
|
|
68
|
+
onCollisionExit?: (other: Collider) => void
|
|
69
|
+
onCollisionStay?: (other: Collider) => void
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
interface BoxColliderProps extends ColliderProps {
|
|
73
|
+
width: number
|
|
74
|
+
height: number
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
interface CircleColliderProps extends ColliderProps {
|
|
78
|
+
radius: number
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
interface PolygonColliderProps extends ColliderProps {
|
|
82
|
+
points: Array<Point>
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface SpineData {
|
|
86
|
+
atlas: string
|
|
87
|
+
skeleton: string
|
|
88
|
+
texture?: string
|
|
89
|
+
}
|
|
90
|
+
interface SpineSkeletonProps {
|
|
91
|
+
data: SpineData
|
|
92
|
+
skin?: string
|
|
93
|
+
animation?: string
|
|
94
|
+
timeScale?: number
|
|
95
|
+
loop?: boolean
|
|
96
|
+
}
|
|
97
|
+
interface DragonBonesData {
|
|
98
|
+
atlas: string
|
|
99
|
+
skeleton: string
|
|
100
|
+
texture: string
|
|
101
|
+
}
|
|
102
|
+
interface DragonBonesProps {
|
|
103
|
+
data: DragonBonesData
|
|
104
|
+
skin?: string
|
|
105
|
+
animation?: string
|
|
106
|
+
playTimes?: number
|
|
107
|
+
timeScale?: number
|
|
108
|
+
onAnimationStart?: (event: { name: string }) => void
|
|
109
|
+
onAnimationEnd?: (event: { name: string }) => void
|
|
110
|
+
onAnimationComplete?: (event: { name: string }) => void
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
interface ExtraDataProps {
|
|
114
|
+
key: string
|
|
115
|
+
value: any
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
interface ButtonCompProps {
|
|
119
|
+
normalImage?: string
|
|
120
|
+
selectedImage?: string
|
|
121
|
+
disableImage?: string
|
|
122
|
+
zoomScale?: number
|
|
123
|
+
onPress: (target: ButtonComp) => void
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
interface TouchEventProps {
|
|
127
|
+
onTouchStart?: TouchEVentCallback
|
|
128
|
+
onTouchMove?: TouchEVentCallback
|
|
129
|
+
onTouchEnd?: TouchEVentCallback
|
|
130
|
+
onTouchCancel?: TouchEVentCallback
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export type BodyType = 'kinematic' | 'dynamic' | 'static'
|
|
134
|
+
interface RigidBodyProps {
|
|
135
|
+
type?: BodyType
|
|
136
|
+
density?: Float
|
|
137
|
+
restitution?: Float
|
|
138
|
+
friction?: Float
|
|
139
|
+
gravityScale?: Float
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
interface PhysicsMaterialProps {
|
|
143
|
+
friction?: number
|
|
144
|
+
restitution?: number
|
|
145
|
+
density?: number
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
interface ColliderPhysicsProps {
|
|
149
|
+
tag?: number
|
|
150
|
+
group?: number
|
|
151
|
+
offset?: Vec2
|
|
152
|
+
onCollisionEnter?: (other: Collider) => void
|
|
153
|
+
onCollisionExit?: (other: Collider) => void
|
|
154
|
+
onCollisionStay?: (other: Collider) => void
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface BoxColliderPhysicsProps extends ColliderPhysicsProps {
|
|
158
|
+
width: number
|
|
159
|
+
height: number
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
interface CircleColliderPhysicsProps extends ColliderPhysicsProps {
|
|
163
|
+
radius: number
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
interface PolygonColliderPhysicsProps extends ColliderPhysicsProps {
|
|
167
|
+
points: Array<Vec2>
|
|
168
|
+
}
|
package/README.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
# Guide
|
|
2
|
-
- components must be
|
|
3
|
-
-
|
|
4
|
-
-
|
|
2
|
+
- all components must be extends from `ComponentX` or `NoRenderComponentX`
|
|
3
|
+
- `NoRenderComponentX` will append to component of parent node have `ComponentX`, `ComponentX` will be `addChild` to parent node
|
|
4
|
+
- `node` property represent node, and can pass properties to assign
|
|
5
|
+
- example ```<SpriteRender node={{ x: 5, y: 9 }} />```
|
|
6
|
+
- `$ref` bind component with current class property as string
|
|
7
|
+
- `$push` push component to list
|
|
8
|
+
- `Array(2).map(_, i)` iteration repeat component 2 times
|
|
9
|
+
- `Loading.listItems.map(item, i)` iteration in static property
|
|
10
|
+
- `listItems.map(item, i)` iteration in const variable
|
package/dist/app.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Constructor, System } from 'entityx-ts';
|
|
2
1
|
import { Application } from 'pixi.js';
|
|
3
2
|
export declare const app: Application<import("pixi.js").Renderer>;
|
|
4
3
|
export declare function addGameCanvasTo(id?: string): Promise<void>;
|
|
@@ -6,5 +5,5 @@ export declare function setupResolution(designedResolution?: {
|
|
|
6
5
|
width: number;
|
|
7
6
|
height: number;
|
|
8
7
|
}): void;
|
|
9
|
-
export declare function
|
|
8
|
+
export declare function startGameSystems(): void;
|
|
10
9
|
//# sourceMappingURL=app.d.ts.map
|
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,MAAM,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAUrC,eAAO,MAAM,GAAG,yCAAoB,CAAA;AAEpC,wBAAsB,eAAe,CAAC,EAAE,SAAS,iBAehD;AAED,wBAAgB,eAAe,CAAC,kBAAkB;;;CAA+B,QAKhF;AAaD,wBAAgB,gBAAgB,SAU/B"}
|
package/dist/app.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,18 +7,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
import { actionManager } from 'pixi-action-ease';
|
|
11
|
+
import { Application } from 'pixi.js';
|
|
12
|
+
import { GameWorld } from './base';
|
|
13
|
+
import { CollideSystem } from './collider';
|
|
14
|
+
import { DragonBonesSystem } from './dragonbones';
|
|
15
|
+
import { GUISystem } from './gui/GUISystem';
|
|
16
|
+
import { NoRenderSystem } from './norender/NoRenderSystem';
|
|
17
|
+
import { PhysicsSystem } from './planck';
|
|
18
|
+
import { RenderSystem } from './render/RenderSystem';
|
|
19
|
+
import { SpineSystem } from './spine';
|
|
20
|
+
export const app = new Application();
|
|
21
|
+
export function addGameCanvasTo() {
|
|
21
22
|
return __awaiter(this, arguments, void 0, function* (id = 'game') {
|
|
22
|
-
yield
|
|
23
|
+
yield app.init({
|
|
23
24
|
antialias: true,
|
|
24
25
|
resolution: window.devicePixelRatio,
|
|
25
26
|
resizeTo: window,
|
|
@@ -35,30 +36,30 @@ function addGameCanvasTo() {
|
|
|
35
36
|
// GameWorld.Instance.setup(NodeComp, app.stage)
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
|
-
function setupResolution(designedResolution = { width: 720, height: 1280 }) {
|
|
39
|
+
export function setupResolution(designedResolution = { width: 720, height: 1280 }) {
|
|
39
40
|
const { width, height } = designedResolution;
|
|
40
|
-
|
|
41
|
+
app.renderer.resize(width, height);
|
|
41
42
|
// app.stage.position.y = app.renderer.height / app.renderer.resolution
|
|
42
43
|
// app.stage.scale.y = -1
|
|
43
44
|
}
|
|
44
45
|
function startGameLoop(world) {
|
|
45
46
|
// Listen for frame updates
|
|
46
|
-
|
|
47
|
-
const dt =
|
|
48
|
-
|
|
47
|
+
app.ticker.add(() => {
|
|
48
|
+
const dt = app.ticker.deltaMS * 0.001;
|
|
49
|
+
actionManager.update(dt);
|
|
49
50
|
world.update(dt);
|
|
50
51
|
});
|
|
51
52
|
// app.ticker.speed = 0.5
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const systemsList = [RenderSystem, GUISystem, SpineSystem, DragonBonesSystem, CollideSystem, PhysicsSystem, NoRenderSystem];
|
|
55
|
+
export function startGameSystems() {
|
|
56
|
+
const world = GameWorld.Instance;
|
|
55
57
|
systemsList.forEach(system => {
|
|
56
58
|
world.systems.add(system);
|
|
57
|
-
|
|
58
|
-
if (sys.update) {
|
|
59
|
-
world.listUpdate.push(system);
|
|
60
|
-
}
|
|
59
|
+
world.systems.configureOnce(system);
|
|
61
60
|
});
|
|
62
|
-
world.
|
|
61
|
+
world.listUpdate.push(CollideSystem);
|
|
62
|
+
world.listUpdate.push(PhysicsSystem);
|
|
63
63
|
startGameLoop(world);
|
|
64
|
+
// console.log('startGameLoop', world.listUpdate)
|
|
64
65
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Constructor, Entity } from 'entityx-ts';
|
|
2
|
+
import { BaseComponentProps } from '../../@types/safex';
|
|
3
|
+
export interface BaseNode<C> {
|
|
4
|
+
active: boolean;
|
|
5
|
+
entity: Entity;
|
|
6
|
+
instance: C;
|
|
7
|
+
addComponent<T extends EnhancedComponent>(instance: T): T;
|
|
8
|
+
getComponent<T extends ComponentType>(component: Constructor<T>): T;
|
|
9
|
+
getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
|
|
10
|
+
getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
|
|
11
|
+
}
|
|
12
|
+
export declare class EnhancedComponent<Props = Object, N extends BaseNode<any> = BaseNode<any>> {
|
|
13
|
+
constructor(data?: BaseComponentProps & Props);
|
|
14
|
+
node: N;
|
|
15
|
+
actionsMap: {
|
|
16
|
+
[key: string]: Animation;
|
|
17
|
+
};
|
|
18
|
+
addComponent<T extends EnhancedComponent>(instance: any): T;
|
|
19
|
+
getComponent<T extends ComponentType>(component: Constructor<T>): T;
|
|
20
|
+
getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
|
|
21
|
+
getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
|
|
22
|
+
isEqual(other: EnhancedComponent): boolean;
|
|
23
|
+
}
|
|
24
|
+
export type ComponentType = EnhancedComponent | BaseNode<any>;
|
|
25
|
+
//# sourceMappingURL=EnhancedComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedComponent.d.ts","sourceRoot":"","sources":["../../src/base/EnhancedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,CAAA;IACX,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;IACzD,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACnE,uBAAuB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IAChF,sBAAsB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAE9E;AAED,qBAAa,iBAAiB,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;gBACxE,IAAI,CAAC,EAAE,kBAAkB,GAAG,KAAK;IAQ7C,IAAI,EAAE,CAAC,CAAA;IACP,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,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,CAAC,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class EnhancedComponent {
|
|
2
|
+
constructor(data) {
|
|
3
|
+
this.actionsMap = {};
|
|
4
|
+
if (data) {
|
|
5
|
+
// console.log('constructor', this.constructor.name, data)
|
|
6
|
+
Object.keys(data).forEach((key) => {
|
|
7
|
+
this[key] = data[key];
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
addComponent(instance) {
|
|
12
|
+
return this.node.addComponent(instance);
|
|
13
|
+
}
|
|
14
|
+
getComponent(component) {
|
|
15
|
+
return this.node.getComponent(component);
|
|
16
|
+
}
|
|
17
|
+
getComponentsInChildren(component) {
|
|
18
|
+
return this.node.getComponentsInChildren(component);
|
|
19
|
+
}
|
|
20
|
+
getComponentInChildren(component) {
|
|
21
|
+
return this.node.getComponentInChildren(component);
|
|
22
|
+
}
|
|
23
|
+
isEqual(other) {
|
|
24
|
+
return this.node.entity.id === other.node.entity.id;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Constructor, System, World } from 'entityx-ts';
|
|
2
|
+
export declare class GameWorld extends World {
|
|
3
|
+
listUpdate: (System | Constructor<System>)[];
|
|
4
|
+
update(dt: number): void;
|
|
5
|
+
private static _instance;
|
|
6
|
+
static get Instance(): GameWorld;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=gworld.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gworld.d.ts","sourceRoot":"","sources":["../../src/base/gworld.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvD,qBAAa,SAAU,SAAQ,KAAK;IAClC,UAAU,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAK;IACjD,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAW;IAEnC,WAAkB,QAAQ,cAGzB;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { World } from 'entityx-ts';
|
|
2
|
+
export class GameWorld extends World {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.listUpdate = [];
|
|
6
|
+
}
|
|
7
|
+
update(dt) {
|
|
8
|
+
this.listUpdate.forEach((system) => {
|
|
9
|
+
this.systems.update(system, dt);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
static get Instance() {
|
|
13
|
+
// Do you need arguments? Make it a regular static method instead.
|
|
14
|
+
return this._instance || (this._instance = new this());
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Constructor } from 'entityx-ts';
|
|
2
|
+
import { EnhancedComponent } from '.';
|
|
3
|
+
export declare function instantiate<C extends Constructor<EnhancedComponent>, D>(Component: C & {
|
|
4
|
+
create?(data?: D): any;
|
|
5
|
+
}, data?: D): InstanceType<C>;
|
|
6
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAErC,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,EACrE,SAAS,EAAE,CAAC,GAAG;IAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAC;CAAE,EACpC,IAAI,CAAC,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,CAAC,CAEjB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Graphics, Point, Rectangle, Size } from 'pixi.js';
|
|
2
|
+
import { BoxColliderProps, CircleColliderProps, PolygonColliderProps } from '../../@types/safex';
|
|
3
|
+
import { NoRenderComponentX } from '../components/BaseComponent';
|
|
4
|
+
export declare class Collider extends NoRenderComponentX {
|
|
5
|
+
offset: Point;
|
|
6
|
+
tag: number;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
_worldPoints: Point[];
|
|
9
|
+
_worldPosition: Point;
|
|
10
|
+
_worldRadius: any;
|
|
11
|
+
_AABB: Rectangle;
|
|
12
|
+
_preAabb: Rectangle;
|
|
13
|
+
onCollisionEnter?: (other: Collider) => void;
|
|
14
|
+
onCollisionExit?: (other: Collider) => void;
|
|
15
|
+
onCollisionStay?: (other: Collider) => void;
|
|
16
|
+
update(dt: number, draw?: Graphics): void;
|
|
17
|
+
getAABB(): Rectangle;
|
|
18
|
+
get world(): {
|
|
19
|
+
points: Point[];
|
|
20
|
+
preAabb: Rectangle;
|
|
21
|
+
};
|
|
22
|
+
setOnCollisionEnter(cb: (other: Collider) => void): void;
|
|
23
|
+
setOnCollisionExit(cb: (other: Collider) => void): void;
|
|
24
|
+
setOnCollisionStay(cb: (other: Collider) => void): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class BoxCollider extends Collider {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
constructor(props: BoxColliderProps);
|
|
30
|
+
get size(): Size;
|
|
31
|
+
set size(s: Size);
|
|
32
|
+
update(dt: any, draw: Graphics): void;
|
|
33
|
+
}
|
|
34
|
+
export declare class CircleCollider extends Collider {
|
|
35
|
+
radius: number;
|
|
36
|
+
constructor(props: CircleColliderProps);
|
|
37
|
+
update(dt: any, draw: Graphics): void;
|
|
38
|
+
}
|
|
39
|
+
export declare class PolygonCollider extends Collider {
|
|
40
|
+
_points: number[];
|
|
41
|
+
constructor(props: PolygonColliderProps);
|
|
42
|
+
get points(): Point[];
|
|
43
|
+
set points(points: Point[]);
|
|
44
|
+
update(dt: any, draw: Graphics): void;
|
|
45
|
+
}
|
|
46
|
+
export declare enum CollisionType {
|
|
47
|
+
NONE = 0,
|
|
48
|
+
ENTER = 1,
|
|
49
|
+
STAY = 2,
|
|
50
|
+
EXIT = 3
|
|
51
|
+
}
|
|
52
|
+
export declare class Contract {
|
|
53
|
+
_collider1: Collider;
|
|
54
|
+
_collider2: Collider;
|
|
55
|
+
_touching: boolean;
|
|
56
|
+
_isPolygonPolygon: boolean;
|
|
57
|
+
_isCircleCircle: boolean;
|
|
58
|
+
_isPolygonCircle: boolean;
|
|
59
|
+
constructor(collider1: Collider, collider2: Collider);
|
|
60
|
+
updateState(): CollisionType;
|
|
61
|
+
test(): boolean;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=CollideComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAEhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAiBhE,qBAAa,QAAS,SAAQ,kBAAkB;IAC9C,MAAM,EAAE,KAAK,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,UAAO;IACd,YAAY,EAAE,KAAK,EAAE,CAAK;IAC1B,cAAc,EAAE,KAAK,CAAA;IACrB,YAAY,MAAA;IACZ,KAAK,EAAE,SAAS,CAA4B;IAC5C,QAAQ,EAAE,SAAS,CAA4B;IAC/C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAE3C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ;IAClC,OAAO;IAGP,IAAI,KAAK;;;MAKR;IACD,mBAAmB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI;IAIjD,kBAAkB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI;IAIhD,kBAAkB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI;CAIjD;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;gBACF,KAAK,EAAE,gBAAgB;IAInC,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,EAGf;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,QAAQ;CAkC1B;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,EAAE,MAAM,CAAA;gBACF,KAAK,EAAE,mBAAmB;IAGtC,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,QAAQ;CAuB1B;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAA;gBAEL,KAAK,EAAE,oBAAoB;IAKvC,IAAI,MAAM,IAAI,KAAK,EAAE,CAIpB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAEzB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,QAAQ;CAsB1B;AAED,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;CACL;AASD,qBAAa,QAAQ;IACnB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;gBAEb,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAsBpD,WAAW;IAiBX,IAAI;CAyBL"}
|