@safe-engine/pixi 8.5.4 → 8.5.6
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.
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Graphics, Rectangle, Size } from 'pixi.js';
|
|
2
|
-
import { Vec2 } from '..';
|
|
2
|
+
import { BaseComponentProps, Vec2 } from '..';
|
|
3
3
|
import { NoRenderComponentX } from '../components/BaseComponent';
|
|
4
|
-
interface ColliderProps {
|
|
5
|
-
offset?: Vec2;
|
|
4
|
+
interface ColliderProps extends BaseComponentProps<Collider> {
|
|
6
5
|
tag?: number;
|
|
7
6
|
onCollisionEnter?: (other: Collider) => void;
|
|
8
7
|
onCollisionExit?: (other: Collider) => void;
|
|
@@ -38,7 +37,8 @@ export declare class Collider<T = ColliderProps> extends NoRenderComponentX<T> {
|
|
|
38
37
|
preAabb: Rectangle;
|
|
39
38
|
};
|
|
40
39
|
}
|
|
41
|
-
interface BoxColliderProps extends
|
|
40
|
+
interface BoxColliderProps extends BaseComponentProps<BoxCollider> {
|
|
41
|
+
offset?: [number, number];
|
|
42
42
|
width: number;
|
|
43
43
|
height: number;
|
|
44
44
|
}
|
|
@@ -47,13 +47,15 @@ export declare class BoxCollider extends Collider<BoxColliderProps> {
|
|
|
47
47
|
set size(s: Size);
|
|
48
48
|
update(dt: any, draw: Graphics): void;
|
|
49
49
|
}
|
|
50
|
-
interface CircleColliderProps extends
|
|
50
|
+
interface CircleColliderProps extends BaseComponentProps<CircleCollider> {
|
|
51
|
+
offset?: [number, number];
|
|
51
52
|
radius: number;
|
|
52
53
|
}
|
|
53
54
|
export declare class CircleCollider extends Collider<CircleColliderProps> {
|
|
54
55
|
update(dt: any, draw: Graphics): void;
|
|
55
56
|
}
|
|
56
|
-
interface PolygonColliderProps extends
|
|
57
|
+
interface PolygonColliderProps extends BaseComponentProps<PolygonCollider> {
|
|
58
|
+
offset?: [number, number];
|
|
57
59
|
points: Array<Vec2>;
|
|
58
60
|
}
|
|
59
61
|
export declare class PolygonCollider extends Collider<PolygonColliderProps> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAa,IAAI,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAa,IAAI,EAAE,MAAM,IAAI,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAgBhE,UAAU,aAAc,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,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;AAED,qBAAa,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IACpE,YAAY,EAAE,IAAI,EAAE,CAAK;IACzB,cAAc,EAAE,IAAI,CAAA;IACpB,YAAY,MAAA;IACZ,KAAK,EAAE,SAAS,CAA4B;IAC5C,QAAQ,EAAE,SAAS,CAA4B;IAG/C,OAAO;IAGP,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,QAAQ,CAAC,gBAAgB,CAAC;IACzD,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,EAGf;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,QAAQ;CAkC1B;AAED,UAAU,mBAAoB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAe,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,QAAQ;CAwB1B;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,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,QAAQ;CAsB1B;AAED,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;CACL;AASD,qBAAa,QAAQ;IACnB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;gBAEb,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAsBpD,WAAW;IAiBX,IAAI;CAyBL"}
|
|
@@ -43,7 +43,7 @@ export class BoxCollider extends Collider {
|
|
|
43
43
|
if (!this.node) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
const
|
|
46
|
+
const [x, y] = this.props.offset || [0, 0];
|
|
47
47
|
// const hw = this.width * 0.5
|
|
48
48
|
// const hh = this.height * 0.5
|
|
49
49
|
const transform = getNodeToWorldTransformAR(this.node);
|
|
@@ -81,8 +81,9 @@ export class CircleCollider extends Collider {
|
|
|
81
81
|
}
|
|
82
82
|
const transform = getNodeToWorldTransformAR(this.node);
|
|
83
83
|
const collider = this.getComponent(Collider);
|
|
84
|
+
const [x, y] = this.props.offset || [0, 0];
|
|
84
85
|
collider._worldRadius = this.props.radius * this.node.scaleX;
|
|
85
|
-
collider._worldPosition = transform.apply(
|
|
86
|
+
collider._worldPosition = transform.apply(Vec2(x, y));
|
|
86
87
|
if (draw) {
|
|
87
88
|
const { x } = collider._worldPosition;
|
|
88
89
|
const y = GameWorld.Instance.app.screen.height - collider._worldPosition.y;
|
|
@@ -101,7 +102,7 @@ export class CircleCollider extends Collider {
|
|
|
101
102
|
}
|
|
102
103
|
export class PolygonCollider extends Collider {
|
|
103
104
|
get points() {
|
|
104
|
-
const
|
|
105
|
+
const [x, y] = this.props.offset || [0, 0];
|
|
105
106
|
const pointsList = this.props.points.map((p) => Vec2(p.x + x, p.y + y));
|
|
106
107
|
return pointsList;
|
|
107
108
|
}
|
|
@@ -16,22 +16,22 @@ export class NoRenderSystem {
|
|
|
16
16
|
const container = nodeComp.instance;
|
|
17
17
|
container.eventMode = 'static';
|
|
18
18
|
if (touchComp.props.onTouchStart) {
|
|
19
|
-
container.on('
|
|
19
|
+
container.on('pointerdown', (event) => {
|
|
20
20
|
touchComp.props.onTouchStart(new Touch(event), nodeComp);
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
if (touchComp.props.onTouchMove) {
|
|
24
|
-
container.on('
|
|
24
|
+
container.on('pointermove', (event) => {
|
|
25
25
|
touchComp.props.onTouchMove(new Touch(event), nodeComp);
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
if (touchComp.props.onTouchEnd) {
|
|
29
|
-
container.on('
|
|
29
|
+
container.on('pointerup', (event) => {
|
|
30
30
|
touchComp.props.onTouchEnd(new Touch(event), nodeComp);
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
if (touchComp.props.onTouchCancel) {
|
|
34
|
-
container.on('
|
|
34
|
+
container.on('pointercancel', (event) => {
|
|
35
35
|
touchComp.props.onTouchCancel(new Touch(event), nodeComp);
|
|
36
36
|
});
|
|
37
37
|
}
|
|
@@ -41,16 +41,16 @@ export class NoRenderSystem {
|
|
|
41
41
|
const touchComp = component;
|
|
42
42
|
const container = touchComp.node.instance;
|
|
43
43
|
if (touchComp.props.onTouchStart) {
|
|
44
|
-
container.removeListener('
|
|
44
|
+
container.removeListener('pointerdown');
|
|
45
45
|
}
|
|
46
46
|
if (touchComp.props.onTouchMove) {
|
|
47
|
-
container.removeListener('
|
|
47
|
+
container.removeListener('pointermove');
|
|
48
48
|
}
|
|
49
49
|
if (touchComp.props.onTouchEnd) {
|
|
50
|
-
container.removeListener('
|
|
50
|
+
container.removeListener('pointerup');
|
|
51
51
|
}
|
|
52
52
|
if (touchComp.props.onTouchEnd) {
|
|
53
|
-
container.removeListener('
|
|
53
|
+
container.removeListener('pointercancel');
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
}
|