@safe-engine/cocos 1.10.3 → 2.1.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/README.md +2 -9
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +1 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +5 -12
- package/dist/box2d-wasm/PhysicsComponent.d.ts +5 -5
- package/dist/box2d-wasm/PhysicsComponent.d.ts.map +1 -1
- package/dist/box2d-wasm/PhysicsComponent.js +5 -5
- package/dist/box2d-wasm/PhysicsSystem.d.ts +1 -1
- package/dist/box2d-wasm/PhysicsSystem.d.ts.map +1 -1
- package/dist/box2d-wasm/PhysicsSystem.js +9 -1
- package/dist/box2d-wasm/debugDraw.d.ts.map +1 -1
- package/dist/box2d-wasm/debugDraw.js +6 -3
- package/dist/box2d-wasm/index.d.ts.map +1 -1
- package/dist/box2d-wasm/index.js +3 -5
- package/dist/collider/CollideComponent.d.ts +7 -8
- package/dist/collider/CollideComponent.d.ts.map +1 -1
- package/dist/collider/CollideComponent.js +42 -42
- package/dist/collider/CollideSystem.d.ts +1 -1
- package/dist/collider/CollideSystem.d.ts.map +1 -1
- package/dist/collider/CollideSystem.js +8 -11
- package/dist/collider/index.d.ts.map +1 -1
- package/dist/collider/index.js +1 -4
- package/dist/core/EnhancedComponent.d.ts +0 -1
- package/dist/core/EnhancedComponent.d.ts.map +1 -1
- package/dist/core/EnhancedComponent.js +0 -1
- package/dist/core/NodeComp.d.ts +2 -4
- package/dist/core/NodeComp.d.ts.map +1 -1
- package/dist/core/NodeComp.js +9 -9
- package/dist/core/decorator.d.ts +1 -3
- package/dist/core/decorator.d.ts.map +1 -1
- package/dist/core/decorator.js +6 -9
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +5 -0
- package/dist/dragonbones/index.d.ts.map +1 -1
- package/dist/dragonbones/index.js +3 -4
- package/dist/gui/GUIComponent.d.ts +3 -3
- package/dist/gui/GUIComponent.d.ts.map +1 -1
- package/dist/gui/GUIComponent.js +7 -3
- package/dist/gworld/EnhancedComponent.d.ts +22 -0
- package/dist/gworld/EnhancedComponent.d.ts.map +1 -0
- package/dist/gworld/EnhancedComponent.js +44 -0
- package/dist/gworld/NodeComp.d.ts +153 -0
- package/dist/gworld/NodeComp.d.ts.map +1 -0
- package/dist/gworld/NodeComp.js +337 -0
- package/dist/gworld/NodePool.d.ts +9 -0
- package/dist/gworld/NodePool.d.ts.map +1 -0
- package/dist/gworld/NodePool.js +23 -0
- package/dist/gworld/Scene.d.ts +5 -0
- package/dist/gworld/Scene.d.ts.map +1 -0
- package/dist/gworld/Scene.js +14 -0
- package/dist/gworld/decorator.d.ts +8 -0
- package/dist/gworld/decorator.d.ts.map +1 -0
- package/dist/gworld/decorator.js +12 -0
- package/dist/gworld/index.d.ts +8 -0
- package/dist/gworld/index.d.ts.map +1 -0
- package/dist/gworld/index.js +14 -0
- package/dist/gworld.d.ts +2 -1
- package/dist/gworld.d.ts.map +1 -1
- package/dist/gworld.js +4 -1
- package/dist/helper/utils.d.ts +2 -2
- package/dist/helper/utils.d.ts.map +1 -1
- package/dist/helper/utils.js +1 -3
- package/dist/norender/NoRenderComponent.d.ts +5 -5
- package/dist/norender/NoRenderComponent.d.ts.map +1 -1
- package/dist/norender/NoRenderComponent.js +4 -4
- package/dist/render/RenderComponent.d.ts.map +1 -1
- package/dist/render/RenderComponent.js +7 -1
- package/dist/richtext/RichTextComp.d.ts.map +1 -1
- package/dist/richtext/RichTextComp.js +2 -1
- package/dist/richtext/index.d.ts.map +1 -1
- package/dist/richtext/index.js +1 -2
- package/dist/spine/index.d.ts.map +1 -1
- package/dist/spine/index.js +3 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
# Guide
|
|
2
|
-
|
|
3
|
-
-
|
|
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 = 1)` iteration in static property
|
|
10
|
-
- `listItems.map(item, i)` iteration in const variable
|
|
2
|
+
|
|
3
|
+
- Refer Pixi docs: [Pixi](https://github.com/Safe-engine/safex-pixi)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,SAG7B"}
|
package/dist/animation/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { GameWorld } from '../gworld';
|
|
2
2
|
import { AnimationSystem } from './AnimationSystem';
|
|
3
3
|
export function setupAnimation() {
|
|
4
|
-
GameWorld.Instance.systems.
|
|
4
|
+
GameWorld.Instance.systems.addThenConfigure(AnimationSystem);
|
|
5
5
|
GameWorld.Instance.listUpdate.push(AnimationSystem);
|
|
6
|
-
GameWorld.Instance.systems.configureOnce(AnimationSystem);
|
|
7
6
|
}
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,QAQ7C;AACD,UAAU,UAAU;IAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CACtB;AACD,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;;;CAAA,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,iBA2CnG;AAED,wBAAgB,OAAO,CAAC,MAAM,GAAE,MAAM,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,IAAI,QA0BvG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAIxD;AAED,eAAO,MAAM,WAAW,uBAAiB,CAAA"}
|
package/dist/app.js
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
|
-
import { CollideSystem } from './collider/CollideSystem';
|
|
2
1
|
import { GUISystem } from './gui';
|
|
3
2
|
import { GameWorld } from './gworld';
|
|
4
3
|
import { NoRenderSystem } from './norender';
|
|
5
4
|
import { RenderSystem } from './render';
|
|
6
5
|
export function initWorld(defaultFont) {
|
|
7
|
-
GameWorld.Instance
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
GameWorld.Instance.listUpdate.push(CollideSystem);
|
|
12
|
-
GameWorld.Instance.systems.configureOnce(RenderSystem);
|
|
13
|
-
GameWorld.Instance.systems.configureOnce(CollideSystem);
|
|
14
|
-
GameWorld.Instance.systems.configureOnce(GUISystem);
|
|
15
|
-
GameWorld.Instance.systems.configureOnce(NoRenderSystem);
|
|
6
|
+
const world = GameWorld.Instance;
|
|
7
|
+
world.systems.addThenConfigure(RenderSystem);
|
|
8
|
+
const fontSystem = world.systems.addThenConfigure(GUISystem);
|
|
9
|
+
world.systems.addThenConfigure(NoRenderSystem);
|
|
16
10
|
if (defaultFont) {
|
|
17
|
-
|
|
18
|
-
guiSystem.defaultFont = defaultFont;
|
|
11
|
+
fontSystem.defaultFont = defaultFont;
|
|
19
12
|
}
|
|
20
13
|
}
|
|
21
14
|
export async function startGame(defaultFont, { width, height }, option) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentX } from '../core/decorator';
|
|
2
2
|
import { Vec2 } from '../polyfills';
|
|
3
3
|
import { BaseComponentProps } from '../safex';
|
|
4
4
|
import { PhysicsSprite } from './PhysicsSprite';
|
|
@@ -15,7 +15,7 @@ interface RigidBodyProps {
|
|
|
15
15
|
onPreSolve?: (other: RigidBody, impulse?: any) => void;
|
|
16
16
|
onPostSolve?: (other: RigidBody, oldManifold?: any) => void;
|
|
17
17
|
}
|
|
18
|
-
export declare class RigidBody extends
|
|
18
|
+
export declare class RigidBody extends ComponentX<RigidBodyProps> {
|
|
19
19
|
body: Box2D.b2Body;
|
|
20
20
|
physicSprite: PhysicsSprite;
|
|
21
21
|
set linearVelocity(vel: Vec2);
|
|
@@ -31,19 +31,19 @@ interface BoxColliderPhysicsProps {
|
|
|
31
31
|
height: number;
|
|
32
32
|
offset?: [number, number];
|
|
33
33
|
}
|
|
34
|
-
export declare class PhysicsBoxCollider extends
|
|
34
|
+
export declare class PhysicsBoxCollider extends ComponentX<BoxColliderPhysicsProps & BaseComponentProps<PhysicsBoxCollider>> {
|
|
35
35
|
}
|
|
36
36
|
interface CircleColliderPhysicsProps {
|
|
37
37
|
radius: number;
|
|
38
38
|
offset?: [number, number];
|
|
39
39
|
}
|
|
40
|
-
export declare class PhysicsCircleCollider extends
|
|
40
|
+
export declare class PhysicsCircleCollider extends ComponentX<CircleColliderPhysicsProps & BaseComponentProps<PhysicsCircleCollider>> {
|
|
41
41
|
}
|
|
42
42
|
interface PolygonColliderPhysicsProps {
|
|
43
43
|
points: Array<Vec2> | [number, number][];
|
|
44
44
|
offset?: [number, number];
|
|
45
45
|
}
|
|
46
|
-
export declare class PhysicsPolygonCollider extends
|
|
46
|
+
export declare class PhysicsPolygonCollider extends ComponentX<PolygonColliderPhysicsProps & BaseComponentProps<PhysicsPolygonCollider>> {
|
|
47
47
|
}
|
|
48
48
|
export {};
|
|
49
49
|
//# sourceMappingURL=PhysicsComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsComponent.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PhysicsComponent.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACzC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAA,KAAK,IAAI,CAAA;IACjD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,KAAA,KAAK,IAAI,CAAA;CACvD;AAED,qBAAa,SAAU,SAAQ,UAAU,CAAC,cAAc,CAAC;IACvD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAA;IAClB,YAAY,EAAE,aAAa,CAAA;IAC3B,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,EAK3B;IAED,IAAI,cAAc,IAPM,IAAI,CAa3B;IAED,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;IAWlC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;IAWxC,WAAW,CAAC,MAAM,EAAE,KAAK;IAOzB,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EASrB;IAED,IAAI,QAAQ,IAXM,IAAI,CAarB;CACF;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1B;AACD,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;CASnH;AACD,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1B;AACD,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;CAAG;AAChI,UAAU,2BAA2B;IACnC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1B;AACD,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;CAAG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentX } from '../core/decorator';
|
|
2
2
|
import { Vec2 } from '../polyfills';
|
|
3
3
|
import { box2D } from './PhysicsSystem';
|
|
4
|
-
export class RigidBody extends
|
|
4
|
+
export class RigidBody extends ComponentX {
|
|
5
5
|
body;
|
|
6
6
|
physicSprite;
|
|
7
7
|
set linearVelocity(vel) {
|
|
@@ -59,9 +59,9 @@ export class RigidBody extends NoRenderComponentX {
|
|
|
59
59
|
return Vec2(this.physicSprite.getBody().GetPosition());
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
export class PhysicsBoxCollider extends
|
|
62
|
+
export class PhysicsBoxCollider extends ComponentX {
|
|
63
63
|
}
|
|
64
|
-
export class PhysicsCircleCollider extends
|
|
64
|
+
export class PhysicsCircleCollider extends ComponentX {
|
|
65
65
|
}
|
|
66
|
-
export class PhysicsPolygonCollider extends
|
|
66
|
+
export class PhysicsPolygonCollider extends ComponentX {
|
|
67
67
|
}
|
|
@@ -4,7 +4,7 @@ export declare const DynamicBody = 2;
|
|
|
4
4
|
export declare const KinematicBody = 1;
|
|
5
5
|
export declare const StaticBody = 0;
|
|
6
6
|
export declare let box2D: typeof Box2D;
|
|
7
|
-
export declare function initBox2d(): Promise<void>;
|
|
7
|
+
export declare function initBox2d(wasmUrl?: string): Promise<void>;
|
|
8
8
|
export declare function setColliderMatrix(colliderMatrix?: boolean[][]): void;
|
|
9
9
|
export declare class PhysicsSystem implements System {
|
|
10
10
|
world: Box2D.b2World;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsSystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAI5E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAMnC,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,UAAU,IAAI,CAAA;AAC3B,eAAO,IAAI,KAAK,EAAE,OAAO,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsSystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAI5E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAMnC,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,UAAU,IAAI,CAAA;AAC3B,eAAO,IAAI,KAAK,EAAE,OAAO,KAAK,CAAA;AAE9B,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,iBAU/C;AASD,wBAAgB,iBAAiB,CAAC,cAAc,cAAW,QAG1D;AAOD,qBAAa,aAAc,YAAW,MAAM;IAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAA;IACpB,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAK;IAEnC,cAAc,cAAW;IACzB,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAA;IAErB,QAAQ;IAKR,SAAS,CAAC,aAAa,EAAE,YAAY;IA4JrC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IA8BhE,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAIpB;CACF"}
|
|
@@ -12,7 +12,15 @@ export const DynamicBody = 2;
|
|
|
12
12
|
export const KinematicBody = 1;
|
|
13
13
|
export const StaticBody = 0;
|
|
14
14
|
export let box2D;
|
|
15
|
-
export async function initBox2d() {
|
|
15
|
+
export async function initBox2d(wasmUrl) {
|
|
16
|
+
if (wasmUrl) {
|
|
17
|
+
box2D = await Box2DFactory({
|
|
18
|
+
locateFile: () => {
|
|
19
|
+
return wasmUrl;
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
16
24
|
box2D = await Box2DFactory();
|
|
17
25
|
}
|
|
18
26
|
// Box2D.b2Fixture.prototype.shouldCollide = function (other) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugDraw.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/debugDraw.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,EAAE,CAAC,QAAQ,EAAE,mBAAc,EAAE,OAAO,OAAO,KAAK;
|
|
1
|
+
{"version":3,"file":"debugDraw.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/debugDraw.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,EAAE,CAAC,QAAQ,EAAE,mBAAc,EAAE,OAAO,OAAO,KAAK;IA8HpF;;;;;OAKG;;IAQH;;;;;OAKG;;IAQH;;;;;OAKG;;IAOH;;;;;OAKG;;IAQH;;;;;;OAMG;;IAQH;;;OAGG;;IAKH;;;;;OAKG;;CAUN,CAAA"}
|
|
@@ -44,7 +44,7 @@ export const makeDebugDraw = (graphics, pixelsPerMeter, box2D) => {
|
|
|
44
44
|
* @returns {void}
|
|
45
45
|
*/
|
|
46
46
|
const setCtxColor = (rgbStr) => {
|
|
47
|
-
graphics.color = rgbStr
|
|
47
|
+
// graphics.color = rgbStr
|
|
48
48
|
// graphics.strokeStyle = { color: rgbStr }
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
@@ -53,8 +53,11 @@ export const makeDebugDraw = (graphics, pixelsPerMeter, box2D) => {
|
|
|
53
53
|
* @returns {void}
|
|
54
54
|
*/
|
|
55
55
|
const drawPolygon = (vertices, fill) => {
|
|
56
|
-
// console.log(
|
|
57
|
-
|
|
56
|
+
// console.log('drawPolygon', vertices, fill)
|
|
57
|
+
if (fill)
|
|
58
|
+
graphics.drawPoly(vertices, Color4B(255, 0, 0, 50), 2, Color4B(255, 0, 0, 250));
|
|
59
|
+
else
|
|
60
|
+
graphics.drawPoly(vertices, Color4B(255, 0, 0, 0), 2, Color4B(255, 255, 255, 150));
|
|
58
61
|
// graphics.drawPoly(vertices[vertices.length - 1].x * pixelsPerMeter, vertices[vertices.length - 1].y * pixelsPerMeter)
|
|
59
62
|
// vertices.forEach((v) => {
|
|
60
63
|
// graphics.lineTo(v.x * pixelsPerMeter, v.y * pixelsPerMeter)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAGpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAE/B,wBAAgB,YAAY,CAAC,KAAK,YAAqB,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAGpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAE/B,wBAAgB,YAAY,CAAC,KAAK,YAAqB,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,QAQ7F"}
|
package/dist/box2d-wasm/index.js
CHANGED
|
@@ -4,13 +4,11 @@ export * from './PhysicsComponent';
|
|
|
4
4
|
export * from './PhysicsSprite';
|
|
5
5
|
export * from './PhysicsSystem';
|
|
6
6
|
export function setupPhysics(world = GameWorld.Instance, isDebugDraw, gravity) {
|
|
7
|
-
world.
|
|
8
|
-
world.systems.configureOnce(PhysicsSystem);
|
|
9
|
-
world.listUpdate.push(PhysicsSystem);
|
|
7
|
+
const physicsSystem = world.addSystemAndUpdate(PhysicsSystem);
|
|
10
8
|
if (isDebugDraw) {
|
|
11
|
-
|
|
9
|
+
physicsSystem.addDebug();
|
|
12
10
|
}
|
|
13
11
|
if (gravity) {
|
|
14
|
-
|
|
12
|
+
physicsSystem.gravity = gravity;
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { BaseComponentProps } from '..';
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentX } from '../core/decorator';
|
|
3
3
|
import { Vec2 } from '../polyfills';
|
|
4
4
|
interface ColliderProps extends BaseComponentProps<Collider> {
|
|
5
|
+
tag?: number;
|
|
6
|
+
offset?: [number, number];
|
|
5
7
|
onCollisionEnter?: (other: Collider) => void;
|
|
6
8
|
onCollisionExit?: (other: Collider) => void;
|
|
7
9
|
onCollisionStay?: (other: Collider) => void;
|
|
8
10
|
}
|
|
9
|
-
export declare class Collider extends
|
|
11
|
+
export declare class Collider<T = ColliderProps> extends ComponentX<T> {
|
|
10
12
|
_worldPoints: cc.Vec2[] | cc.Point[];
|
|
11
13
|
_worldPosition: cc.Vec2 | cc.Point;
|
|
12
14
|
_worldRadius: any;
|
|
@@ -19,27 +21,24 @@ export declare class Collider extends NoRenderComponentX<ColliderProps> {
|
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
interface BoxColliderProps extends BaseComponentProps<BoxCollider> {
|
|
22
|
-
offset?: [number, number];
|
|
23
24
|
width: number;
|
|
24
25
|
height: number;
|
|
25
26
|
}
|
|
26
|
-
export declare class BoxCollider extends
|
|
27
|
+
export declare class BoxCollider extends Collider<ColliderProps & BoxColliderProps> {
|
|
27
28
|
get size(): cc.Size;
|
|
28
29
|
set size(s: cc.Size);
|
|
29
30
|
update(dt: any, draw: cc.DrawNode): void;
|
|
30
31
|
}
|
|
31
32
|
interface CircleColliderProps extends BaseComponentProps<CircleCollider> {
|
|
32
|
-
offset?: [number, number];
|
|
33
33
|
radius: number;
|
|
34
34
|
}
|
|
35
|
-
export declare class CircleCollider extends
|
|
35
|
+
export declare class CircleCollider extends Collider<ColliderProps & CircleColliderProps> {
|
|
36
36
|
update(dt: any, draw: cc.DrawNode): void;
|
|
37
37
|
}
|
|
38
38
|
interface PolygonColliderProps extends BaseComponentProps<PolygonCollider> {
|
|
39
|
-
offset?: [number, number];
|
|
40
39
|
points: Array<Vec2>;
|
|
41
40
|
}
|
|
42
|
-
export declare class PolygonCollider extends
|
|
41
|
+
export declare class PolygonCollider extends Collider<ColliderProps & PolygonColliderProps> {
|
|
43
42
|
get points(): Vec2[];
|
|
44
43
|
set points(points: Vec2[]);
|
|
45
44
|
update(dt: any, draw: cc.DrawNode): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAc,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,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;CAC5C;AACD,qBAAa,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC5D,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAK;IACzC,cAAc,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAA;IAClC,YAAY,MAAA;IACZ,KAAK,EAAE,EAAE,CAAC,IAAI,CAAsB;IACpC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAsB;IAGvC,OAAO;IAKP,IAAI,KAAK;;;MAKR;CACF;AAED,UAAU,gBAAiB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACzE,IAAI,IAAI,IAII,EAAE,CAAC,IAAI,CAFlB;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAGlB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CA6B7B;AAED,UAAU,mBAAoB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACtE,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,QAAQ,CAAC,aAAa,GAAG,mBAAmB,CAAC;IAC/E,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAuB7B;AAED,UAAU,oBAAqB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,aAAa,GAAG,oBAAoB,CAAC;IACjF,IAAI,MAAM,IAAI,IAAI,EAAE,CAInB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAExB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAqB7B;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;IAeX,IAAI;CAyBL"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentX } from '../core/decorator';
|
|
2
2
|
import { getMax, getMin } from '../helper/math';
|
|
3
3
|
import { Vec2 } from '../polyfills';
|
|
4
4
|
function getNodeToWorldTransformAR(node) {
|
|
@@ -10,7 +10,7 @@ function getNodeToWorldTransformAR(node) {
|
|
|
10
10
|
function cloneRect(origin) {
|
|
11
11
|
return cc.rect(origin.x, origin.y, origin.width, origin.height);
|
|
12
12
|
}
|
|
13
|
-
export class Collider extends
|
|
13
|
+
export class Collider extends ComponentX {
|
|
14
14
|
_worldPoints = [];
|
|
15
15
|
_worldPosition;
|
|
16
16
|
_worldRadius;
|
|
@@ -30,7 +30,7 @@ export class Collider extends NoRenderComponentX {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
export class BoxCollider extends
|
|
33
|
+
export class BoxCollider extends Collider {
|
|
34
34
|
get size() {
|
|
35
35
|
return cc.size(this.props.width, this.props.height);
|
|
36
36
|
}
|
|
@@ -42,57 +42,57 @@ export class BoxCollider extends NoRenderComponentX {
|
|
|
42
42
|
if (!this.node) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
-
const collider = this.getComponent(Collider)
|
|
45
|
+
// const collider = this.getComponent(Collider)
|
|
46
46
|
const { height, width, offset = [0, 0] } = this.props;
|
|
47
47
|
const [x, y] = offset;
|
|
48
|
-
const hw = width * 0.5
|
|
49
|
-
const hh = height * 0.5
|
|
48
|
+
const hw = width * 0.5;
|
|
49
|
+
const hh = height * 0.5;
|
|
50
50
|
const transform = getNodeToWorldTransformAR(this.node);
|
|
51
51
|
const rect = cc.rect(x - hw, y - hh, width, height);
|
|
52
52
|
const rectTrs = cc.rectApplyAffineTransform(rect, transform);
|
|
53
53
|
// cc.log(rectTrs);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const listX =
|
|
59
|
-
const listY =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
54
|
+
this._worldPoints[0] = Vec2(rectTrs.x, rectTrs.y);
|
|
55
|
+
this._worldPoints[1] = Vec2(rectTrs.x, rectTrs.y + rectTrs.height);
|
|
56
|
+
this._worldPoints[2] = Vec2(rectTrs.x + rectTrs.width, rectTrs.y + rectTrs.height);
|
|
57
|
+
this._worldPoints[3] = Vec2(rectTrs.x + rectTrs.width, rectTrs.y);
|
|
58
|
+
const listX = this._worldPoints.map(({ x }) => x);
|
|
59
|
+
const listY = this._worldPoints.map(({ y }) => y);
|
|
60
|
+
this._preAabb = cloneRect(this._AABB);
|
|
61
|
+
this._AABB.x = getMin(listX);
|
|
62
|
+
this._AABB.y = getMin(listY);
|
|
63
|
+
this._AABB.width = getMax(listX) - this._AABB.x;
|
|
64
|
+
this._AABB.height = getMax(listY) - this._AABB.y;
|
|
65
65
|
if (draw) {
|
|
66
|
-
draw.drawPoly(
|
|
66
|
+
draw.drawPoly(this._worldPoints, null, 3, cc.Color.DEBUG_BORDER_COLOR);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
export class CircleCollider extends
|
|
70
|
+
export class CircleCollider extends Collider {
|
|
71
71
|
update(dt, draw) {
|
|
72
72
|
if (!this.node) {
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
75
|
const transform = getNodeToWorldTransformAR(this.node);
|
|
76
|
-
const collider = this.getComponent(Collider)
|
|
76
|
+
// const collider = this.getComponent(Collider)
|
|
77
77
|
const { radius, offset = [0, 0] } = this.props;
|
|
78
78
|
const [x, y] = offset;
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
this._worldRadius = radius * this.node.scale;
|
|
80
|
+
this._worldPosition = cc.pointApplyAffineTransform(cc.p(x, y), transform);
|
|
81
81
|
if (draw) {
|
|
82
|
-
draw.drawDot(
|
|
83
|
-
draw.drawCircle(
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
draw.drawDot(this._worldPosition, this._worldRadius, cc.Color.DEBUG_FILL_COLOR);
|
|
83
|
+
draw.drawCircle(this._worldPosition, this._worldRadius, 0, 64, true, 3, cc.Color.DEBUG_BORDER_COLOR);
|
|
84
|
+
}
|
|
85
|
+
this._preAabb = cloneRect(this._AABB);
|
|
86
|
+
this._AABB.x = this._worldPosition.x - this._worldRadius;
|
|
87
|
+
this._AABB.y = this._worldPosition.y - this._worldRadius;
|
|
88
|
+
this._AABB.width = this._worldRadius * 2;
|
|
89
|
+
this._AABB.height = this._AABB.width;
|
|
90
90
|
// draw.drawRect(cc.p(this._AABB.x, this._AABB.y),
|
|
91
91
|
// cc.p(this._worldPosition.x + this._worldRadius, this._worldPosition.y + this._worldRadius),
|
|
92
92
|
// cc.Color.WHITE, 3, cc.Color.DEBUG_BORDER_COLOR);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
export class PolygonCollider extends
|
|
95
|
+
export class PolygonCollider extends Collider {
|
|
96
96
|
get points() {
|
|
97
97
|
const [x, y] = this.props.offset || [0, 0];
|
|
98
98
|
const pointsList = this.props.points.map((p) => Vec2(p.x + x, p.y + y));
|
|
@@ -106,19 +106,19 @@ export class PolygonCollider extends NoRenderComponentX {
|
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
108
|
const transform = getNodeToWorldTransformAR(this.node);
|
|
109
|
-
const collider = this.getComponent(Collider)
|
|
110
|
-
|
|
109
|
+
// const collider = this.getComponent(Collider)
|
|
110
|
+
this._worldPoints = this.points.map((p) => cc.pointApplyAffineTransform(p, transform));
|
|
111
111
|
// cc.log(polyPoints);
|
|
112
112
|
if (draw) {
|
|
113
|
-
draw.drawPoly(
|
|
114
|
-
}
|
|
115
|
-
const listX =
|
|
116
|
-
const listY =
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
113
|
+
draw.drawPoly(this._worldPoints, cc.Color.DEBUG_FILL_COLOR, 3, cc.Color.DEBUG_BORDER_COLOR);
|
|
114
|
+
}
|
|
115
|
+
const listX = this._worldPoints.map(({ x }) => x);
|
|
116
|
+
const listY = this._worldPoints.map(({ y }) => y);
|
|
117
|
+
this._preAabb = cloneRect(this._AABB);
|
|
118
|
+
this._AABB.x = getMin(listX);
|
|
119
|
+
this._AABB.y = getMin(listY);
|
|
120
|
+
this._AABB.width = getMax(listX) - this._AABB.x;
|
|
121
|
+
this._AABB.height = getMax(listY) - this._AABB.y;
|
|
122
122
|
// draw.drawRect(cc.p(this._AABB.x, this._AABB.y), cc.p(max(listX), max(listY)),
|
|
123
123
|
// cc.Color.WHITE, 3, cc.Color.DEBUG_BORDER_COLOR);
|
|
124
124
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManager, EventManager, System } from 'entityx-ts';
|
|
2
2
|
import { Collider, Contract } from './CollideComponent';
|
|
3
|
-
export declare function shouldCollider(colA: Collider, colB: Collider):
|
|
3
|
+
export declare function shouldCollider(colA: Collider, colB: Collider): boolean;
|
|
4
4
|
export declare class CollideSystem implements System {
|
|
5
5
|
listColliders: Collider[];
|
|
6
6
|
_contracts: Contract[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollideSystem.d.ts","sourceRoot":"","sources":["../../src/collider/CollideSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"CollideSystem.d.ts","sourceRoot":"","sources":["../../src/collider/CollideSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAI5E,OAAO,EAA+B,QAAQ,EAAiB,QAAQ,EAAmB,MAAM,oBAAoB,CAAA;AAEpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,WAQ5D;AAED,qBAAa,aAAc,YAAW,MAAM;IAC1C,aAAa,EAAE,QAAQ,EAAE,CAAK;IAC9B,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,eAAe,QAAK;IACpB,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAA;IAC1B,gBAAgB,UAAQ;IACxB,OAAO,UAAO;IACd,cAAc,cAAW;IAEzB,SAAS,CAAC,aAAa,EAAE,YAAY;IASrC,OAAO,CAAC,aAAa,CASpB;IAED,OAAO,CAAC,gBAAgB,CAEvB;IAED,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IA2GhE,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAS9B,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAIjC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;IAK3B,eAAe,CAAC,MAAM,UAAO;CAI9B"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { EventTypes } from 'entityx-ts';
|
|
2
2
|
import { NodeComp } from '../core/NodeComp';
|
|
3
3
|
import { GameWorld } from '../gworld';
|
|
4
|
-
import { instantiate } from '../helper';
|
|
5
4
|
import { BoxCollider, CircleCollider, Collider, CollisionType, Contract, PolygonCollider } from './CollideComponent';
|
|
6
5
|
export function shouldCollider(colA, colB) {
|
|
7
|
-
const groupA = colA.
|
|
8
|
-
const groupB = colB.
|
|
6
|
+
const groupA = colA.props.tag;
|
|
7
|
+
const groupB = colB.props.tag;
|
|
9
8
|
if (groupA === undefined || groupB === undefined) {
|
|
10
9
|
return true;
|
|
11
10
|
}
|
|
@@ -29,16 +28,14 @@ export class CollideSystem {
|
|
|
29
28
|
event_manager.subscribe(EventTypes.ComponentRemoved, PolygonCollider, this.onRemoveCollider.bind(this));
|
|
30
29
|
}
|
|
31
30
|
onAddCollider = ({ entity, component }) => {
|
|
32
|
-
let collider = entity.getComponent(Collider)
|
|
33
|
-
if (!collider) {
|
|
34
|
-
|
|
35
|
-
}
|
|
31
|
+
// let collider = entity.getComponent(Collider)
|
|
32
|
+
// if (!collider) {
|
|
33
|
+
// collider = entity.assign(instantiate(Collider))
|
|
34
|
+
// }
|
|
36
35
|
// console.log('onAddCollider', component, collider)
|
|
37
|
-
collider.node = entity.getComponent(NodeComp)
|
|
38
|
-
// collider.props = component.props
|
|
39
|
-
// collider.props.enable = true
|
|
36
|
+
// collider.node = entity.getComponent(NodeComp)
|
|
40
37
|
component.node = entity.getComponent(NodeComp);
|
|
41
|
-
this.addCollider(
|
|
38
|
+
this.addCollider(component);
|
|
42
39
|
};
|
|
43
40
|
onRemoveCollider = ({ component }) => {
|
|
44
41
|
this.removeColliders.push(component.getComponent(Collider));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collider/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAA;AAElC,wBAAgB,aAAa,CAAC,cAAc,CAAC,KAAA,EAAE,KAAK,UAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collider/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAA;AAElC,wBAAgB,aAAa,CAAC,cAAc,CAAC,KAAA,EAAE,KAAK,UAAQ,QAM3D"}
|
package/dist/collider/index.js
CHANGED
|
@@ -2,10 +2,7 @@ import { GameWorld } from '../gworld';
|
|
|
2
2
|
import { CollideSystem } from './CollideSystem';
|
|
3
3
|
export * from './CollideComponent';
|
|
4
4
|
export function setupCollider(colliderMatrix, debug = false) {
|
|
5
|
-
GameWorld.Instance.
|
|
6
|
-
GameWorld.Instance.listUpdate.push(CollideSystem);
|
|
7
|
-
GameWorld.Instance.systems.configureOnce(CollideSystem);
|
|
8
|
-
const collideSystem = GameWorld.Instance.systems.get(CollideSystem);
|
|
5
|
+
const collideSystem = GameWorld.Instance.addSystemAndUpdate(CollideSystem);
|
|
9
6
|
if (colliderMatrix) {
|
|
10
7
|
collideSystem.colliderMatrix = colliderMatrix;
|
|
11
8
|
}
|
|
@@ -2,7 +2,6 @@ import { Constructor } from 'entityx-ts';
|
|
|
2
2
|
import { BaseComponentProps } from '../safex';
|
|
3
3
|
import { NodeComp } from './NodeComp';
|
|
4
4
|
export declare class EnhancedComponent<Props = object, N extends NodeComp<any> = NodeComp<any>> {
|
|
5
|
-
static hasRender: boolean;
|
|
6
5
|
props: Props;
|
|
7
6
|
node: N;
|
|
8
7
|
enabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnhancedComponent.d.ts","sourceRoot":"","sources":["../../src/core/EnhancedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,iBAAiB,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IACpF,
|
|
1
|
+
{"version":3,"file":"EnhancedComponent.d.ts","sourceRoot":"","sources":["../../src/core/EnhancedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,iBAAiB,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IACpF,KAAK,EAAE,KAAK,CAAY;IACxB,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,UAAO;gBACF,IAAI,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,KAAK;IAGhE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK;IASjB,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAGzD,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAGvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAgC,EAAE,KAAK,SAAI;IAG5G,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;IAGvC,sBAAsB;IAGtB,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAGtE,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"}
|
package/dist/core/NodeComp.d.ts
CHANGED
|
@@ -2,14 +2,13 @@ import { Constructor, Entity } from 'entityx-ts';
|
|
|
2
2
|
import { EventRegister } from '../norender';
|
|
3
3
|
import { Size, Vec2 } from '../polyfills';
|
|
4
4
|
import { ComponentType, EnhancedComponent } from './EnhancedComponent';
|
|
5
|
-
export type EventCallbackType = (
|
|
5
|
+
export type EventCallbackType<T = void> = (args?: T) => void;
|
|
6
6
|
export declare class NodeComp<C extends cc.Node = cc.Node> {
|
|
7
7
|
entity: Entity;
|
|
8
8
|
instance: C;
|
|
9
9
|
parent: NodeComp;
|
|
10
10
|
children: NodeComp[];
|
|
11
11
|
name: string;
|
|
12
|
-
private _group;
|
|
13
12
|
private _active;
|
|
14
13
|
constructor(instance: C, entity: Entity);
|
|
15
14
|
get uuid(): number;
|
|
@@ -52,13 +51,12 @@ export declare class NodeComp<C extends cc.Node = cc.Node> {
|
|
|
52
51
|
set opacity(val: number);
|
|
53
52
|
get active(): boolean;
|
|
54
53
|
set active(val: boolean);
|
|
55
|
-
get group(): string | number;
|
|
56
|
-
set group(val: string | number);
|
|
57
54
|
get zIndex(): number;
|
|
58
55
|
set zIndex(val: number);
|
|
59
56
|
get childrenCount(): number;
|
|
60
57
|
destroy(): void;
|
|
61
58
|
addComponent<T extends ComponentType>(instance: T & {
|
|
59
|
+
render?: any;
|
|
62
60
|
start?: () => void;
|
|
63
61
|
}): T;
|
|
64
62
|
getComponent<T extends ComponentType>(component: Constructor<T>): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/core/NodeComp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEtE,MAAM,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/core/NodeComp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEtE,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AAC5D,qBAAa,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,QAAQ,CAAA;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAK;IACzB,IAAI,EAAE,MAAM,CAAA;IAEZ,OAAO,CAAC,OAAO,CAAO;gBAEV,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;IAKvC,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAE7B;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAErB;IAED,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAE3B;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,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,IAIM,MAAM,CAFtB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,OAAO,IAIM,MAAM,CAFtB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IACD;;;;OAIG;IACH,IAAI,QAAQ,IAYM,MAAM,CAVvB;IACD;;;;;;;;OAQG;IACH,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAEvB;IAED,IAAI,KAAK,IAIM,EAAE,CAAC,KAAK,CAFtB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAEtB;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,EAStB;IA0BD,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,GAAG,QAAA,EAEb;IAED,IAAI,aAAa,WAEhB;IAED,OAAO;IAOP,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,CAAC;IAQ5F,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAInE,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,sBAAsB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IASzE,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;;;;;;;;;;;;;;;;;;;IAKlC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;;;;;;;;;;;;;;;;;;;IAKpC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI;;;;;;;;;;;;;;;;;;;IAKpC,cAAc;IAQd,IAAI,WAAW,IAIO,IAAI,CAFzB;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAWzB;IAED,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc;IAIhC,cAAc;IAId,0BAA0B;IAK1B,2BAA2B;IAK3B,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO;IAkBlC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQvD,iBAAiB,CAAC,OAAO,CAAC,KAAA;IAM1B,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAM1B,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IASjE,IAAI,KAAK,kBAMR;IAED,UAAU,CAAC,GAAG,EAAE,MAAM;IAOtB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;CAOhE"}
|
package/dist/core/NodeComp.js
CHANGED
|
@@ -7,7 +7,7 @@ export class NodeComp {
|
|
|
7
7
|
parent;
|
|
8
8
|
children = [];
|
|
9
9
|
name;
|
|
10
|
-
_group
|
|
10
|
+
// private _group
|
|
11
11
|
_active = true;
|
|
12
12
|
constructor(instance, entity) {
|
|
13
13
|
this.entity = entity;
|
|
@@ -120,12 +120,12 @@ export class NodeComp {
|
|
|
120
120
|
}
|
|
121
121
|
this.instance.setVisible(val);
|
|
122
122
|
}
|
|
123
|
-
get group() {
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
set group(val) {
|
|
127
|
-
|
|
128
|
-
}
|
|
123
|
+
// get group() {
|
|
124
|
+
// return this._group
|
|
125
|
+
// }
|
|
126
|
+
// set group(val: string | number) {
|
|
127
|
+
// this._group = val
|
|
128
|
+
// }
|
|
129
129
|
// get width() {
|
|
130
130
|
// return this.instance.width
|
|
131
131
|
// }
|
|
@@ -155,7 +155,7 @@ export class NodeComp {
|
|
|
155
155
|
}
|
|
156
156
|
addComponent(instance) {
|
|
157
157
|
this.entity.assign(instance);
|
|
158
|
-
if (!instance.
|
|
158
|
+
if (!instance.render) {
|
|
159
159
|
if (instance.start)
|
|
160
160
|
instance.start();
|
|
161
161
|
}
|
|
@@ -291,7 +291,7 @@ export class NodeComp {
|
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
resolveComponent(component) {
|
|
294
|
-
if (component.
|
|
294
|
+
if (component.render) {
|
|
295
295
|
this.addChild(component.node);
|
|
296
296
|
}
|
|
297
297
|
else {
|