@safe-engine/cocos 1.6.5 → 1.8.1

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 (108) hide show
  1. package/dist/animation/AnimationComponent.d.ts +1 -1
  2. package/dist/animation/AnimationComponent.d.ts.map +1 -1
  3. package/dist/animation/AnimationComponent.js +2 -2
  4. package/dist/animation/AnimationSystem.js +1 -1
  5. package/dist/app.d.ts +2 -2
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +39 -29
  8. package/dist/box2d-wasm/PhysicsComponent.d.ts +3 -1
  9. package/dist/box2d-wasm/PhysicsComponent.d.ts.map +1 -1
  10. package/dist/box2d-wasm/PhysicsComponent.js +17 -4
  11. package/dist/box2d-wasm/PhysicsSprite.d.ts +1 -0
  12. package/dist/box2d-wasm/PhysicsSprite.d.ts.map +1 -1
  13. package/dist/box2d-wasm/PhysicsSprite.js +3 -4
  14. package/dist/box2d-wasm/PhysicsSystem.d.ts +1 -2
  15. package/dist/box2d-wasm/PhysicsSystem.d.ts.map +1 -1
  16. package/dist/box2d-wasm/PhysicsSystem.js +33 -29
  17. package/dist/collider/CollideComponent.d.ts +1 -1
  18. package/dist/collider/CollideComponent.d.ts.map +1 -1
  19. package/dist/collider/CollideComponent.js +1 -1
  20. package/dist/collider/CollideSystem.js +1 -1
  21. package/dist/collider/index.d.ts +1 -0
  22. package/dist/collider/index.d.ts.map +1 -1
  23. package/dist/collider/index.js +1 -0
  24. package/dist/dragonbones/index.d.ts +1 -1
  25. package/dist/dragonbones/index.d.ts.map +1 -1
  26. package/dist/dragonbones/index.js +2 -2
  27. package/dist/gui/GUIComponent.d.ts +93 -0
  28. package/dist/gui/GUIComponent.d.ts.map +1 -0
  29. package/dist/gui/GUIComponent.js +77 -0
  30. package/dist/gui/GUISystem.d.ts +15 -0
  31. package/dist/gui/GUISystem.d.ts.map +1 -0
  32. package/dist/gui/GUISystem.js +112 -0
  33. package/dist/gui/index.d.ts +3 -0
  34. package/dist/gui/index.d.ts.map +1 -0
  35. package/dist/gui/index.js +2 -0
  36. package/dist/gworld/EnhancedComponent.d.ts +22 -0
  37. package/dist/gworld/EnhancedComponent.d.ts.map +1 -0
  38. package/dist/gworld/EnhancedComponent.js +44 -0
  39. package/dist/gworld/NodeComp.d.ts +153 -0
  40. package/dist/gworld/NodeComp.d.ts.map +1 -0
  41. package/dist/gworld/NodeComp.js +337 -0
  42. package/dist/{helper → gworld}/NodePool.d.ts +1 -1
  43. package/dist/gworld/NodePool.d.ts.map +1 -0
  44. package/dist/gworld/NodePool.js +23 -0
  45. package/dist/gworld/Scene.d.ts +5 -0
  46. package/dist/gworld/Scene.d.ts.map +1 -0
  47. package/dist/gworld/Scene.js +14 -0
  48. package/dist/gworld/components/AnimationComponent.d.ts +2 -2
  49. package/dist/gworld/components/CollideComponent.d.ts +2 -2
  50. package/dist/gworld/components/EnhancedComponent.d.ts +2 -2
  51. package/dist/gworld/components/GUIComponent.d.ts +4 -4
  52. package/dist/gworld/components/NoRenderComponent.d.ts +3 -3
  53. package/dist/gworld/components/NodeComp.d.ts +2 -2
  54. package/dist/gworld/components/RenderComponent.d.ts +4 -4
  55. package/dist/gworld/core/NodePool.d.ts +1 -1
  56. package/dist/gworld/core/Scene.d.ts +1 -1
  57. package/dist/gworld/core/decorator.d.ts +2 -2
  58. package/dist/gworld/decorator.d.ts +9 -0
  59. package/dist/gworld/decorator.d.ts.map +1 -0
  60. package/dist/gworld/decorator.js +13 -0
  61. package/dist/gworld/index.d.ts +5 -0
  62. package/dist/gworld/index.d.ts.map +1 -1
  63. package/dist/gworld/index.js +5 -0
  64. package/dist/gworld/systems/CollideSystem.d.ts +1 -2
  65. package/dist/gworld/systems/CollideSystem.d.ts.map +1 -1
  66. package/dist/gworld/systems/CollideSystem.js +2 -12
  67. package/dist/index.d.ts +3 -7
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +3 -7
  70. package/dist/norender/NoRenderComponent.d.ts +37 -0
  71. package/dist/norender/NoRenderComponent.d.ts.map +1 -0
  72. package/dist/norender/NoRenderComponent.js +41 -0
  73. package/dist/norender/NoRenderSystem.d.ts +16 -0
  74. package/dist/norender/NoRenderSystem.d.ts.map +1 -0
  75. package/dist/norender/NoRenderSystem.js +75 -0
  76. package/dist/norender/index.d.ts +3 -0
  77. package/dist/norender/index.d.ts.map +1 -0
  78. package/dist/norender/index.js +2 -0
  79. package/dist/render/RenderComponent.d.ts +48 -0
  80. package/dist/render/RenderComponent.d.ts.map +1 -0
  81. package/dist/render/RenderComponent.js +80 -0
  82. package/dist/render/RenderSystem.d.ts +21 -0
  83. package/dist/render/RenderSystem.d.ts.map +1 -0
  84. package/dist/render/RenderSystem.js +74 -0
  85. package/dist/render/index.d.ts +3 -0
  86. package/dist/render/index.d.ts.map +1 -0
  87. package/dist/render/index.js +2 -0
  88. package/dist/richtext/RichTextComp.d.ts +1 -1
  89. package/dist/richtext/RichTextComp.d.ts.map +1 -1
  90. package/dist/richtext/RichTextComp.js +1 -1
  91. package/package.json +1 -1
  92. package/dist/dragonbones/cocos/CocosArmatureDisplay.d.ts +0 -77
  93. package/dist/dragonbones/cocos/CocosArmatureDisplay.d.ts.map +0 -1
  94. package/dist/dragonbones/cocos/CocosArmatureDisplay.js +0 -227
  95. package/dist/dragonbones/cocos/CocosFactory.d.ts +0 -128
  96. package/dist/dragonbones/cocos/CocosFactory.d.ts.map +0 -1
  97. package/dist/dragonbones/cocos/CocosFactory.js +0 -231
  98. package/dist/dragonbones/cocos/CocosSlot.d.ts +0 -49
  99. package/dist/dragonbones/cocos/CocosSlot.d.ts.map +0 -1
  100. package/dist/dragonbones/cocos/CocosSlot.js +0 -385
  101. package/dist/dragonbones/cocos/CocosTextureAtlasData.d.ts +0 -53
  102. package/dist/dragonbones/cocos/CocosTextureAtlasData.d.ts.map +0 -1
  103. package/dist/dragonbones/cocos/CocosTextureAtlasData.js +0 -158
  104. package/dist/dragonbones/dragonBones.d.ts +0 -3
  105. package/dist/dragonbones/dragonBones.d.ts.map +0 -1
  106. package/dist/dragonbones/dragonBones.js +0 -4788
  107. package/dist/helper/NodePool.d.ts.map +0 -1
  108. package/dist/helper/NodePool.js +0 -29
@@ -1,4 +1,4 @@
1
- import { EnhancedComponent } from '../gworld/components/EnhancedComponent';
1
+ import { EnhancedComponent } from '..';
2
2
  export interface IEvent {
3
3
  frame: number;
4
4
  func: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationComponent.d.ts","sourceRoot":"","sources":["../../src/animation/AnimationComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG1E,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,IAAI,IAAI;IACR,QAAQ,KAAK;IACb,OAAO,KAAK;IACZ,WAAW,KAAK;IAChB,eAAe,KAAK;CACrB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,SAAS;IACjB,KAAK,EAAE;QAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAA;CACrC;AAED,qBAAa,aAAa;IACxB,OAAc,QAAQ,kBAAW;IAC1B,MAAM,SAAK;IACX,KAAK,SAAI;IACT,QAAQ,WAAkB;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAK;IACrB,QAAQ,SAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;CACrB;AAID,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,WAAW,EAAE,aAAa,CAAA;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,WAAW,CAAe;gBAEtB,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO;IAOnF,KAAK;IASL,MAAM,CAAC,EAAE,EAAE,KAAK;IAqChB,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;IAMvB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;IAoBlB,KAAK;IAKL,MAAM;IAKN,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;CAI1B"}
1
+ {"version":3,"file":"AnimationComponent.d.ts","sourceRoot":"","sources":["../../src/animation/AnimationComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAA;AAGtC,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,IAAI,IAAI;IACR,QAAQ,KAAK;IACb,OAAO,KAAK;IACZ,WAAW,KAAK;IAChB,eAAe,KAAK;CACrB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,SAAS;IACjB,KAAK,EAAE;QAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAA;CACrC;AAED,qBAAa,aAAa;IACxB,OAAc,QAAQ,kBAAW;IAC1B,MAAM,SAAK;IACX,KAAK,SAAI;IACT,QAAQ,WAAkB;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAK;IACrB,QAAQ,SAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;CACrB;AAID,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,WAAW,EAAE,aAAa,CAAA;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,WAAW,CAAe;gBAEtB,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO;IAOnF,KAAK;IASL,MAAM,CAAC,EAAE,EAAE,KAAK;IAqChB,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;IAMvB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;IAoBlB,KAAK;IAKL,MAAM;IAKN,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;CAI1B"}
@@ -1,5 +1,5 @@
1
- import { EnhancedComponent } from '../gworld/components/EnhancedComponent';
2
- import { SpriteRender } from '../gworld/components/RenderComponent';
1
+ import { EnhancedComponent } from '..';
2
+ import { SpriteRender } from '../render';
3
3
  export var WrapMode;
4
4
  (function (WrapMode) {
5
5
  WrapMode[WrapMode["Default"] = 0] = "Default";
@@ -1,5 +1,5 @@
1
1
  import { EventTypes } from 'entityx-ts';
2
- import { NodeComp } from '../gworld/components/NodeComp';
2
+ import { NodeComp } from '../gworld';
3
3
  import { AnimationComp } from './AnimationComponent';
4
4
  export class AnimationSystem {
5
5
  configure(event_manager) {
package/dist/app.d.ts CHANGED
@@ -6,10 +6,10 @@ interface RunOptions {
6
6
  id: string;
7
7
  renderMode: 0 | 1 | 2;
8
8
  }
9
- export declare function startGame(option: RunOptions, { width, height }: {
9
+ export declare function startGame(defaultFont: string, { width, height }: {
10
10
  width: any;
11
11
  height: any;
12
- }, cb: () => void): void;
12
+ }, option?: Partial<RunOptions>): Promise<void>;
13
13
  export declare function loadAll(assets: string[], cb: (progress: number) => void): void;
14
14
  export declare function loadJsonFromCache<T>(filePath: string): T;
15
15
  export declare const audioEngine: typeof cc.audioEngine;
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,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;;;CAAA,EAAE,EAAE,EAAE,MAAM,IAAI,QA+B9E;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,QA4B5E;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":"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,iBAwCnG;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,QA4B5E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAIxD;AAED,eAAO,MAAM,WAAW,uBAAiB,CAAA"}
package/dist/app.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { CollideSystem } from './collider/CollideSystem';
2
+ import { GUISystem } from './gui';
2
3
  import { GameWorld } from './gworld';
3
- import { GUISystem } from './gworld/systems/GUISystem';
4
- import { NoRenderSystem } from './gworld/systems/NoRenderSystem';
5
- import { RenderSystem } from './gworld/systems/RenderSystem';
4
+ import { NoRenderSystem } from './norender';
5
+ import { RenderSystem } from './render';
6
6
  export function initWorld(defaultFont) {
7
7
  GameWorld.Instance.systems.add(RenderSystem);
8
8
  GameWorld.Instance.systems.add(CollideSystem);
@@ -18,33 +18,43 @@ export function initWorld(defaultFont) {
18
18
  guiSystem.defaultFont = defaultFont;
19
19
  }
20
20
  }
21
- export function startGame(option, { width, height }, cb) {
22
- class BootScene extends cc.Scene {
23
- constructor() {
24
- super();
25
- super.ctor(); // always call this for compatibility with cocos2dx JS Javascript class system
26
- this.scheduleUpdate();
21
+ export async function startGame(defaultFont, { width, height }, option) {
22
+ return new Promise((resolve) => {
23
+ class BootScene extends cc.Scene {
24
+ constructor() {
25
+ super();
26
+ super.ctor(); // always call this for compatibility with cocos2dx JS Javascript class system
27
+ this.scheduleUpdate();
28
+ }
29
+ onEnter() {
30
+ super.onEnter();
31
+ initWorld(defaultFont);
32
+ resolve();
33
+ }
34
+ update(dt) {
35
+ GameWorld.Instance.update(dt);
36
+ }
27
37
  }
28
- onEnter() {
29
- super.onEnter();
30
- cb();
31
- }
32
- update(dt) {
33
- GameWorld.Instance.update(dt);
34
- }
35
- }
36
- cc._isContextMenuEnable = true;
37
- cc.game.run(option, function onStart() {
38
- // Pass true to enable retina display, disabled by default to improve performance
39
- cc.view.enableRetina(cc.sys.os === cc.sys.OS_IOS);
40
- // Adjust viewport meta
41
- cc.view.adjustViewPort(true);
42
- // Setup the resolution policy and design resolution size
43
- const policy = width > height ? cc.ResolutionPolicy.FIXED_HEIGHT : cc.ResolutionPolicy.FIXED_WIDTH;
44
- cc.view.setDesignResolutionSize(width, height, policy);
45
- // The game will be resized when browser size change
46
- cc.view.resizeWithBrowserSize(true);
47
- cc.director.runScene(new BootScene());
38
+ cc._isContextMenuEnable = true;
39
+ cc.game.run({
40
+ debugMode: 1,
41
+ showFPS: false,
42
+ frameRate: 60,
43
+ id: 'gameCanvas',
44
+ renderMode: 1,
45
+ ...option || {},
46
+ }, function onStart() {
47
+ // Pass true to enable retina display, disabled by default to improve performance
48
+ cc.view.enableRetina(cc.sys.os === cc.sys.OS_IOS);
49
+ // Adjust viewport meta
50
+ cc.view.adjustViewPort(true);
51
+ // Setup the resolution policy and design resolution size
52
+ const policy = width > height ? cc.ResolutionPolicy.FIXED_HEIGHT : cc.ResolutionPolicy.FIXED_WIDTH;
53
+ cc.view.setDesignResolutionSize(width, height, policy);
54
+ // The game will be resized when browser size change
55
+ cc.view.resizeWithBrowserSize(true);
56
+ cc.director.runScene(new BootScene());
57
+ });
48
58
  });
49
59
  }
50
60
  export function loadAll(assets = [], cb) {
@@ -1,4 +1,4 @@
1
- import { NoRenderComponentX } from '../gworld/core/decorator';
1
+ import { NoRenderComponentX } from '..';
2
2
  import { Vec2 } from '../polyfills';
3
3
  import { BaseComponentProps } from '../safex';
4
4
  import { PhysicsSprite } from './PhysicsSprite';
@@ -20,6 +20,8 @@ export declare class RigidBody extends NoRenderComponentX<RigidBodyProps> {
20
20
  physicSprite: PhysicsSprite;
21
21
  set linearVelocity(vel: Vec2);
22
22
  get linearVelocity(): Vec2;
23
+ applyForceToCenter(vel: Vec2): void;
24
+ applyLinearImpulseToCenter(vel: Vec2): void;
23
25
  set position(pos: Vec2);
24
26
  get position(): Vec2;
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PhysicsComponent.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,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,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,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,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,kBAAkB,CAAC,GAAG,EAAE,IAAI;IAO5B,0BAA0B,CAAC,GAAG,EAAE,IAAI;IAQpC,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,4 +1,4 @@
1
- import { NoRenderComponentX } from '../gworld/core/decorator';
1
+ import { NoRenderComponentX } from '..';
2
2
  import { Vec2 } from '../polyfills';
3
3
  import { box2D } from './PhysicsSystem';
4
4
  export class RigidBody extends NoRenderComponentX {
@@ -8,20 +8,33 @@ export class RigidBody extends NoRenderComponentX {
8
8
  if (!this.node) {
9
9
  return;
10
10
  }
11
- this.physicSprite.getBody().SetLinearVelocity(new box2D.b2Vec2(vel.x, vel.y));
11
+ this.body.SetLinearVelocity(new box2D.b2Vec2(vel.x, vel.y));
12
12
  }
13
13
  get linearVelocity() {
14
14
  if (!this.node) {
15
15
  return Vec2.ZERO;
16
16
  }
17
- const vel = this.physicSprite.getBody().GetLinearVelocity();
17
+ const vel = this.body.GetLinearVelocity();
18
18
  return Vec2(vel);
19
19
  }
20
+ applyForceToCenter(vel) {
21
+ if (!this.node) {
22
+ return;
23
+ }
24
+ this.body.ApplyForceToCenter(new box2D.b2Vec2(vel.x, vel.y), true);
25
+ }
26
+ applyLinearImpulseToCenter(vel) {
27
+ if (!this.node) {
28
+ return;
29
+ }
30
+ // console.log('applyLinearImpulseToCenter', new box2D.b2Vec2(vel.x, vel.y))
31
+ this.body.ApplyLinearImpulseToCenter(new box2D.b2Vec2(vel.x, vel.y), true);
32
+ }
20
33
  set position(pos) {
21
34
  this.physicSprite.node.setPosition(pos.x, pos.y);
22
35
  const physicsPos = new box2D.b2Vec2(pos.x, pos.y);
23
36
  // console.log('SetTransform', pos, physicsPos)
24
- const body = this.physicSprite.getBody();
37
+ const body = this.body;
25
38
  body.SetLinearVelocity(new box2D.b2Vec2(0, 0));
26
39
  body.SetAngularVelocity(0);
27
40
  body.SetAwake(true);
@@ -4,6 +4,7 @@ export declare class PhysicsSprite {
4
4
  constructor(node: cc.Node, body: Box2D.b2Body);
5
5
  update(dt: number): void;
6
6
  getBody(): Box2D.b2Body;
7
+ set position(val: Box2D.b2Vec2);
7
8
  get x(): number;
8
9
  get y(): number;
9
10
  get angle(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"PhysicsSprite.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsSprite.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IACxB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;IACb,WAAW,EAAE,KAAK,CAAC,MAAM,CAAA;gBAEb,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM;IAM7C,MAAM,CAAC,EAAE,EAAE,MAAM;IAkBjB,OAAO;IAeP,IAAI,CAAC,WAEJ;IAED,IAAI,CAAC,WAEJ;IAMD,IAAI,KAAK,WAER;IAED,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI;CAGxB"}
1
+ {"version":3,"file":"PhysicsSprite.d.ts","sourceRoot":"","sources":["../../src/box2d-wasm/PhysicsSprite.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IACxB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;IACb,WAAW,EAAE,KAAK,CAAC,MAAM,CAAA;gBAEb,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM;IAK7C,MAAM,CAAC,EAAE,EAAE,MAAM;IAkBjB,OAAO;IAIP,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAE7B;IASD,IAAI,CAAC,WAEJ;IAED,IAAI,CAAC,WAEJ;IAMD,IAAI,KAAK,WAER;IAED,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI;CAGxB"}
@@ -5,7 +5,6 @@ export class PhysicsSprite {
5
5
  constructor(node, body) {
6
6
  this.node = node;
7
7
  this.physicsBody = body;
8
- this.node.schedule(this.update.bind(this), 0, cc.REPEAT_FOREVER, 0);
9
8
  }
10
9
  update(dt) {
11
10
  if (!this.physicsBody) {
@@ -24,9 +23,9 @@ export class PhysicsSprite {
24
23
  getBody() {
25
24
  return this.physicsBody;
26
25
  }
27
- // set position(val: Box2D.b2Vec2) {
28
- // this.physicsBody.setPosition(val)
29
- // }
26
+ set position(val) {
27
+ this.physicsBody.SetTransform(val, this.node.rotation);
28
+ }
30
29
  // set x(val) {
31
30
  // this.physicsBody.setPosition(Vec2(val, this.y))
32
31
  // }
@@ -4,12 +4,11 @@ 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(cb: any): void;
7
+ export declare function initBox2d(): Promise<void>;
8
8
  export declare function setColliderMatrix(colliderMatrix?: boolean[][]): void;
9
9
  export declare class PhysicsSystem implements System {
10
10
  world: Box2D.b2World;
11
11
  listRemoveBody: Box2D.b2Body[];
12
- listRemoveShape: Box2D.b2Shape[];
13
12
  colliderMatrix: boolean[][];
14
13
  graphics: cc.DrawNode;
15
14
  addDebug(): void;
@@ -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;AAE5E,OAAO,EAAoC,IAAI,EAAE,MAAM,IAAI,CAAA;AAM3D,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,wBAAgB,SAAS,CAAC,EAAE,KAAA,QAK3B;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;IACnC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,CAAK;IACrC,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;IAwBhE,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;AAE5E,OAAO,EAAoC,IAAI,EAAE,MAAM,IAAI,CAAA;AAM3D,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"}
@@ -9,11 +9,8 @@ export const DynamicBody = 2;
9
9
  export const KinematicBody = 1;
10
10
  export const StaticBody = 0;
11
11
  export let box2D;
12
- export function initBox2d(cb) {
13
- Box2DFactory().then((b2) => {
14
- box2D = b2;
15
- cb();
16
- });
12
+ export async function initBox2d() {
13
+ box2D = await Box2DFactory();
17
14
  }
18
15
  // Box2D.b2Fixture.prototype.shouldCollide = function (other) {
19
16
  // const nodeThis: NodeComp = this.getBody().getUserData()
@@ -26,14 +23,14 @@ export function setColliderMatrix(colliderMatrix = [[true]]) {
26
23
  physicsSystem.colliderMatrix = colliderMatrix;
27
24
  }
28
25
  const maxTimeStep = 1 / 60;
29
- const velocityIterations = 1;
30
- const positionIterations = 1;
26
+ const velocityIterations = 8;
27
+ const positionIterations = 3;
31
28
  const metadata = {};
32
29
  const pixelsPerMeter = 1;
33
30
  export class PhysicsSystem {
34
31
  world;
35
32
  listRemoveBody = [];
36
- listRemoveShape = [];
33
+ // listRemoveShape: Box2D.b2Shape[] = []
37
34
  colliderMatrix = [[true]];
38
35
  graphics;
39
36
  addDebug() {
@@ -44,34 +41,32 @@ export class PhysicsSystem {
44
41
  const { b2BodyDef, b2FixtureDef, b2PolygonShape, b2CircleShape, b2Vec2, b2World, pointsToVec2Array, getPointer } = box2D;
45
42
  const gravity = new b2Vec2(0, -10);
46
43
  this.world = new b2World(gravity);
47
- console.log('configure PhysicsSystem world', this.world);
44
+ // console.log('configure PhysicsSystem world', this.world)
48
45
  const graphics = new cc.DrawNode();
49
46
  this.graphics = graphics;
50
47
  graphics.zIndex = 1000;
51
48
  const scene = cc.director.getRunningScene();
52
49
  scene.addChild(graphics);
53
- event_manager.subscribe(EventTypes.ComponentAdded, PhysicsBoxCollider, ({ entity, component }) => {
50
+ event_manager.subscribe(EventTypes.ComponentAdded, PhysicsBoxCollider, ({ entity, component: box }) => {
54
51
  // console.log('ComponentAddedEvent PhysicsBoxCollider', component)
55
52
  let rigidBody = entity.getComponent(RigidBody);
56
- const box = component;
57
- const { width, height, offset = [] } = box.props;
58
- const node = entity.getComponent(NodeComp);
59
- const zero = new b2Vec2(0, 0);
60
53
  if (!rigidBody) {
61
54
  rigidBody = instantiate(RigidBody);
62
55
  entity.assign(rigidBody);
63
- const { type = StaticBody, gravityScale = 1 } = rigidBody.props;
64
- const bd = new b2BodyDef();
65
- bd.set_type(type);
66
- bd.set_position(zero);
67
- bd.set_gravityScale(gravityScale);
68
- const body = this.world.CreateBody(bd);
69
- rigidBody.body = body;
70
- const physicsNode = new PhysicsSprite(node.instance, rigidBody.body);
71
- rigidBody.physicSprite = physicsNode;
72
- rigidBody.node = node;
73
56
  }
74
- const { density = 1, friction = 0.5, restitution = 0.3 } = rigidBody.props;
57
+ const { type = StaticBody, gravityScale = 1, density = 1, friction = 0.5, restitution = 0.3, isSensor } = rigidBody.props;
58
+ const { width, height, offset = [] } = box.props;
59
+ const node = entity.getComponent(NodeComp);
60
+ const zero = new b2Vec2(0, 0);
61
+ const bd = new b2BodyDef();
62
+ bd.set_type(type);
63
+ bd.set_position(zero);
64
+ bd.set_gravityScale(gravityScale);
65
+ const body = this.world.CreateBody(bd);
66
+ rigidBody.body = body;
67
+ const physicsNode = new PhysicsSprite(node.instance, rigidBody.body);
68
+ rigidBody.physicSprite = physicsNode;
69
+ rigidBody.node = node;
75
70
  // console.log('body', type, b2_dynamicBody, b2_staticBody, getPointer(body));
76
71
  // body.setMassData({ mass: 1 } as any)
77
72
  const position = new b2Vec2(node.posX, node.posY);
@@ -83,6 +78,7 @@ export class PhysicsSystem {
83
78
  fixtureDef.set_density(density);
84
79
  fixtureDef.set_friction(friction);
85
80
  fixtureDef.set_restitution(restitution);
81
+ fixtureDef.set_isSensor(isSensor);
86
82
  rigidBody.body.CreateFixture(fixtureDef);
87
83
  rigidBody.body.SetTransform(position, 0);
88
84
  rigidBody.body.SetLinearVelocity(zero);
@@ -98,7 +94,7 @@ export class PhysicsSystem {
98
94
  rigidBody = instantiate(RigidBody);
99
95
  entity.assign(rigidBody);
100
96
  }
101
- const { type = StaticBody, gravityScale = 1, density = 1, friction = 0.5, restitution = 0.3 } = rigidBody.props;
97
+ const { type = StaticBody, gravityScale = 1, density = 100, friction = 0.5, restitution = 0.3, isSensor = false } = rigidBody.props;
102
98
  const node = entity.getComponent(NodeComp);
103
99
  const { radius, offset = [] } = component.props;
104
100
  const [x = 0, y = 0] = offset;
@@ -119,6 +115,7 @@ export class PhysicsSystem {
119
115
  const fixtureDef = new b2FixtureDef();
120
116
  fixtureDef.set_shape(circleShape);
121
117
  fixtureDef.set_density(density);
118
+ fixtureDef.set_isSensor(isSensor);
122
119
  fixtureDef.set_friction(friction);
123
120
  fixtureDef.set_restitution(restitution);
124
121
  body.CreateFixture(fixtureDef);
@@ -138,7 +135,7 @@ export class PhysicsSystem {
138
135
  rigidBody = instantiate(RigidBody);
139
136
  entity.assign(rigidBody);
140
137
  }
141
- const { type = StaticBody, gravityScale = 1, density = 1, friction = 0.5, restitution = 0.3 } = rigidBody.props;
138
+ const { type = StaticBody, gravityScale = 1, density = 1, friction = 0.5, restitution = 0.3, isSensor } = rigidBody.props;
142
139
  const node = entity.getComponent(NodeComp);
143
140
  const { points, offset = [] } = component.props;
144
141
  const [x = 0, y = 0] = offset;
@@ -170,9 +167,10 @@ export class PhysicsSystem {
170
167
  fixtureDef.set_density(density);
171
168
  fixtureDef.set_friction(friction);
172
169
  fixtureDef.set_restitution(restitution);
170
+ fixtureDef.set_isSensor(isSensor);
173
171
  body.CreateFixture(fixtureDef);
174
172
  body.SetTransform(position, 0);
175
- body.SetLinearVelocity(zero);
173
+ // body.SetLinearVelocity(zero)
176
174
  body.SetAwake(true);
177
175
  body.SetEnabled(true);
178
176
  metadata[getPointer(body)] = node;
@@ -194,6 +192,12 @@ export class PhysicsSystem {
194
192
  update(entities, events, dt) {
195
193
  if (this.world) {
196
194
  const { getPointer } = box2D;
195
+ for (const entt of entities.entities_with_components(RigidBody)) {
196
+ const comp = entt.getComponent(RigidBody);
197
+ if (comp.node.active && comp.enabled) {
198
+ comp.physicSprite.update(dt);
199
+ }
200
+ }
197
201
  // remove bodies and shapes
198
202
  this.listRemoveBody.forEach((body) => {
199
203
  if (body) {
@@ -206,7 +210,7 @@ export class PhysicsSystem {
206
210
  // }
207
211
  // })
208
212
  this.listRemoveBody = [];
209
- this.listRemoveShape = [];
213
+ // this.listRemoveShape = []
210
214
  const clampedDelta = Math.min(dt, maxTimeStep);
211
215
  this.world.Step(clampedDelta, velocityIterations, positionIterations);
212
216
  this.graphics.clear();
@@ -1,4 +1,4 @@
1
- import { NoRenderComponentX } from '../gworld/core/decorator';
1
+ import { NoRenderComponentX } from '..';
2
2
  import { Vec2 } from '../polyfills';
3
3
  interface ColliderProps {
4
4
  offset?: Vec2;
@@ -1 +1 @@
1
- {"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,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,kBAAkB,CAAC,CAAC,CAAC;IACpE,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,aAAa;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IACzD,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;CA4B7B;AAED,UAAU,mBAAoB,SAAQ,aAAa;IACjD,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAqB7B;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IACjE,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;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,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,kBAAkB,CAAC,CAAC,CAAC;IACpE,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,aAAa;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IACzD,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;CA4B7B;AAED,UAAU,mBAAoB,SAAQ,aAAa;IACjD,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAqB7B;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IACjE,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 '../gworld/core/decorator';
1
+ import { NoRenderComponentX } from '..';
2
2
  import { getMax, getMin } from '../helper/math';
3
3
  import { Vec2 } from '../polyfills';
4
4
  function getNodeToWorldTransformAR(node) {
@@ -1,6 +1,6 @@
1
1
  import { EventTypes } from 'entityx-ts';
2
2
  import { GameWorld } from '../gworld';
3
- import { NodeComp } from '../gworld/components/NodeComp';
3
+ import { NodeComp } from '../gworld/NodeComp';
4
4
  import { BoxCollider, CircleCollider, Collider, CollisionType, Contract, PolygonCollider } from './CollideComponent';
5
5
  export function shouldCollider(colA, colB) {
6
6
  const groupA = colA.node.group;
@@ -1,2 +1,3 @@
1
+ export * from './CollideComponent';
1
2
  export declare function setupCollider(colliderMatrix?: any, debug?: boolean): void;
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collider/index.ts"],"names":[],"mappings":"AAGA,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,QAS3D"}
@@ -1,5 +1,6 @@
1
1
  import { GameWorld } from '../gworld';
2
2
  import { CollideSystem } from './CollideSystem';
3
+ export * from './CollideComponent';
3
4
  export function setupCollider(colliderMatrix, debug = false) {
4
5
  GameWorld.Instance.systems.add(CollideSystem);
5
6
  GameWorld.Instance.listUpdate.push(CollideSystem);
@@ -1,6 +1,6 @@
1
1
  import { EntityManager, EventManager, System } from 'entityx-ts';
2
2
  import { GameWorld } from '../gworld';
3
- import { ComponentX } from '../gworld/core/decorator';
3
+ import { ComponentX } from '../gworld/decorator';
4
4
  import { BaseComponentProps } from '../safex';
5
5
  export type DragonBonesEventData = {
6
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dragonbones/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAG7C,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AACnD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,CAAA;IAEjB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;CACjC;AACD,UAAU,wBAAwB;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,KAAK,CAAA;CACjB;AACD,UAAU,uBAAuB;IAC/B,SAAS,EAAE,wBAAwB,CAAA;IACnC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;IACD,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;CAClF;AACD,qBAAa,eAAgB,SAAQ,UAAU,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;IAC9G,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAI;IAOxC,gBAAgB;IAShB,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,YAAY,CAAC,SAAS,EAAE,KAAK;CAG9B;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC9C,SAAS,CAAC,aAAa,EAAE,YAAY;IAyDrC,MAAM,CAAC,QAAQ,EAAE,aAAa;CAW/B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,QAIhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dragonbones/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAG7C,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AACnD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,CAAA;IAEjB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;CACjC;AACD,UAAU,wBAAwB;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,KAAK,CAAA;CACjB;AACD,UAAU,uBAAuB;IAC/B,SAAS,EAAE,wBAAwB,CAAA;IACnC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;IACD,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;CAClF;AACD,qBAAa,eAAgB,SAAQ,UAAU,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;IAC9G,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAI;IAOxC,gBAAgB;IAShB,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,YAAY,CAAC,SAAS,EAAE,KAAK;CAG9B;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC9C,SAAS,CAAC,aAAa,EAAE,YAAY;IAyDrC,MAAM,CAAC,QAAQ,EAAE,aAAa;CAW/B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,QAIhD"}
@@ -1,6 +1,6 @@
1
1
  import { EventTypes } from 'entityx-ts';
2
- import { NodeComp } from '../gworld/components/NodeComp';
3
- import { ComponentX } from '../gworld/core/decorator';
2
+ import { NodeComp } from '../gworld/NodeComp';
3
+ import { ComponentX } from '../gworld/decorator';
4
4
  import { PixiDragonBonesSprite } from './PixiDragonBonesSprite';
5
5
  export class DragonBonesComp extends ComponentX {
6
6
  armature;
@@ -0,0 +1,93 @@
1
+ import { ComponentX, NoRenderComponentX } from '../gworld/decorator';
2
+ import { Color4B, Size, Vec2 } from '../polyfills';
3
+ import { BaseComponentProps, ColorSource } from '../safex';
4
+ export declare const FillType: {
5
+ HORIZONTAL: number;
6
+ VERTICAL: number;
7
+ RADIAL: number;
8
+ };
9
+ type Keys = keyof typeof FillType;
10
+ type Values = (typeof FillType)[Keys];
11
+ interface ButtonCompProps {
12
+ normalImage?: string;
13
+ selectedImage?: string;
14
+ disableImage?: string;
15
+ zoomScale?: number;
16
+ onPress?: (target: ButtonComp) => void;
17
+ }
18
+ export declare class ButtonComp extends NoRenderComponentX<ButtonCompProps> {
19
+ clickEvents: any[];
20
+ setOnPress(cb: (target: ButtonComp) => void): void;
21
+ }
22
+ interface ProgressTimerProps {
23
+ spriteFrame: string;
24
+ fillType?: number;
25
+ fillRange?: number;
26
+ fillCenter?: Vec2;
27
+ isReverse?: boolean;
28
+ }
29
+ export declare class ProgressTimerComp extends ComponentX<ProgressTimerProps & BaseComponentProps<ProgressTimerComp>, cc.ProgressTimer & cc.Node> {
30
+ spriteFrame: string;
31
+ fillType: Values;
32
+ fillRange: number;
33
+ fillCenter: Vec2;
34
+ isReverse: boolean;
35
+ getFillRange(): number;
36
+ setFillStart(val: number): void;
37
+ setFillRange(val: number): void;
38
+ }
39
+ interface LabelCompProps {
40
+ font?: string;
41
+ string?: string;
42
+ size?: number;
43
+ }
44
+ interface LabelOutlineCompProps {
45
+ color: ColorSource;
46
+ width: number;
47
+ }
48
+ interface LabelShadowCompProps {
49
+ color: ColorSource;
50
+ blur: number;
51
+ offset: Vec2;
52
+ }
53
+ export declare class LabelComp extends ComponentX<LabelCompProps & BaseComponentProps<LabelComp>, ccui.Text> {
54
+ get string(): string;
55
+ set string(val: string);
56
+ }
57
+ export declare class LabelOutlineComp extends NoRenderComponentX<LabelOutlineCompProps> {
58
+ color: typeof Color4B;
59
+ width: Float;
60
+ }
61
+ export declare class LabelShadowComp extends NoRenderComponentX<LabelShadowCompProps> {
62
+ color: typeof Color4B;
63
+ blur: Float;
64
+ offset: Size;
65
+ }
66
+ export declare enum ScrollViewDirection {
67
+ NONE,
68
+ HORIZONTAL,
69
+ VERTICAL,
70
+ BOTH
71
+ }
72
+ interface ScrollViewProps {
73
+ viewSize: Size;
74
+ contentSize: Size;
75
+ direction?: ScrollViewDirection;
76
+ }
77
+ export declare class ScrollViewComp extends ComponentX<ScrollViewProps & BaseComponentProps<ScrollViewComp>, cc.ScrollView> {
78
+ zoom(scale: number): void;
79
+ }
80
+ interface InputCompProps {
81
+ placeHolder?: string;
82
+ font?: string;
83
+ size?: Integer;
84
+ maxLength?: Integer;
85
+ isPassword?: boolean;
86
+ }
87
+ export declare class InputComp extends ComponentX<InputCompProps & BaseComponentProps<InputComp>, ccui.TextField> {
88
+ get string(): string;
89
+ }
90
+ export declare class BlockInputEventsComp extends NoRenderComponentX {
91
+ }
92
+ export {};
93
+ //# sourceMappingURL=GUIComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/gui/GUIComponent.ts"],"names":[],"mappings":"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"}