react-simple-game-engine 0.3.30 → 0.3.31
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/classes/scene.d.ts +5 -2
- package/lib/classes/scene.d.ts.map +1 -1
- package/lib/classes/scene.js +1 -1
- package/lib/ui-components/movement-control.d.ts +2 -4
- package/lib/ui-components/movement-control.d.ts.map +1 -1
- package/lib/ui-components/movement-control.js +8 -27
- package/package.json +1 -1
package/lib/classes/scene.d.ts
CHANGED
@@ -9,6 +9,7 @@ import { AssetErrorType, AssetsFailBehavior, Avatar, GetSoundOptions, JoystickAc
|
|
9
9
|
import { SoundType } from "../export-enums";
|
10
10
|
import { SimpleCamera } from "./simple-camera";
|
11
11
|
import { P5 } from "./p5";
|
12
|
+
import { TouchEvent } from "../ui-components/movement-control";
|
12
13
|
declare type SoundOptionsChangeListener<O extends SoundType> = (options: SoundManagement[O]) => void;
|
13
14
|
declare type LoadAssetsListener = (loadedAssets: boolean, errors?: {
|
14
15
|
type: AssetErrorType;
|
@@ -57,8 +58,10 @@ export declare abstract class Scene<UIP = any> {
|
|
57
58
|
protected onBorn(): void;
|
58
59
|
protected getComponents(simpleCamera: SimpleCamera): LogicComponent<EntitySuit>[];
|
59
60
|
getUIProps(): Partial<UIP>;
|
60
|
-
|
61
|
-
joystick?:
|
61
|
+
getInitialConfigs(): {
|
62
|
+
joystick?: {
|
63
|
+
containerTouchEvent?: TouchEvent;
|
64
|
+
};
|
62
65
|
};
|
63
66
|
get loadedAssets(): boolean;
|
64
67
|
private set loadedAssets(value);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,cAAc,EAEd,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
|
package/lib/classes/scene.js
CHANGED
@@ -138,7 +138,7 @@ var Scene = /** @class */ (function () {
|
|
138
138
|
Scene.prototype.getUIProps = function () {
|
139
139
|
return {};
|
140
140
|
};
|
141
|
-
Scene.prototype.
|
141
|
+
Scene.prototype.getInitialConfigs = function () {
|
142
142
|
return {};
|
143
143
|
};
|
144
144
|
Object.defineProperty(Scene.prototype, "loadedAssets", {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ReactElement, ReactNode } from "react";
|
2
2
|
import { IJoystickProps } from "./react-joystick-component/Joystick";
|
3
|
-
declare type TouchEvent = {
|
3
|
+
export declare type TouchEvent = {
|
4
4
|
onPressed?: (container: HTMLDivElement, stick: HTMLButtonElement) => void;
|
5
5
|
onReleased?: (container: HTMLDivElement, stick: HTMLButtonElement) => void;
|
6
6
|
};
|
@@ -11,10 +11,8 @@ export declare type MovementControlProps = {
|
|
11
11
|
right?: number;
|
12
12
|
bottom?: number;
|
13
13
|
render?: (el: ReactElement) => ReactNode;
|
14
|
-
joystickTouchEvent?: TouchEvent;
|
15
14
|
containerTouchEvent?: TouchEvent;
|
16
15
|
props?: Omit<IJoystickProps, "start" | "move" | "stop">;
|
17
16
|
};
|
18
|
-
export declare function MovementControl({ render, top, left, right, bottom, props, containerTouchEvent,
|
19
|
-
export {};
|
17
|
+
export declare function MovementControl({ render, top, left, right, bottom, props, containerTouchEvent, onLoaded, }: MovementControlProps): JSX.Element;
|
20
18
|
//# sourceMappingURL=movement-control.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"movement-control.d.ts","sourceRoot":"","sources":["../../src/ui-components/movement-control.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,cAAc,EAEf,MAAM,qCAAqC,CAAC;AAE7C,
|
1
|
+
{"version":3,"file":"movement-control.d.ts","sourceRoot":"","sources":["../../src/ui-components/movement-control.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,cAAc,EAEf,MAAM,qCAAqC,CAAC;AAE7C,oBAAY,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1E,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5E,CAAC;AACF,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,SAAS,CAAC;IACzC,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,GAAG,EACH,IAAS,EACT,KAAK,EACL,MAAW,EACX,KAAK,EACL,mBAAmB,EACnB,QAAQ,GACT,EAAE,oBAAoB,eA4FtB"}
|
@@ -16,38 +16,17 @@ import { UISceneContext } from "../react-context";
|
|
16
16
|
import { Watcher } from "../utilities";
|
17
17
|
import { Joystick } from "./react-joystick-component";
|
18
18
|
export function MovementControl(_a) {
|
19
|
-
var render = _a.render, top = _a.top, _b = _a.left, left = _b === void 0 ? 50 : _b, right = _a.right, _c = _a.bottom, bottom = _c === void 0 ? 50 : _c, props = _a.props, containerTouchEvent = _a.containerTouchEvent,
|
19
|
+
var render = _a.render, top = _a.top, _b = _a.left, left = _b === void 0 ? 50 : _b, right = _a.right, _c = _a.bottom, bottom = _c === void 0 ? 50 : _c, props = _a.props, containerTouchEvent = _a.containerTouchEvent, onLoaded = _a.onLoaded;
|
20
20
|
var refJoyWrap = useRef(null);
|
21
21
|
var refStick = useRef(null);
|
22
22
|
var scene = useContext(UISceneContext);
|
23
|
-
var
|
24
|
-
return scene.
|
23
|
+
var joystickConfigs = useMemo(function () {
|
24
|
+
return scene.getInitialConfigs();
|
25
25
|
}, [scene]).joystick;
|
26
26
|
useEffect(function () {
|
27
27
|
refStick.current = refJoyWrap.current.querySelectorAll("button")[0];
|
28
28
|
onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded(refJoyWrap.current, refStick.current);
|
29
29
|
}, [onLoaded]);
|
30
|
-
useEffect(function () {
|
31
|
-
if (!joystickTouchEvent) {
|
32
|
-
return;
|
33
|
-
}
|
34
|
-
var handlePointerdown = function (event) {
|
35
|
-
var _a;
|
36
|
-
event.target.setPointerCapture(event.pointerId);
|
37
|
-
(_a = joystickTouchEvent.onPressed) === null || _a === void 0 ? void 0 : _a.call(joystickTouchEvent, refJoyWrap.current, refStick.current);
|
38
|
-
};
|
39
|
-
var handlePointerup = function (event) {
|
40
|
-
var _a;
|
41
|
-
event.target.releasePointerCapture(event.pointerId);
|
42
|
-
(_a = joystickTouchEvent.onReleased) === null || _a === void 0 ? void 0 : _a.call(joystickTouchEvent, refJoyWrap.current, refStick.current);
|
43
|
-
};
|
44
|
-
refStick.current.addEventListener("pointerdown", handlePointerdown);
|
45
|
-
refStick.current.addEventListener("pointerup", handlePointerup);
|
46
|
-
return function () {
|
47
|
-
refStick.current.removeEventListener("pointerdown", handlePointerdown);
|
48
|
-
refStick.current.removeEventListener("pointerup", handlePointerup);
|
49
|
-
};
|
50
|
-
}, [joystickTouchEvent]);
|
51
30
|
var el = useMemo(function () {
|
52
31
|
var onAction = function (e) {
|
53
32
|
if (e.type === JoystickActionType.MOVE) {
|
@@ -67,13 +46,15 @@ export function MovementControl(_a) {
|
|
67
46
|
};
|
68
47
|
var joystick = (_jsx(Joystick, __assign({ size: 60, baseColor: "#2D2D2D", stickColor: "rgb(120,121,122)", throttle: 100 }, props, { start: onAction, move: onAction, stop: onAction })));
|
69
48
|
return (_jsx("div", __assign({ ref: refJoyWrap, onPointerDown: function (event) {
|
70
|
-
var _a;
|
49
|
+
var _a, _b, _c;
|
71
50
|
event.target.setPointerCapture(event.pointerId);
|
72
51
|
(_a = containerTouchEvent === null || containerTouchEvent === void 0 ? void 0 : containerTouchEvent.onPressed) === null || _a === void 0 ? void 0 : _a.call(containerTouchEvent, refJoyWrap.current, refStick.current);
|
52
|
+
(_c = (_b = joystickConfigs === null || joystickConfigs === void 0 ? void 0 : joystickConfigs.containerTouchEvent) === null || _b === void 0 ? void 0 : _b.onPressed) === null || _c === void 0 ? void 0 : _c.call(_b, refJoyWrap.current, refStick.current);
|
73
53
|
}, onPointerUp: function (event) {
|
74
|
-
var _a;
|
54
|
+
var _a, _b, _c;
|
75
55
|
event.target.releasePointerCapture(event.pointerId);
|
76
56
|
(_a = containerTouchEvent === null || containerTouchEvent === void 0 ? void 0 : containerTouchEvent.onReleased) === null || _a === void 0 ? void 0 : _a.call(containerTouchEvent, refJoyWrap.current, refStick.current);
|
57
|
+
(_c = (_b = joystickConfigs === null || joystickConfigs === void 0 ? void 0 : joystickConfigs.containerTouchEvent) === null || _b === void 0 ? void 0 : _b.onReleased) === null || _c === void 0 ? void 0 : _c.call(_b, refJoyWrap.current, refStick.current);
|
77
58
|
}, style: {
|
78
59
|
position: "absolute",
|
79
60
|
left: right != null ? undefined : left,
|
@@ -83,7 +64,7 @@ export function MovementControl(_a) {
|
|
83
64
|
} }, { children: render ? render(joystick) : joystick })));
|
84
65
|
}, [props, containerTouchEvent]);
|
85
66
|
return (_jsx(Watcher, __assign({ initialValues: {
|
86
|
-
isShow:
|
67
|
+
isShow: !!joystickConfigs,
|
87
68
|
}, names: "control-visible" }, { children: function (_a) {
|
88
69
|
var isShow = _a.isShow;
|
89
70
|
return (isShow ? el : null);
|