@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.
Files changed (76) hide show
  1. package/README.md +2 -9
  2. package/dist/animation/index.d.ts.map +1 -1
  3. package/dist/animation/index.js +1 -2
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +5 -12
  6. package/dist/box2d-wasm/PhysicsComponent.d.ts +5 -5
  7. package/dist/box2d-wasm/PhysicsComponent.d.ts.map +1 -1
  8. package/dist/box2d-wasm/PhysicsComponent.js +5 -5
  9. package/dist/box2d-wasm/PhysicsSystem.d.ts +1 -1
  10. package/dist/box2d-wasm/PhysicsSystem.d.ts.map +1 -1
  11. package/dist/box2d-wasm/PhysicsSystem.js +9 -1
  12. package/dist/box2d-wasm/debugDraw.d.ts.map +1 -1
  13. package/dist/box2d-wasm/debugDraw.js +6 -3
  14. package/dist/box2d-wasm/index.d.ts.map +1 -1
  15. package/dist/box2d-wasm/index.js +3 -5
  16. package/dist/collider/CollideComponent.d.ts +7 -8
  17. package/dist/collider/CollideComponent.d.ts.map +1 -1
  18. package/dist/collider/CollideComponent.js +42 -42
  19. package/dist/collider/CollideSystem.d.ts +1 -1
  20. package/dist/collider/CollideSystem.d.ts.map +1 -1
  21. package/dist/collider/CollideSystem.js +8 -11
  22. package/dist/collider/index.d.ts.map +1 -1
  23. package/dist/collider/index.js +1 -4
  24. package/dist/core/EnhancedComponent.d.ts +0 -1
  25. package/dist/core/EnhancedComponent.d.ts.map +1 -1
  26. package/dist/core/EnhancedComponent.js +0 -1
  27. package/dist/core/NodeComp.d.ts +2 -4
  28. package/dist/core/NodeComp.d.ts.map +1 -1
  29. package/dist/core/NodeComp.js +9 -9
  30. package/dist/core/decorator.d.ts +1 -3
  31. package/dist/core/decorator.d.ts.map +1 -1
  32. package/dist/core/decorator.js +6 -9
  33. package/dist/core/index.d.ts +6 -0
  34. package/dist/core/index.d.ts.map +1 -0
  35. package/dist/core/index.js +5 -0
  36. package/dist/dragonbones/index.d.ts.map +1 -1
  37. package/dist/dragonbones/index.js +3 -4
  38. package/dist/gui/GUIComponent.d.ts +3 -3
  39. package/dist/gui/GUIComponent.d.ts.map +1 -1
  40. package/dist/gui/GUIComponent.js +7 -3
  41. package/dist/gworld/EnhancedComponent.d.ts +22 -0
  42. package/dist/gworld/EnhancedComponent.d.ts.map +1 -0
  43. package/dist/gworld/EnhancedComponent.js +44 -0
  44. package/dist/gworld/NodeComp.d.ts +153 -0
  45. package/dist/gworld/NodeComp.d.ts.map +1 -0
  46. package/dist/gworld/NodeComp.js +337 -0
  47. package/dist/gworld/NodePool.d.ts +9 -0
  48. package/dist/gworld/NodePool.d.ts.map +1 -0
  49. package/dist/gworld/NodePool.js +23 -0
  50. package/dist/gworld/Scene.d.ts +5 -0
  51. package/dist/gworld/Scene.d.ts.map +1 -0
  52. package/dist/gworld/Scene.js +14 -0
  53. package/dist/gworld/decorator.d.ts +8 -0
  54. package/dist/gworld/decorator.d.ts.map +1 -0
  55. package/dist/gworld/decorator.js +12 -0
  56. package/dist/gworld/index.d.ts +8 -0
  57. package/dist/gworld/index.d.ts.map +1 -0
  58. package/dist/gworld/index.js +14 -0
  59. package/dist/gworld.d.ts +2 -1
  60. package/dist/gworld.d.ts.map +1 -1
  61. package/dist/gworld.js +4 -1
  62. package/dist/helper/utils.d.ts +2 -2
  63. package/dist/helper/utils.d.ts.map +1 -1
  64. package/dist/helper/utils.js +1 -3
  65. package/dist/norender/NoRenderComponent.d.ts +5 -5
  66. package/dist/norender/NoRenderComponent.d.ts.map +1 -1
  67. package/dist/norender/NoRenderComponent.js +4 -4
  68. package/dist/render/RenderComponent.d.ts.map +1 -1
  69. package/dist/render/RenderComponent.js +7 -1
  70. package/dist/richtext/RichTextComp.d.ts.map +1 -1
  71. package/dist/richtext/RichTextComp.js +2 -1
  72. package/dist/richtext/index.d.ts.map +1 -1
  73. package/dist/richtext/index.js +1 -2
  74. package/dist/spine/index.d.ts.map +1 -1
  75. package/dist/spine/index.js +3 -3
  76. package/package.json +5 -5
package/README.md CHANGED
@@ -1,10 +1,3 @@
1
1
  # Guide
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 = 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,SAI7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,SAG7B"}
@@ -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.add(AnimationSystem);
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":"AAMA,wBAAgB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,QAc7C;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"}
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.systems.add(RenderSystem);
8
- GameWorld.Instance.systems.add(CollideSystem);
9
- GameWorld.Instance.systems.add(GUISystem);
10
- GameWorld.Instance.systems.add(NoRenderSystem);
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
- const guiSystem = GameWorld.Instance.systems.get(GUISystem);
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 { NoRenderComponentX } from '../core/decorator';
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 NoRenderComponentX<RigidBodyProps> {
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 NoRenderComponentX<BoxColliderPhysicsProps & BaseComponentProps<PhysicsBoxCollider>> {
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 NoRenderComponentX<CircleColliderPhysicsProps & BaseComponentProps<PhysicsCircleCollider>> {
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 NoRenderComponentX<PolygonColliderPhysicsProps & BaseComponentProps<PhysicsPolygonCollider>> {
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,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,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,kBAAkB,CAAC,cAAc,CAAC;IAC/D,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,kBAAkB,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;CAS3H;AACD,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1B;AACD,qBAAa,qBAAsB,SAAQ,kBAAkB,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;CAAG;AACxI,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,kBAAkB,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;CAAG"}
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 { NoRenderComponentX } from '../core/decorator';
1
+ import { ComponentX } from '../core/decorator';
2
2
  import { Vec2 } from '../polyfills';
3
3
  import { box2D } from './PhysicsSystem';
4
- export class RigidBody extends NoRenderComponentX {
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 NoRenderComponentX {
62
+ export class PhysicsBoxCollider extends ComponentX {
63
63
  }
64
- export class PhysicsCircleCollider extends NoRenderComponentX {
64
+ export class PhysicsCircleCollider extends ComponentX {
65
65
  }
66
- export class PhysicsPolygonCollider extends NoRenderComponentX {
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;AAC9B,wBAAsB,SAAS,kBAE9B;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"}
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;IA6HpF;;;;;OAKG;;IAQH;;;;;OAKG;;IAQH;;;;;OAKG;;IAOH;;;;;OAKG;;IAQH;;;;;;OAMG;;IAQH;;;OAGG;;IAKH;;;;;OAKG;;CAUN,CAAA"}
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("drawPolygon", vertices[0].y, fill);
57
- graphics.drawPoly(vertices, Color4B(255, 0, 0, 50), fill ? 1 : 0);
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,QAU7F"}
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"}
@@ -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.systems.add(PhysicsSystem);
8
- world.systems.configureOnce(PhysicsSystem);
9
- world.listUpdate.push(PhysicsSystem);
7
+ const physicsSystem = world.addSystemAndUpdate(PhysicsSystem);
10
8
  if (isDebugDraw) {
11
- world.systems.get(PhysicsSystem).addDebug();
9
+ physicsSystem.addDebug();
12
10
  }
13
11
  if (gravity) {
14
- world.systems.get(PhysicsSystem).gravity = gravity;
12
+ physicsSystem.gravity = gravity;
15
13
  }
16
14
  }
@@ -1,12 +1,14 @@
1
1
  import { BaseComponentProps } from '..';
2
- import { NoRenderComponentX } from '../core/decorator';
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 NoRenderComponentX<ColliderProps> {
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 NoRenderComponentX<BoxColliderProps> {
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 NoRenderComponentX<CircleColliderProps> {
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 NoRenderComponentX<PolygonColliderProps> {
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,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAc,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IAE1D,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,QAAS,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IAC7D,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,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IACnE,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,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,mBAAmB,CAAC;IACzE,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAuB7B;AAED,UAAU,oBAAqB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAC3E,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
+ {"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 { NoRenderComponentX } from '../core/decorator';
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 NoRenderComponentX {
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 NoRenderComponentX {
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 * this.node.scale;
49
- const hh = height * 0.5 * this.node.scale;
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
- collider._worldPoints[0] = Vec2(rectTrs.x, rectTrs.y);
55
- collider._worldPoints[1] = Vec2(rectTrs.x, rectTrs.y + rectTrs.height);
56
- collider._worldPoints[2] = Vec2(rectTrs.x + rectTrs.width, rectTrs.y + rectTrs.height);
57
- collider._worldPoints[3] = Vec2(rectTrs.x + rectTrs.width, rectTrs.y);
58
- const listX = collider._worldPoints.map(({ x }) => x);
59
- const listY = collider._worldPoints.map(({ y }) => y);
60
- collider._preAabb = cloneRect(collider._AABB);
61
- collider._AABB.x = getMin(listX);
62
- collider._AABB.y = getMin(listY);
63
- collider._AABB.width = getMax(listX) - collider._AABB.x;
64
- collider._AABB.height = getMax(listY) - collider._AABB.y;
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(collider._worldPoints, null, 3, cc.Color.DEBUG_BORDER_COLOR);
66
+ draw.drawPoly(this._worldPoints, null, 3, cc.Color.DEBUG_BORDER_COLOR);
67
67
  }
68
68
  }
69
69
  }
70
- export class CircleCollider extends NoRenderComponentX {
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
- collider._worldRadius = radius * this.node.scale;
80
- collider._worldPosition = cc.pointApplyAffineTransform(cc.p(x, y), transform);
79
+ this._worldRadius = radius * this.node.scale;
80
+ this._worldPosition = cc.pointApplyAffineTransform(cc.p(x, y), transform);
81
81
  if (draw) {
82
- draw.drawDot(collider._worldPosition, collider._worldRadius, cc.Color.DEBUG_FILL_COLOR);
83
- draw.drawCircle(collider._worldPosition, collider._worldRadius, 0, 64, true, 3, cc.Color.DEBUG_BORDER_COLOR);
84
- }
85
- collider._preAabb = cloneRect(collider._AABB);
86
- collider._AABB.x = collider._worldPosition.x - collider._worldRadius;
87
- collider._AABB.y = collider._worldPosition.y - collider._worldRadius;
88
- collider._AABB.width = collider._worldRadius * 2;
89
- collider._AABB.height = collider._AABB.width;
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 NoRenderComponentX {
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
- collider._worldPoints = this.points.map((p) => cc.pointApplyAffineTransform(p, transform));
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(collider._worldPoints, cc.Color.DEBUG_FILL_COLOR, 3, cc.Color.DEBUG_BORDER_COLOR);
114
- }
115
- const listX = collider._worldPoints.map(({ x }) => x);
116
- const listY = collider._worldPoints.map(({ y }) => y);
117
- collider._preAabb = cloneRect(collider._AABB);
118
- collider._AABB.x = getMin(listX);
119
- collider._AABB.y = getMin(listY);
120
- collider._AABB.width = getMax(listX) - collider._AABB.x;
121
- collider._AABB.height = getMax(listY) - collider._AABB.y;
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): any;
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;AAK5E,OAAO,EAA+B,QAAQ,EAAiB,QAAQ,EAAmB,MAAM,oBAAoB,CAAA;AAEpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,OAQ5D;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,CAWpB;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
+ {"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.node.group;
8
- const groupB = colB.node.group;
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
- collider = entity.assign(instantiate(Collider));
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(collider);
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,QAS3D"}
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"}
@@ -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.systems.add(CollideSystem);
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,MAAM,CAAC,SAAS,UAAO;IACvB,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"}
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"}
@@ -1,5 +1,4 @@
1
1
  export class EnhancedComponent {
2
- static hasRender = true;
3
2
  props = {};
4
3
  node;
5
4
  enabled = true;
@@ -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 = (...args: any[]) => void;
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":"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"}
1
+ {"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/core/NodeComp.ts"],"names":[],"mappings":"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"}
@@ -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
- return this._group;
125
- }
126
- set group(val) {
127
- this._group = val;
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.constructor.hasRender) {
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.constructor.hasRender) {
294
+ if (component.render) {
295
295
  this.addChild(component.node);
296
296
  }
297
297
  else {