@dcl/ecs 7.0.0-3532389879.commit-c89c80c → 7.0.0-3568547351.commit-5420eac
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/README.md +2 -3
- package/dist/components/extended/Animator.d.ts +49 -0
- package/dist/components/extended/Animator.js +58 -0
- package/dist/components/extended/Material.d.ts +42 -0
- package/dist/components/extended/Material.js +42 -0
- package/dist/components/extended/MeshCollider.d.ts +42 -0
- package/dist/components/extended/MeshCollider.js +41 -0
- package/dist/components/extended/MeshRenderer.d.ts +40 -0
- package/dist/components/extended/MeshRenderer.js +27 -0
- package/dist/components/generated/Animator.gen.d.ts +8 -0
- package/dist/components/generated/Animator.gen.js +19 -0
- package/dist/components/generated/AudioSource.gen.d.ts +8 -0
- package/dist/components/generated/AudioSource.gen.js +19 -0
- package/dist/components/generated/AudioStream.gen.d.ts +8 -0
- package/dist/components/generated/AudioStream.gen.js +19 -0
- package/dist/components/generated/AvatarAttach.gen.d.ts +8 -0
- package/dist/components/generated/AvatarAttach.gen.js +19 -0
- package/dist/components/generated/AvatarModifierArea.gen.d.ts +8 -0
- package/dist/components/generated/AvatarModifierArea.gen.js +19 -0
- package/dist/components/generated/AvatarShape.gen.d.ts +8 -0
- package/dist/components/generated/AvatarShape.gen.js +19 -0
- package/dist/components/generated/Billboard.gen.d.ts +8 -0
- package/dist/components/generated/Billboard.gen.js +19 -0
- package/dist/components/generated/CameraMode.gen.d.ts +8 -0
- package/dist/components/generated/CameraMode.gen.js +19 -0
- package/dist/components/generated/CameraModeArea.gen.d.ts +8 -0
- package/dist/components/generated/CameraModeArea.gen.js +19 -0
- package/dist/components/generated/GltfContainer.gen.d.ts +8 -0
- package/dist/components/generated/GltfContainer.gen.js +19 -0
- package/dist/components/generated/Material.gen.d.ts +8 -0
- package/dist/components/generated/Material.gen.js +19 -0
- package/dist/components/generated/MeshCollider.gen.d.ts +8 -0
- package/dist/components/generated/MeshCollider.gen.js +19 -0
- package/dist/components/generated/MeshRenderer.gen.d.ts +8 -0
- package/dist/components/generated/MeshRenderer.gen.js +19 -0
- package/dist/components/generated/NftShape.gen.d.ts +8 -0
- package/dist/components/generated/NftShape.gen.js +19 -0
- package/dist/components/generated/PointerEventsResult.gen.d.ts +8 -0
- package/dist/components/generated/PointerEventsResult.gen.js +19 -0
- package/dist/components/generated/PointerHoverFeedback.gen.d.ts +8 -0
- package/dist/components/generated/PointerHoverFeedback.gen.js +19 -0
- package/dist/components/generated/PointerLock.gen.d.ts +8 -0
- package/dist/components/generated/PointerLock.gen.js +19 -0
- package/dist/components/generated/Raycast.gen.d.ts +8 -0
- package/dist/components/generated/Raycast.gen.js +19 -0
- package/dist/components/generated/RaycastResult.gen.d.ts +8 -0
- package/dist/components/generated/RaycastResult.gen.js +19 -0
- package/dist/components/generated/TextShape.gen.d.ts +8 -0
- package/dist/components/generated/TextShape.gen.js +19 -0
- package/dist/components/generated/UiBackground.gen.d.ts +8 -0
- package/dist/components/generated/UiBackground.gen.js +19 -0
- package/dist/components/generated/UiText.gen.d.ts +8 -0
- package/dist/components/generated/UiText.gen.js +19 -0
- package/dist/components/generated/UiTransform.gen.d.ts +8 -0
- package/dist/components/generated/UiTransform.gen.js +19 -0
- package/dist/components/generated/VisibilityComponent.gen.d.ts +8 -0
- package/dist/components/generated/VisibilityComponent.gen.js +19 -0
- package/dist/components/generated/global.gen.d.ts +42 -0
- package/dist/components/generated/global.gen.js +23 -0
- package/dist/components/generated/ids.gen.d.ts +28 -0
- package/dist/components/generated/ids.gen.js +29 -0
- package/dist/components/generated/index.gen.d.ts +99 -0
- package/dist/components/generated/index.gen.js +96 -0
- package/dist/components/generated/pb/decentraland/common/colors.gen.d.ts +26 -0
- package/dist/components/generated/pb/decentraland/common/colors.gen.js +95 -0
- package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +56 -0
- package/dist/components/generated/pb/decentraland/common/texture.gen.js +139 -0
- package/dist/components/generated/pb/decentraland/common/vectors.gen.d.ts +36 -0
- package/dist/components/generated/pb/decentraland/common/vectors.gen.js +126 -0
- package/dist/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/animator.gen.js +109 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +17 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +58 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +14 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +46 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +18 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +47 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +18 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +62 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +38 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +129 -0
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +18 -0
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +45 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +12 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +33 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +14 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +40 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +7 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +16 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +15 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +12 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +34 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +82 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +231 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +70 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +176 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +65 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +196 -0
- package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +41 -0
- package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +73 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +34 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +89 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_hover_feedback.gen.d.ts +46 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_hover_feedback.gen.js +126 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +11 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +34 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +58 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +150 -0
- package/dist/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +41 -0
- package/dist/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +176 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +13 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +35 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +21 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +59 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +149 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +454 -0
- package/dist/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +12 -0
- package/dist/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +34 -0
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.d.ts +378 -0
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.js +1476 -0
- package/dist/components/generated/types.gen.d.ts +6 -0
- package/dist/components/generated/types.gen.js +8 -0
- package/dist/components/index.d.ts +15 -0
- package/dist/components/index.js +16 -0
- package/dist/components/legacy/Transform.d.ts +27 -0
- package/dist/components/legacy/Transform.js +55 -0
- package/dist/components/types.d.ts +4 -0
- package/dist/components/types.js +1 -0
- package/dist/engine/component.d.ts +72 -0
- package/dist/engine/component.js +130 -0
- package/dist/engine/entity-utils.d.ts +18 -0
- package/dist/engine/entity-utils.js +34 -0
- package/dist/engine/entity.d.ts +17 -0
- package/dist/engine/entity.js +55 -0
- package/dist/engine/index.d.ts +12 -0
- package/dist/engine/index.js +172 -0
- package/dist/engine/input.d.ts +36 -0
- package/dist/engine/input.js +156 -0
- package/dist/engine/readonly.d.ts +29 -0
- package/dist/engine/readonly.js +6 -0
- package/dist/engine/systems.d.ts +16 -0
- package/dist/engine/systems.js +44 -0
- package/dist/engine/types.d.ts +148 -0
- package/dist/engine/types.js +1 -0
- package/dist/index.d.ts +16 -4679
- package/dist/index.js +24 -15202
- package/dist/runtime/initialization/index.d.ts +21 -0
- package/dist/runtime/initialization/index.js +20 -0
- package/dist/runtime/invariant.d.ts +1 -0
- package/dist/runtime/invariant.js +8 -0
- package/dist/runtime/types.d.ts +22 -0
- package/dist/runtime/types.js +19 -0
- package/dist/schemas/Array.d.ts +5 -0
- package/dist/schemas/Array.js +24 -0
- package/dist/schemas/ISchema.d.ts +9 -0
- package/dist/schemas/ISchema.js +1 -0
- package/dist/schemas/Map.d.ts +19 -0
- package/dist/schemas/Map.js +31 -0
- package/dist/schemas/Optional.d.ts +5 -0
- package/dist/schemas/Optional.js +25 -0
- package/dist/schemas/basic/Boolean.d.ts +5 -0
- package/dist/schemas/basic/Boolean.js +14 -0
- package/dist/schemas/basic/Enum.d.ts +5 -0
- package/dist/schemas/basic/Enum.js +16 -0
- package/dist/schemas/basic/Float.d.ts +9 -0
- package/dist/schemas/basic/Float.js +28 -0
- package/dist/schemas/basic/Integer.d.ts +17 -0
- package/dist/schemas/basic/Integer.js +56 -0
- package/dist/schemas/basic/String.d.ts +9 -0
- package/dist/schemas/basic/String.js +18 -0
- package/dist/schemas/custom/Color3.d.ts +13 -0
- package/dist/schemas/custom/Color3.js +20 -0
- package/dist/schemas/custom/Color4.d.ts +14 -0
- package/dist/schemas/custom/Color4.js +22 -0
- package/dist/schemas/custom/Entity.d.ts +6 -0
- package/dist/schemas/custom/Entity.js +14 -0
- package/dist/schemas/custom/Quaternion.d.ts +14 -0
- package/dist/schemas/custom/Quaternion.js +22 -0
- package/dist/schemas/custom/Vector3.d.ts +13 -0
- package/dist/schemas/custom/Vector3.js +20 -0
- package/dist/schemas/index.d.ts +42 -0
- package/dist/schemas/index.js +37 -0
- package/dist/schemas/typing.d.ts +15 -0
- package/dist/schemas/typing.js +1 -0
- package/dist/serialization/ByteBuffer/index.d.ts +140 -0
- package/dist/serialization/ByteBuffer/index.js +244 -0
- package/dist/serialization/crdt/componentOperation.d.ts +31 -0
- package/dist/serialization/crdt/componentOperation.js +47 -0
- package/dist/serialization/wireMessage.d.ts +39 -0
- package/dist/serialization/wireMessage.js +52 -0
- package/dist/systems/async-task.d.ts +5 -0
- package/dist/systems/async-task.js +28 -0
- package/dist/systems/crdt/index.d.ts +8 -0
- package/dist/systems/crdt/index.js +169 -0
- package/dist/systems/crdt/types.d.ts +18 -0
- package/dist/systems/crdt/types.js +1 -0
- package/dist/systems/crdt/utils.d.ts +9 -0
- package/dist/systems/crdt/utils.js +11 -0
- package/dist/systems/cyclicParentingChecker.d.ts +17 -0
- package/dist/systems/cyclicParentingChecker.js +33 -0
- package/dist/systems/events.d.ts +56 -0
- package/dist/systems/events.js +145 -0
- package/package.json +9 -14
- package/dist/index.min.js +0 -1
- package/dist/index.min.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @alpha * This file initialization is an alpha one. This is based on the old-ecs
|
|
3
|
+
* init and it'll be changing.
|
|
4
|
+
*/
|
|
5
|
+
import { IEngine } from '../../engine';
|
|
6
|
+
import { Task } from '../../systems/async-task';
|
|
7
|
+
export declare const engine: IEngine;
|
|
8
|
+
export declare const inputSystem: import("../../engine").IInputSystem;
|
|
9
|
+
export declare const pointerEventsSystem: {
|
|
10
|
+
removeOnClick(entity: unknown): void;
|
|
11
|
+
removeOnPointerDown(entity: unknown): void;
|
|
12
|
+
removeOnPointerUp(entity: unknown): void;
|
|
13
|
+
onClick(entity: unknown, cb: import("../../systems/events").EventSystemCallback, opts?: import("../../systems/events").EventSystemOptions | undefined): void;
|
|
14
|
+
onPointerDown(entity: unknown, cb: import("../../systems/events").EventSystemCallback, opts?: import("../../systems/events").EventSystemOptions | undefined): void;
|
|
15
|
+
onPointerUp(entity: unknown, cb: import("../../systems/events").EventSystemCallback, opts?: import("../../systems/events").EventSystemOptions | undefined): void;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export declare const executeTask: (task: Task<unknown>) => void;
|
|
21
|
+
export type { Task };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @alpha * This file initialization is an alpha one. This is based on the old-ecs
|
|
3
|
+
* init and it'll be changing.
|
|
4
|
+
*/
|
|
5
|
+
import { Engine } from '../../engine';
|
|
6
|
+
import { createTaskSystem } from '../../systems/async-task';
|
|
7
|
+
import { createPointerEventSystem } from '../../systems/events';
|
|
8
|
+
import { createInputSystem } from './../../engine/input';
|
|
9
|
+
/*#__PURE__*/
|
|
10
|
+
export const engine = Engine();
|
|
11
|
+
// INPUT Manager
|
|
12
|
+
/*#__PURE__*/
|
|
13
|
+
export const inputSystem = createInputSystem(engine);
|
|
14
|
+
/*#__PURE__*/
|
|
15
|
+
export const pointerEventsSystem = createPointerEventSystem(engine, inputSystem);
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
/*#__PURE__*/
|
|
20
|
+
export const executeTask = createTaskSystem(engine).executeTask;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function checkNotThenable<T>(t: T, error: string): T;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type { SystemFn } from '../engine/systems';
|
|
2
|
+
export type { Result, Spec } from '../schemas/Map';
|
|
3
|
+
export type { TransportMessage, ReceiveMessage, Transport } from '../systems/crdt/types';
|
|
4
|
+
export type { WireMessage } from '../serialization/wireMessage';
|
|
5
|
+
export { TransformType, TransformComponent } from '../components/legacy/Transform';
|
|
6
|
+
export * from '../engine/component';
|
|
7
|
+
export * from '../schemas/typing';
|
|
8
|
+
export { BillboardMode } from '../components/generated/pb/decentraland/sdk/components/billboard.gen';
|
|
9
|
+
export { AvatarModifierType } from '../components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen';
|
|
10
|
+
export { CameraType } from '../components/generated/pb/decentraland/sdk/components/common/camera_type.gen';
|
|
11
|
+
export { Font, TextAlignMode } from '../components/generated/pb/decentraland/sdk/components/common/texts.gen';
|
|
12
|
+
export { RaycastQueryType } from '../components/generated/pb/decentraland/sdk/components/raycast.gen';
|
|
13
|
+
export * from '../components/generated/pb/decentraland/sdk/components/ui_transform.gen';
|
|
14
|
+
export * from '../components/generated/pb/decentraland/sdk/components/avatar_attach.gen';
|
|
15
|
+
export * from '../components/generated/pb/decentraland/sdk/components/material.gen';
|
|
16
|
+
export * from '../components/generated/pb/decentraland/sdk/components/pointer_hover_feedback.gen';
|
|
17
|
+
export * from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
|
|
18
|
+
export * from '../components/generated/pb/decentraland/common/texture.gen';
|
|
19
|
+
export * from '../components/generated/pb/decentraland/sdk/components/raycast_result.gen';
|
|
20
|
+
export * from '../components/generated/pb/decentraland/sdk/components/animator.gen';
|
|
21
|
+
export * from '../components/generated/pb/decentraland/sdk/components/mesh_collider.gen';
|
|
22
|
+
export * from '../components/generated/pb/decentraland/sdk/components/mesh_renderer.gen';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from '../engine/component';
|
|
2
|
+
export * from '../schemas/typing';
|
|
3
|
+
// ColliderLayer is not used in the .pb definition because the field value is a number
|
|
4
|
+
// and it can have multiple values of this enum. It needs to be exposed here.
|
|
5
|
+
export { BillboardMode } from '../components/generated/pb/decentraland/sdk/components/billboard.gen';
|
|
6
|
+
export { AvatarModifierType } from '../components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen';
|
|
7
|
+
export { CameraType } from '../components/generated/pb/decentraland/sdk/components/common/camera_type.gen';
|
|
8
|
+
export { Font, TextAlignMode } from '../components/generated/pb/decentraland/sdk/components/common/texts.gen';
|
|
9
|
+
export { RaycastQueryType } from '../components/generated/pb/decentraland/sdk/components/raycast.gen';
|
|
10
|
+
export * from '../components/generated/pb/decentraland/sdk/components/ui_transform.gen';
|
|
11
|
+
export * from '../components/generated/pb/decentraland/sdk/components/avatar_attach.gen';
|
|
12
|
+
export * from '../components/generated/pb/decentraland/sdk/components/material.gen';
|
|
13
|
+
export * from '../components/generated/pb/decentraland/sdk/components/pointer_hover_feedback.gen';
|
|
14
|
+
export * from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
|
|
15
|
+
export * from '../components/generated/pb/decentraland/common/texture.gen';
|
|
16
|
+
export * from '../components/generated/pb/decentraland/sdk/components/raycast_result.gen';
|
|
17
|
+
export * from '../components/generated/pb/decentraland/sdk/components/animator.gen';
|
|
18
|
+
export * from '../components/generated/pb/decentraland/sdk/components/mesh_collider.gen';
|
|
19
|
+
export * from '../components/generated/pb/decentraland/sdk/components/mesh_renderer.gen';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export function IArray(type) {
|
|
5
|
+
return {
|
|
6
|
+
serialize(value, builder) {
|
|
7
|
+
builder.writeUint32(value.length);
|
|
8
|
+
for (const item of value) {
|
|
9
|
+
type.serialize(item, builder);
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
deserialize(reader) {
|
|
13
|
+
const newArray = [];
|
|
14
|
+
const length = reader.readUint32();
|
|
15
|
+
for (let index = 0; index < length; index++) {
|
|
16
|
+
newArray.push(type.deserialize(reader));
|
|
17
|
+
}
|
|
18
|
+
return newArray;
|
|
19
|
+
},
|
|
20
|
+
create() {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ISchema } from './ISchema';
|
|
2
|
+
import { ToOptional } from './typing';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface Spec {
|
|
7
|
+
[key: string]: ISchema;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare type Result<T extends Spec> = ToOptional<{
|
|
13
|
+
[K in keyof T]: T[K] extends ISchema ? ReturnType<T[K]['deserialize']> : T[K] extends Spec ? Result<T[K]> : never;
|
|
14
|
+
}>;
|
|
15
|
+
export declare type MapSchemaType<T extends Spec> = ISchema<Result<T>>;
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export declare function IMap<T extends Spec>(spec: T): ISchema<Result<T>>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export function IMap(spec) {
|
|
5
|
+
return {
|
|
6
|
+
serialize(value, builder) {
|
|
7
|
+
for (const key in spec) {
|
|
8
|
+
// TODO: as any
|
|
9
|
+
spec[key].serialize(value[key], builder);
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
deserialize(reader) {
|
|
13
|
+
const newValue = {};
|
|
14
|
+
for (const key in spec) {
|
|
15
|
+
// TODO: as any
|
|
16
|
+
;
|
|
17
|
+
newValue[key] = spec[key].deserialize(reader);
|
|
18
|
+
}
|
|
19
|
+
return newValue;
|
|
20
|
+
},
|
|
21
|
+
create() {
|
|
22
|
+
const newValue = {};
|
|
23
|
+
for (const key in spec) {
|
|
24
|
+
// TODO: as any
|
|
25
|
+
;
|
|
26
|
+
newValue[key] = spec[key].create();
|
|
27
|
+
}
|
|
28
|
+
return newValue;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export function IOptional(spec) {
|
|
5
|
+
return {
|
|
6
|
+
serialize(value, builder) {
|
|
7
|
+
if (value) {
|
|
8
|
+
builder.writeInt8(1);
|
|
9
|
+
spec.serialize(value, builder);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
builder.writeInt8(0);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
deserialize(reader) {
|
|
16
|
+
const exists = reader.readInt8();
|
|
17
|
+
if (exists) {
|
|
18
|
+
return spec.deserialize(reader);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
create() {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export function IEnum(type) {
|
|
5
|
+
return {
|
|
6
|
+
serialize(value, builder) {
|
|
7
|
+
type.serialize(value, builder);
|
|
8
|
+
},
|
|
9
|
+
deserialize(reader) {
|
|
10
|
+
return type.deserialize(reader);
|
|
11
|
+
},
|
|
12
|
+
create() {
|
|
13
|
+
return type.create();
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const Float32 = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeFloat32(value);
|
|
7
|
+
},
|
|
8
|
+
deserialize(reader) {
|
|
9
|
+
return reader.readFloat32();
|
|
10
|
+
},
|
|
11
|
+
create() {
|
|
12
|
+
return 0.0;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export const Float64 = {
|
|
19
|
+
serialize(value, builder) {
|
|
20
|
+
builder.writeFloat64(value);
|
|
21
|
+
},
|
|
22
|
+
deserialize(reader) {
|
|
23
|
+
return reader.readFloat64();
|
|
24
|
+
},
|
|
25
|
+
create() {
|
|
26
|
+
return 0.0;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ISchema } from '../ISchema';
|
|
2
|
+
/**
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export declare const Int64: ISchema<number>;
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare const Int32: ISchema<number>;
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const Int16: ISchema<number>;
|
|
14
|
+
/**
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare const Int8: ISchema<number>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const Int64 = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeInt64(BigInt(value));
|
|
7
|
+
},
|
|
8
|
+
deserialize(reader) {
|
|
9
|
+
return Number(reader.readInt64());
|
|
10
|
+
},
|
|
11
|
+
create() {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export const Int32 = {
|
|
19
|
+
serialize(value, builder) {
|
|
20
|
+
builder.writeInt32(value);
|
|
21
|
+
},
|
|
22
|
+
deserialize(reader) {
|
|
23
|
+
return reader.readInt32();
|
|
24
|
+
},
|
|
25
|
+
create() {
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export const Int16 = {
|
|
33
|
+
serialize(value, builder) {
|
|
34
|
+
builder.writeInt16(value);
|
|
35
|
+
},
|
|
36
|
+
deserialize(reader) {
|
|
37
|
+
return reader.readInt16();
|
|
38
|
+
},
|
|
39
|
+
create() {
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
export const Int8 = {
|
|
47
|
+
serialize(value, builder) {
|
|
48
|
+
builder.writeInt8(value);
|
|
49
|
+
},
|
|
50
|
+
deserialize(reader) {
|
|
51
|
+
return reader.readInt8();
|
|
52
|
+
},
|
|
53
|
+
create() {
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const FlatString = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeBuffer(new TextEncoder().encode(value));
|
|
7
|
+
},
|
|
8
|
+
deserialize(reader) {
|
|
9
|
+
return new TextDecoder().decode(reader.readBuffer());
|
|
10
|
+
},
|
|
11
|
+
create() {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export const EcsString = FlatString;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const Color3Schema = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeFloat32(value.r);
|
|
7
|
+
builder.writeFloat32(value.g);
|
|
8
|
+
builder.writeFloat32(value.b);
|
|
9
|
+
},
|
|
10
|
+
deserialize(reader) {
|
|
11
|
+
return {
|
|
12
|
+
r: reader.readFloat32(),
|
|
13
|
+
g: reader.readFloat32(),
|
|
14
|
+
b: reader.readFloat32()
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
create() {
|
|
18
|
+
return { r: 0, g: 0, b: 0 };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const Color4Schema = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeFloat32(value.r);
|
|
7
|
+
builder.writeFloat32(value.g);
|
|
8
|
+
builder.writeFloat32(value.b);
|
|
9
|
+
builder.writeFloat32(value.a);
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return {
|
|
13
|
+
r: reader.readFloat32(),
|
|
14
|
+
g: reader.readFloat32(),
|
|
15
|
+
b: reader.readFloat32(),
|
|
16
|
+
a: reader.readFloat32()
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
create() {
|
|
20
|
+
return { r: 0, g: 0, b: 0, a: 0 };
|
|
21
|
+
}
|
|
22
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const QuaternionSchema = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeFloat32(value.x);
|
|
7
|
+
builder.writeFloat32(value.y);
|
|
8
|
+
builder.writeFloat32(value.z);
|
|
9
|
+
builder.writeFloat32(value.w);
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return {
|
|
13
|
+
x: reader.readFloat32(),
|
|
14
|
+
y: reader.readFloat32(),
|
|
15
|
+
z: reader.readFloat32(),
|
|
16
|
+
w: reader.readFloat32()
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
create() {
|
|
20
|
+
return { x: 0, y: 0, z: 0, w: 0 };
|
|
21
|
+
}
|
|
22
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export const Vector3Schema = {
|
|
5
|
+
serialize(value, builder) {
|
|
6
|
+
builder.writeFloat32(value.x);
|
|
7
|
+
builder.writeFloat32(value.y);
|
|
8
|
+
builder.writeFloat32(value.z);
|
|
9
|
+
},
|
|
10
|
+
deserialize(reader) {
|
|
11
|
+
return {
|
|
12
|
+
x: reader.readFloat32(),
|
|
13
|
+
y: reader.readFloat32(),
|
|
14
|
+
z: reader.readFloat32()
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
create() {
|
|
18
|
+
return { x: 0, y: 0, z: 0 };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Entity } from '../engine';
|
|
2
|
+
import { IArray } from './Array';
|
|
3
|
+
import { IEnum } from './basic/Enum';
|
|
4
|
+
import { Color3Type } from './custom/Color3';
|
|
5
|
+
import { Color4Type } from './custom/Color4';
|
|
6
|
+
import { QuaternionType } from './custom/Quaternion';
|
|
7
|
+
import { Vector3Type } from './custom/Vector3';
|
|
8
|
+
import { ISchema } from './ISchema';
|
|
9
|
+
import { IMap } from './Map';
|
|
10
|
+
import { IOptional } from './Optional';
|
|
11
|
+
export type { IOptional } from './Optional';
|
|
12
|
+
export type { IMap } from './Map';
|
|
13
|
+
export type { IArray } from './Array';
|
|
14
|
+
export type { IEnum } from './basic/Enum';
|
|
15
|
+
export type { Vector3Type } from './custom/Vector3';
|
|
16
|
+
export type { QuaternionType } from './custom/Quaternion';
|
|
17
|
+
export type { Color3Type } from './custom/Color3';
|
|
18
|
+
export type { Color4Type } from './custom/Color4';
|
|
19
|
+
/**
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare namespace Schemas {
|
|
23
|
+
type SchemaType = ISchema;
|
|
24
|
+
const Boolean: ISchema<boolean>;
|
|
25
|
+
const String: ISchema<string>;
|
|
26
|
+
const Float: ISchema<number>;
|
|
27
|
+
const Double: ISchema<number>;
|
|
28
|
+
const Byte: ISchema<number>;
|
|
29
|
+
const Short: ISchema<number>;
|
|
30
|
+
const Int: ISchema<number>;
|
|
31
|
+
const Int64: ISchema<number>;
|
|
32
|
+
const Number: ISchema<number>;
|
|
33
|
+
const Vector3: ISchema<Vector3Type>;
|
|
34
|
+
const Quaternion: ISchema<QuaternionType>;
|
|
35
|
+
const Color3: ISchema<Color3Type>;
|
|
36
|
+
const Color4: ISchema<Color4Type>;
|
|
37
|
+
const Entity: ISchema<Entity>;
|
|
38
|
+
const Enum: typeof IEnum;
|
|
39
|
+
const Array: typeof IArray;
|
|
40
|
+
const Map: typeof IMap;
|
|
41
|
+
const Optional: typeof IOptional;
|
|
42
|
+
}
|