@safe-engine/cocos 2.5.12 → 2.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/PixiDragonBonesSprite.d.ts +19 -0
- package/dist/dragonbones/PixiDragonBonesSprite.d.ts.map +1 -0
- package/dist/dragonbones/PixiDragonBonesSprite.js +75 -0
- package/dist/gui/GUIComponent.d.ts +12 -0
- package/dist/gui/GUIComponent.d.ts.map +1 -1
- package/dist/gui/GUIComponent.js +16 -0
- package/dist/gui/GUISystem.d.ts +1 -0
- package/dist/gui/GUISystem.d.ts.map +1 -1
- package/dist/gui/GUISystem.js +6 -1
- 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/helper/action.d.ts +1 -0
- package/dist/helper/action.d.ts.map +1 -1
- package/dist/helper/action.js +3 -0
- package/dist/render/TiledSprite.d.ts +3 -1
- package/dist/render/TiledSprite.d.ts.map +1 -1
- package/dist/render/TiledSprite.js +13 -31
- package/dist/render/shader.d.ts +1 -1
- package/dist/render/shader.d.ts.map +1 -1
- package/dist/render/shader.js +7 -1
- package/dist/safex.d.ts +10 -0
- package/dist/safex.d.ts.map +1 -0
- package/dist/safex.js +1 -0
- package/dist/spine/CCSkeleton.d.ts +189 -0
- package/dist/spine/CCSkeleton.d.ts.map +1 -0
- package/dist/spine/CCSkeleton.js +320 -0
- package/dist/spine/CCSkeletonAnimation.d.ts +146 -0
- package/dist/spine/CCSkeletonAnimation.d.ts.map +1 -0
- package/dist/spine/CCSkeletonAnimation.js +311 -0
- package/dist/spine/CCSkeletonCanvasRenderCmd.d.ts +2 -0
- package/dist/spine/CCSkeletonCanvasRenderCmd.d.ts.map +1 -0
- package/dist/spine/CCSkeletonCanvasRenderCmd.js +228 -0
- package/dist/spine/CCSkeletonTexture.d.ts +25 -0
- package/dist/spine/CCSkeletonTexture.d.ts.map +1 -0
- package/dist/spine/CCSkeletonTexture.js +60 -0
- package/dist/spine/CCSkeletonWebGLRenderCmd.d.ts +28 -0
- package/dist/spine/CCSkeletonWebGLRenderCmd.d.ts.map +1 -0
- package/dist/spine/CCSkeletonWebGLRenderCmd.js +277 -0
- package/dist/spine/PixiSpineSprite.d.ts +19 -0
- package/dist/spine/PixiSpineSprite.d.ts.map +1 -0
- package/dist/spine/PixiSpineSprite.js +72 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PixiArmatureDisplay } from 'dragonbones-pixijs';
|
|
2
|
+
import { Application } from 'pixi.js';
|
|
3
|
+
export declare function loadDragonBonesAssets({ skeleton, atlas, texture }: {
|
|
4
|
+
skeleton: any;
|
|
5
|
+
atlas: any;
|
|
6
|
+
texture: any;
|
|
7
|
+
}): Promise<any>;
|
|
8
|
+
export declare class PixiDragonBonesSprite extends cc.Sprite {
|
|
9
|
+
_canvas: any;
|
|
10
|
+
_pixiApp: Application;
|
|
11
|
+
_texture: cc.Texture2D;
|
|
12
|
+
_config: any;
|
|
13
|
+
_armatureDisplay: PixiArmatureDisplay;
|
|
14
|
+
constructor(config: any);
|
|
15
|
+
_setupArmature(): void;
|
|
16
|
+
updateTexture(): void;
|
|
17
|
+
onExit(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PixiDragonBonesSprite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PixiDragonBonesSprite.d.ts","sourceRoot":"","sources":["../../src/dragonbones/PixiDragonBonesSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAe,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAU,MAAM,SAAS,CAAA;AAE7C,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;;;;CAAA,gBAGjE;AAED,qBAAa,qBAAsB,SAAQ,EAAE,CAAC,MAAM;IAClD,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAA;IACtB,OAAO,MAAA;IACP,gBAAgB,EAAE,mBAAmB,CAAA;gBACzB,MAAM,KAAA;IA+BlB,cAAc;IAuBd,aAAa;IASb,MAAM;CAQP"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { PixiFactory } from 'dragonbones-pixijs';
|
|
2
|
+
import { Application, Assets } from 'pixi.js';
|
|
3
|
+
export function loadDragonBonesAssets({ skeleton, atlas, texture }) {
|
|
4
|
+
// console.log('loadDragonBonesAssets', skeleton, atlas, texture)
|
|
5
|
+
return Assets.load([skeleton, atlas, texture]);
|
|
6
|
+
}
|
|
7
|
+
export class PixiDragonBonesSprite extends cc.Sprite {
|
|
8
|
+
_canvas;
|
|
9
|
+
_pixiApp;
|
|
10
|
+
_texture;
|
|
11
|
+
_config;
|
|
12
|
+
_armatureDisplay;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
super();
|
|
15
|
+
super.ctor(); // always call this for compatibility with cocos2dx JS Javascript class system
|
|
16
|
+
this._canvas = document.createElement('canvas');
|
|
17
|
+
this._canvas.width = config.width || 1024;
|
|
18
|
+
this._canvas.height = config.height || 1024;
|
|
19
|
+
this._pixiApp = new Application();
|
|
20
|
+
this._pixiApp.init({
|
|
21
|
+
view: this._canvas,
|
|
22
|
+
width: this._canvas.width,
|
|
23
|
+
height: this._canvas.height,
|
|
24
|
+
backgroundAlpha: 0, // nền trong suốt
|
|
25
|
+
// transparent: true, // bắt buộc để alpha hoạt động
|
|
26
|
+
clearBeforeRender: true, // xoá trước khi vẽ frame mới
|
|
27
|
+
preserveDrawingBuffer: true, // giúp lấy ảnh từ canvas
|
|
28
|
+
antialias: true,
|
|
29
|
+
});
|
|
30
|
+
this._texture = new cc.Texture2D();
|
|
31
|
+
this._texture.initWithElement(this._canvas);
|
|
32
|
+
this._texture.handleLoadedTexture();
|
|
33
|
+
this.initWithTexture(this._texture);
|
|
34
|
+
this._config = config;
|
|
35
|
+
this._armatureDisplay = null;
|
|
36
|
+
this._setupArmature();
|
|
37
|
+
// this.schedule(this.updateTexture, 1 / 30);
|
|
38
|
+
}
|
|
39
|
+
_setupArmature() {
|
|
40
|
+
const { skeleton, atlas, texture, playTimes, animationName, scale = 1 } = this._config;
|
|
41
|
+
const factory = PixiFactory.factory;
|
|
42
|
+
const atlasAsset = Assets.get(atlas);
|
|
43
|
+
const dragonData = factory.parseDragonBonesData(Assets.get(skeleton), atlasAsset.name);
|
|
44
|
+
factory.parseTextureAtlasData(Assets.get(atlas), Assets.get(texture), atlasAsset.name);
|
|
45
|
+
const { armatureNames } = dragonData;
|
|
46
|
+
const armatureName = armatureNames[0];
|
|
47
|
+
const display = factory.buildArmatureDisplay(armatureName, atlasAsset.name);
|
|
48
|
+
if (!display) {
|
|
49
|
+
console.error('Cannot build armature:', armatureName);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
display.animation.play(animationName, playTimes);
|
|
53
|
+
display.x = this._canvas.width / 2;
|
|
54
|
+
display.y = this._canvas.height / 2;
|
|
55
|
+
display.scale.set(scale);
|
|
56
|
+
this._pixiApp.stage.addChild(display);
|
|
57
|
+
this._armatureDisplay = display;
|
|
58
|
+
}
|
|
59
|
+
updateTexture() {
|
|
60
|
+
if (this._armatureDisplay && this._pixiApp.renderer && this._pixiApp.stage) {
|
|
61
|
+
this._pixiApp.renderer.render(this._pixiApp.stage);
|
|
62
|
+
this._texture.initWithElement(this._canvas);
|
|
63
|
+
this._texture.handleLoadedTexture();
|
|
64
|
+
this.setTexture(this._texture);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onExit() {
|
|
68
|
+
// this.unschedule(this.updateTexture);
|
|
69
|
+
this._pixiApp.destroy(true, { children: true });
|
|
70
|
+
this._canvas.remove();
|
|
71
|
+
this._armatureDisplay.destroy();
|
|
72
|
+
this._armatureDisplay = null;
|
|
73
|
+
super.onExit();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -10,6 +10,7 @@ interface ButtonCompProps {
|
|
|
10
10
|
normalImage?: string;
|
|
11
11
|
selectedImage?: string;
|
|
12
12
|
disableImage?: string;
|
|
13
|
+
param?: string;
|
|
13
14
|
zoomScale?: number;
|
|
14
15
|
onPress?: (target: ButtonComp) => void;
|
|
15
16
|
}
|
|
@@ -72,5 +73,16 @@ interface WidgetCompProps {
|
|
|
72
73
|
}
|
|
73
74
|
export declare class WidgetComp extends ComponentX<WidgetCompProps & BaseComponentProps<WidgetComp>, cc.Node> {
|
|
74
75
|
}
|
|
76
|
+
interface GridLayoutCompProps {
|
|
77
|
+
top?: Integer;
|
|
78
|
+
left?: Integer;
|
|
79
|
+
spaceX?: Integer;
|
|
80
|
+
spaceY?: Integer;
|
|
81
|
+
columns?: Integer;
|
|
82
|
+
}
|
|
83
|
+
export declare class GridLayoutComp extends ComponentX<GridLayoutCompProps & BaseComponentProps<GridLayoutComp>, cc.Node> {
|
|
84
|
+
start(): void;
|
|
85
|
+
doLayout(): void;
|
|
86
|
+
}
|
|
75
87
|
export {};
|
|
76
88
|
//# sourceMappingURL=GUIComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/gui/GUIComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GUIComponent.d.ts","sourceRoot":"","sources":["../../src/gui/GUIComponent.ts"],"names":[],"mappings":"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"}
|
package/dist/gui/GUIComponent.js
CHANGED
|
@@ -56,6 +56,22 @@ export class InputComp extends ComponentX {
|
|
|
56
56
|
}
|
|
57
57
|
export class WidgetComp extends ComponentX {
|
|
58
58
|
}
|
|
59
|
+
export class GridLayoutComp extends ComponentX {
|
|
60
|
+
start() {
|
|
61
|
+
this.doLayout();
|
|
62
|
+
}
|
|
63
|
+
doLayout() {
|
|
64
|
+
const { columns = 5, spaceX = 0, spaceY = 0, left = 0, top = 0 } = this.props;
|
|
65
|
+
const children = this.node.instance.children;
|
|
66
|
+
children.forEach((child, index) => {
|
|
67
|
+
const row = Math.floor(index / columns);
|
|
68
|
+
const column = index % columns;
|
|
69
|
+
const x = left + column * (child.width + spaceX) + child.width / 2;
|
|
70
|
+
const y = -top - row * (child.height + spaceY) - child.height / 2;
|
|
71
|
+
child.setPosition(x, y);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
59
75
|
Object.defineProperty(ProgressTimerComp.prototype, 'render', { value: render });
|
|
60
76
|
Object.defineProperty(LabelComp.prototype, 'render', { value: render });
|
|
61
77
|
Object.defineProperty(ScrollViewComp.prototype, 'render', { value: render });
|
package/dist/gui/GUISystem.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GUISystem.d.ts","sourceRoot":"","sources":["../../src/gui/GUISystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,EAAE,MAAM,YAAY,CAAA;AAMnF,qBAAa,SAAU,YAAW,MAAM;IACtC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,aAAa,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"GUISystem.d.ts","sourceRoot":"","sources":["../../src/gui/GUISystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,EAAE,MAAM,YAAY,CAAA;AAMnF,qBAAa,SAAU,YAAW,MAAM;IACtC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,aAAa,EAAE,YAAY;IAUrC,OAAO,CAAC,eAAe,CAuBtB;IAED,OAAO,CAAC,sBAAsB,CAc7B;IAED,OAAO,CAAC,cAAc,CAerB;IAED,OAAO,CAAC,mBAAmB,CAU1B;IAED,OAAO,CAAC,cAAc,CAWrB;IAED,OAAO,CAAC,eAAe,CAetB;IAED,OAAO,CAAC,mBAAmB,CAG1B;CAKF"}
|
package/dist/gui/GUISystem.js
CHANGED
|
@@ -2,7 +2,7 @@ import { EventTypes } from 'entityx-ts';
|
|
|
2
2
|
import { NodeComp } from '../core/NodeComp';
|
|
3
3
|
import { TouchEventRegister } from '../norender';
|
|
4
4
|
import { Vec2 } from '../polyfills';
|
|
5
|
-
import { ButtonComp, FillType, InputComp, LabelComp, ProgressTimerComp, ScrollViewComp, WidgetComp } from './GUIComponent';
|
|
5
|
+
import { ButtonComp, FillType, GridLayoutComp, InputComp, LabelComp, ProgressTimerComp, ScrollViewComp, WidgetComp } from './GUIComponent';
|
|
6
6
|
export class GUISystem {
|
|
7
7
|
static defaultFont;
|
|
8
8
|
configure(event_manager) {
|
|
@@ -12,6 +12,7 @@ export class GUISystem {
|
|
|
12
12
|
event_manager.subscribe(EventTypes.ComponentAdded, ScrollViewComp, this.onAddScrollViewComp);
|
|
13
13
|
event_manager.subscribe(EventTypes.ComponentAdded, InputComp, this.onAddInputComp);
|
|
14
14
|
event_manager.subscribe(EventTypes.ComponentAdded, WidgetComp, this.onAddWidgetComp);
|
|
15
|
+
event_manager.subscribe(EventTypes.ComponentAdded, GridLayoutComp, this.onAddGridLayoutComp);
|
|
15
16
|
}
|
|
16
17
|
onAddButtonComp = ({ entity, component: button }) => {
|
|
17
18
|
const nodeComp = entity.getComponent(NodeComp);
|
|
@@ -108,4 +109,8 @@ export class GUISystem {
|
|
|
108
109
|
nodeComp.instance.x = left + nodeComp.instance.width * nodeComp.instance.anchorX;
|
|
109
110
|
}
|
|
110
111
|
};
|
|
112
|
+
onAddGridLayoutComp = ({ entity, component }) => {
|
|
113
|
+
component.node = entity.getComponent(NodeComp);
|
|
114
|
+
component.doLayout();
|
|
115
|
+
};
|
|
111
116
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Constructor } from 'entityx-ts';
|
|
2
|
+
import { BaseComponentProps } from '../safex';
|
|
3
|
+
import { NodeComp } from './NodeComp';
|
|
4
|
+
export declare class EnhancedComponent<Props = object, N extends NodeComp<any> = NodeComp<any>> {
|
|
5
|
+
static hasRender: boolean;
|
|
6
|
+
props: Props;
|
|
7
|
+
node: N;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
constructor(data?: BaseComponentProps<EnhancedComponent> & Props);
|
|
10
|
+
init(data?: Props): void;
|
|
11
|
+
addComponent<T extends EnhancedComponent>(instance: T): T;
|
|
12
|
+
getComponent<T extends EnhancedComponent>(component: Constructor<T>): T;
|
|
13
|
+
schedule(callback: (arg: any) => void, interval: number, repeat?: number, delay?: number): void;
|
|
14
|
+
unschedule(callback: (arg: any) => void): void;
|
|
15
|
+
unscheduleAllCallbacks(): void;
|
|
16
|
+
scheduleOnce(callback: (arg: any) => void, delay: number, key?: string): void;
|
|
17
|
+
getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
|
|
18
|
+
getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
|
|
19
|
+
isEqual(other: EnhancedComponent): boolean;
|
|
20
|
+
}
|
|
21
|
+
export type ComponentType = EnhancedComponent | NodeComp;
|
|
22
|
+
//# sourceMappingURL=EnhancedComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedComponent.d.ts","sourceRoot":"","sources":["../../src/gworld/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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class EnhancedComponent {
|
|
2
|
+
static hasRender = true;
|
|
3
|
+
props = {};
|
|
4
|
+
node;
|
|
5
|
+
enabled = true;
|
|
6
|
+
constructor(data) {
|
|
7
|
+
this.init(data);
|
|
8
|
+
}
|
|
9
|
+
init(data) {
|
|
10
|
+
if (data) {
|
|
11
|
+
// console.log('constructor', this.constructor.name, data)
|
|
12
|
+
Object.keys(data).forEach((key) => {
|
|
13
|
+
this.props[key] = data[key];
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
addComponent(instance) {
|
|
18
|
+
return this.node.addComponent(instance);
|
|
19
|
+
}
|
|
20
|
+
getComponent(component) {
|
|
21
|
+
return this.node.getComponent(component);
|
|
22
|
+
}
|
|
23
|
+
schedule(callback, interval, repeat = cc.macro.REPEAT_FOREVER, delay = 0) {
|
|
24
|
+
this.node.instance.schedule(callback.bind(this), interval, repeat, delay);
|
|
25
|
+
}
|
|
26
|
+
unschedule(callback) {
|
|
27
|
+
this.node.instance.unschedule(callback.bind(this));
|
|
28
|
+
}
|
|
29
|
+
unscheduleAllCallbacks() {
|
|
30
|
+
this.node.instance.unscheduleAllCallbacks();
|
|
31
|
+
}
|
|
32
|
+
scheduleOnce(callback, delay, key) {
|
|
33
|
+
this.node.instance.scheduleOnce(callback, delay, key);
|
|
34
|
+
}
|
|
35
|
+
getComponentsInChildren(component) {
|
|
36
|
+
return this.node.getComponentsInChildren(component);
|
|
37
|
+
}
|
|
38
|
+
getComponentInChildren(component) {
|
|
39
|
+
return this.node.getComponentInChildren(component);
|
|
40
|
+
}
|
|
41
|
+
isEqual(other) {
|
|
42
|
+
return this.node.entity.id === other.node.entity.id;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Constructor, Entity } from 'entityx-ts';
|
|
2
|
+
import { Vec2 } from '../polyfills';
|
|
3
|
+
import { ComponentType, EnhancedComponent } from './EnhancedComponent';
|
|
4
|
+
export type EventCallbackType = (...args: any[]) => void;
|
|
5
|
+
export declare class NodeComp<C extends cc.Node = cc.Node> {
|
|
6
|
+
entity: Entity;
|
|
7
|
+
instance: C;
|
|
8
|
+
parent: NodeComp;
|
|
9
|
+
children: NodeComp[];
|
|
10
|
+
name: string;
|
|
11
|
+
private _group;
|
|
12
|
+
private _active;
|
|
13
|
+
constructor(instance: C, entity: Entity);
|
|
14
|
+
get uuid(): number;
|
|
15
|
+
get position(): Readonly<Vec2>;
|
|
16
|
+
set position(val: Vec2);
|
|
17
|
+
set xy(val: [number, number]);
|
|
18
|
+
get posX(): number;
|
|
19
|
+
set posX(val: number);
|
|
20
|
+
get posY(): number;
|
|
21
|
+
set posY(val: number);
|
|
22
|
+
get scale(): number;
|
|
23
|
+
set scale(val: number);
|
|
24
|
+
get scaleX(): number;
|
|
25
|
+
set scaleX(val: number);
|
|
26
|
+
get scaleY(): number;
|
|
27
|
+
set scaleY(val: number);
|
|
28
|
+
get anchorX(): number;
|
|
29
|
+
set anchorX(val: number);
|
|
30
|
+
get anchorY(): number;
|
|
31
|
+
set anchorY(val: number);
|
|
32
|
+
/**
|
|
33
|
+
* Returns the angle of the node in degrees. 0 is the default rotation angle. Positive values rotate node clockwise.
|
|
34
|
+
* @function
|
|
35
|
+
* @return {Number} The rotation of the node in degrees.
|
|
36
|
+
*/
|
|
37
|
+
get rotation(): number;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* Sets the X angle of the node in degrees which performs a horizontal rotational skew.
|
|
41
|
+
* (support only in WebGL rendering mode)
|
|
42
|
+
* 0 is the default rotation angle.
|
|
43
|
+
* Positive values rotate node clockwise, and negative values for anti-clockwise.
|
|
44
|
+
*
|
|
45
|
+
* @param {Number} degrees The X rotation in degrees which performs a horizontal rotational skew.
|
|
46
|
+
*/
|
|
47
|
+
set rotation(val: number);
|
|
48
|
+
get color(): cc.Color;
|
|
49
|
+
set color(val: cc.Color);
|
|
50
|
+
get opacity(): number;
|
|
51
|
+
set opacity(val: number);
|
|
52
|
+
get active(): boolean;
|
|
53
|
+
set active(val: boolean);
|
|
54
|
+
get group(): string | number;
|
|
55
|
+
set group(val: string | number);
|
|
56
|
+
get width(): number;
|
|
57
|
+
set width(val: number);
|
|
58
|
+
get height(): number;
|
|
59
|
+
set height(val: number);
|
|
60
|
+
get zIndex(): number;
|
|
61
|
+
set zIndex(val: number);
|
|
62
|
+
get childrenCount(): number;
|
|
63
|
+
destroy(): void;
|
|
64
|
+
addComponent<T extends ComponentType>(instance: T): T;
|
|
65
|
+
getComponent<T extends ComponentType>(component: Constructor<T>): T;
|
|
66
|
+
getComponentsInChildren<T extends ComponentType>(component: Constructor<T>): T[];
|
|
67
|
+
getComponentInChildren<T extends ComponentType>(component: Constructor<T>): T;
|
|
68
|
+
hasComponentInChildren<T extends ComponentType>(component: Constructor<T>): boolean;
|
|
69
|
+
getPercent(): number;
|
|
70
|
+
setPercent(val: number): void;
|
|
71
|
+
setTouchEnabled(enabled: boolean): void;
|
|
72
|
+
addTouchEventListener(cb: any): void;
|
|
73
|
+
convertToNodeSpace(point: cc.Point): {
|
|
74
|
+
x: number;
|
|
75
|
+
y: number;
|
|
76
|
+
equals(other: /*elided*/ any): boolean;
|
|
77
|
+
add(value: cc.Point | Vec2): /*elided*/ any;
|
|
78
|
+
addSelf(value: cc.Point | Vec2): /*elided*/ any;
|
|
79
|
+
sub(value: cc.Point | Vec2): /*elided*/ any;
|
|
80
|
+
mul(multiply: number): /*elided*/ any;
|
|
81
|
+
mulSelf(multiply: number): /*elided*/ any;
|
|
82
|
+
mag(): number;
|
|
83
|
+
normalizeSelf(): /*elided*/ any;
|
|
84
|
+
normalize(): /*elided*/ any;
|
|
85
|
+
cross(other: Vec2): number;
|
|
86
|
+
signAngle(other: Vec2): number;
|
|
87
|
+
lengthSqr(): number;
|
|
88
|
+
dot(other: Vec2): number;
|
|
89
|
+
angle(other: Vec2): number;
|
|
90
|
+
distance(other: /*elided*/ any): number;
|
|
91
|
+
};
|
|
92
|
+
convertToNodeSpaceAR(point: cc.Point): {
|
|
93
|
+
x: number;
|
|
94
|
+
y: number;
|
|
95
|
+
equals(other: /*elided*/ any): boolean;
|
|
96
|
+
add(value: cc.Point | Vec2): /*elided*/ any;
|
|
97
|
+
addSelf(value: cc.Point | Vec2): /*elided*/ any;
|
|
98
|
+
sub(value: cc.Point | Vec2): /*elided*/ any;
|
|
99
|
+
mul(multiply: number): /*elided*/ any;
|
|
100
|
+
mulSelf(multiply: number): /*elided*/ any;
|
|
101
|
+
mag(): number;
|
|
102
|
+
normalizeSelf(): /*elided*/ any;
|
|
103
|
+
normalize(): /*elided*/ any;
|
|
104
|
+
cross(other: Vec2): number;
|
|
105
|
+
signAngle(other: Vec2): number;
|
|
106
|
+
lengthSqr(): number;
|
|
107
|
+
dot(other: Vec2): number;
|
|
108
|
+
angle(other: Vec2): number;
|
|
109
|
+
distance(other: /*elided*/ any): number;
|
|
110
|
+
};
|
|
111
|
+
convertToWorldSpaceAR(point: cc.Vec2): {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
equals(other: /*elided*/ any): boolean;
|
|
115
|
+
add(value: cc.Point | Vec2): /*elided*/ any;
|
|
116
|
+
addSelf(value: cc.Point | Vec2): /*elided*/ any;
|
|
117
|
+
sub(value: cc.Point | Vec2): /*elided*/ any;
|
|
118
|
+
mul(multiply: number): /*elided*/ any;
|
|
119
|
+
mulSelf(multiply: number): /*elided*/ any;
|
|
120
|
+
mag(): number;
|
|
121
|
+
normalizeSelf(): /*elided*/ any;
|
|
122
|
+
normalize(): /*elided*/ any;
|
|
123
|
+
cross(other: Vec2): number;
|
|
124
|
+
signAngle(other: Vec2): number;
|
|
125
|
+
lengthSqr(): number;
|
|
126
|
+
dot(other: Vec2): number;
|
|
127
|
+
angle(other: Vec2): number;
|
|
128
|
+
distance(other: /*elided*/ any): number;
|
|
129
|
+
};
|
|
130
|
+
getPosition(): cc.Point;
|
|
131
|
+
setPosition(x: number | cc.Vec2 | cc.Vec3 | cc.Point, y?: number): void;
|
|
132
|
+
setRotation(deg: number): void;
|
|
133
|
+
getRotation(): number;
|
|
134
|
+
setAnchorPoint(point: number | cc.Point, y?: number): void;
|
|
135
|
+
getAnchorPoint(): cc.Point;
|
|
136
|
+
getBoundingBox(): cc.Rect;
|
|
137
|
+
getContentSize(): cc.Size;
|
|
138
|
+
setContentSize(size: cc.Size | number, height?: number): void;
|
|
139
|
+
setColor(color: cc.Color): void;
|
|
140
|
+
setScale(scaleX: number, scaleY?: number): void;
|
|
141
|
+
runAction(atc: cc.ActionInterval): void;
|
|
142
|
+
stopAllActions(): void;
|
|
143
|
+
pauseAllActionsAndSchedule(): void;
|
|
144
|
+
resumeAllActionsAndSchedule(): void;
|
|
145
|
+
removeFromParent(cleanup?: boolean): void;
|
|
146
|
+
addChild(child: NodeComp, zOrder?: number, tag?: number): any;
|
|
147
|
+
removeAllChildren(cleanup?: any): void;
|
|
148
|
+
getData<T>(key: string): T;
|
|
149
|
+
setData<T extends Integer | Float | string>(key: string, value: T): void;
|
|
150
|
+
removeData(key: string): void;
|
|
151
|
+
resolveComponent(component: EnhancedComponent<object, NodeComp>): void;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=NodeComp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeComp.d.ts","sourceRoot":"","sources":["../../src/gworld/NodeComp.ts"],"names":[],"mappings":"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"}
|