@dcl/sdk 7.0.0-3548419522.commit-ddcf4b7 → 7.0.0
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/ecs.d.ts +1 -0
- package/ecs.js +2 -0
- package/index.d.ts +1 -0
- package/index.js +11 -0
- package/internal/Observable.d.ts +36 -0
- package/internal/Observable.js +190 -0
- package/internal/transports/networkTransport.d.ts +2 -0
- package/internal/transports/networkTransport.js +16 -0
- package/internal/transports/rendererTransport.d.ts +7 -0
- package/internal/transports/rendererTransport.js +39 -0
- package/math.d.ts +3 -0
- package/math.js +4 -0
- package/messageBus.d.ts +10 -0
- package/messageBus.js +43 -0
- package/observables.d.ts +225 -0
- package/observables.js +75 -0
- package/package.json +12 -18
- package/react-ecs.d.ts +3 -0
- package/react-ecs.js +4 -0
- package/src/ecs.ts +1 -0
- package/src/index.ts +18 -0
- package/src/internal/Observable.ts +425 -0
- package/src/internal/transports/networkTransport.ts +24 -0
- package/src/internal/transports/rendererTransport.ts +60 -0
- package/src/math.ts +3 -0
- package/src/messageBus.ts +62 -0
- package/src/observables.ts +579 -0
- package/src/react-ecs.ts +3 -0
- package/tsconfig.json +11 -0
- package/types/tsconfig.ecs7.json +3 -8
- package/dist/ecs7/index.d.ts +0 -4679
- package/dist/ecs7/index.js +0 -15202
- package/dist/ecs7/index.min.js +0 -1
- package/dist/ecs7/index.min.js.map +0 -1
- package/dist/ecs7/proto-definitions/README.md +0 -32
- package/dist/ecs7/proto-definitions/Transform.md +0 -25
- package/dist/ecs7/proto-definitions/animator.proto +0 -19
- package/dist/ecs7/proto-definitions/audio_source.proto +0 -13
- package/dist/ecs7/proto-definitions/audio_stream.proto +0 -11
- package/dist/ecs7/proto-definitions/avatar_attach.proto +0 -19
- package/dist/ecs7/proto-definitions/avatar_modifier_area.proto +0 -19
- package/dist/ecs7/proto-definitions/avatar_shape.proto +0 -32
- package/dist/ecs7/proto-definitions/billboard.proto +0 -17
- package/dist/ecs7/proto-definitions/camera_mode.proto +0 -10
- package/dist/ecs7/proto-definitions/camera_mode_area.proto +0 -14
- package/dist/ecs7/proto-definitions/common/camera_type.proto +0 -8
- package/dist/ecs7/proto-definitions/common/id.md +0 -2
- package/dist/ecs7/proto-definitions/common/id.proto +0 -8
- package/dist/ecs7/proto-definitions/common/input_action.proto +0 -20
- package/dist/ecs7/proto-definitions/common/texts.proto +0 -20
- package/dist/ecs7/proto-definitions/gltf_container.proto +0 -13
- package/dist/ecs7/proto-definitions/material.proto +0 -56
- package/dist/ecs7/proto-definitions/mesh_collider.proto +0 -35
- package/dist/ecs7/proto-definitions/mesh_renderer.proto +0 -30
- package/dist/ecs7/proto-definitions/nft_shape.proto +0 -40
- package/dist/ecs7/proto-definitions/pointer_events_result.proto +0 -25
- package/dist/ecs7/proto-definitions/pointer_hover_feedback.proto +0 -31
- package/dist/ecs7/proto-definitions/pointer_lock.proto +0 -9
- package/dist/ecs7/proto-definitions/raycast.proto +0 -20
- package/dist/ecs7/proto-definitions/raycast_result.proto +0 -25
- package/dist/ecs7/proto-definitions/text_shape.proto +0 -33
- package/dist/ecs7/proto-definitions/ui_background.proto +0 -11
- package/dist/ecs7/proto-definitions/ui_text.proto +0 -17
- package/dist/ecs7/proto-definitions/ui_transform.proto +0 -141
- package/dist/ecs7/proto-definitions/visibility_component.proto +0 -9
- package/dist/playground/snippets/billboard.ts +0 -108
- package/dist/playground/snippets/cube-spawner.ts +0 -39
- package/dist/playground/snippets/info.json +0 -1
- package/dist/playground/snippets/material.ts +0 -48
- package/dist/playground/snippets/mesh.ts +0 -68
- package/dist/playground/snippets/pointer-events.ts +0 -50
- package/dist/playground/snippets/raycast-hit-many.ts +0 -63
- package/dist/playground/snippets/raycast-hit.ts +0 -62
- package/dist/playground/snippets/ui.tsx +0 -134
- package/types/ecs7/index.d.ts +0 -4679
@@ -1,134 +0,0 @@
|
|
1
|
-
import ReactEcs, {
|
2
|
-
renderUi,
|
3
|
-
UiEntity,
|
4
|
-
YGAlign,
|
5
|
-
YGDisplay,
|
6
|
-
YGJustify
|
7
|
-
} from '@dcl/react-ecs'
|
8
|
-
|
9
|
-
let counter = 0
|
10
|
-
|
11
|
-
export const uiComponent = () => (
|
12
|
-
<UiEntity
|
13
|
-
uiTransform={{
|
14
|
-
width: 700,
|
15
|
-
height: 400,
|
16
|
-
margin: { top: '35px', left: '500px' }
|
17
|
-
}}
|
18
|
-
uiBackground={{ backgroundColor: Color4.create(0.5, 0.8, 0.1, 0.6) }}
|
19
|
-
>
|
20
|
-
<UiEntity
|
21
|
-
uiTransform={{
|
22
|
-
width: '100%',
|
23
|
-
height: '20%',
|
24
|
-
justifyContent: YGJustify.YGJ_CENTER,
|
25
|
-
alignItems: YGAlign.YGA_CENTER,
|
26
|
-
display: YGDisplay.YGD_FLEX
|
27
|
-
}}
|
28
|
-
>
|
29
|
-
<UiEntity
|
30
|
-
uiText={{ value: 'SDK 7', fontSize: 80 }}
|
31
|
-
uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
|
32
|
-
/>
|
33
|
-
</UiEntity>
|
34
|
-
<UiEntity
|
35
|
-
uiTransform={{
|
36
|
-
width: '100%',
|
37
|
-
height: '20%',
|
38
|
-
justifyContent: YGJustify.YGJ_CENTER,
|
39
|
-
alignItems: YGAlign.YGA_CENTER,
|
40
|
-
display: YGDisplay.YGD_FLEX
|
41
|
-
}}
|
42
|
-
>
|
43
|
-
<UiEntity
|
44
|
-
uiText={{ value: `Counter: ${counter}`, fontSize: 60 }}
|
45
|
-
uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
|
46
|
-
/>
|
47
|
-
</UiEntity>
|
48
|
-
<UiEntity
|
49
|
-
uiTransform={{
|
50
|
-
width: '100%',
|
51
|
-
height: '100px',
|
52
|
-
justifyContent: YGJustify.YGJ_CENTER,
|
53
|
-
alignItems: YGAlign.YGA_CENTER,
|
54
|
-
display: YGDisplay.YGD_FLEX
|
55
|
-
}}
|
56
|
-
>
|
57
|
-
<UiEntity
|
58
|
-
uiText={{ value: `Player: ${getPlayerPosition()}`, fontSize: 40 }}
|
59
|
-
uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
|
60
|
-
/>
|
61
|
-
</UiEntity>
|
62
|
-
</UiEntity>
|
63
|
-
)
|
64
|
-
|
65
|
-
function getPlayerPosition() {
|
66
|
-
const playerPosition = Transform.getOrNull(engine.PlayerEntity)
|
67
|
-
if (!playerPosition) return ''
|
68
|
-
const { x, y, z } = playerPosition.position
|
69
|
-
return `{x: ${x.toFixed(2)}, y: ${y.toFixed(2)}, z: ${z.toFixed(2)} }`
|
70
|
-
}
|
71
|
-
|
72
|
-
renderUi(uiComponent)
|
73
|
-
|
74
|
-
// Cube factory
|
75
|
-
function createCube(x: number, y: number, z: number, spawner = true): Entity {
|
76
|
-
const meshEntity = engine.addEntity()
|
77
|
-
Transform.create(meshEntity, { position: { x, y, z } })
|
78
|
-
MeshRenderer.create(meshEntity, { mesh: { $case: 'box', box: { uvs: [] } } })
|
79
|
-
MeshCollider.create(meshEntity, { mesh: { $case: 'box', box: {} } })
|
80
|
-
if (spawner) {
|
81
|
-
PointerHoverFeedback.create(meshEntity, {
|
82
|
-
pointerEvents: [
|
83
|
-
{
|
84
|
-
eventType: PointerEventType.PET_DOWN,
|
85
|
-
eventInfo: {
|
86
|
-
button: InputAction.IA_PRIMARY,
|
87
|
-
hoverText: 'Press E to spawn',
|
88
|
-
maxDistance: 100,
|
89
|
-
showFeedback: true
|
90
|
-
}
|
91
|
-
}
|
92
|
-
]
|
93
|
-
})
|
94
|
-
}
|
95
|
-
return meshEntity
|
96
|
-
}
|
97
|
-
|
98
|
-
// Systems
|
99
|
-
function circularSystem(dt: number) {
|
100
|
-
const entitiesWithMeshRenderer = engine.getEntitiesWith(
|
101
|
-
MeshRenderer,
|
102
|
-
Transform
|
103
|
-
)
|
104
|
-
for (const [entity, _meshRenderer, _transform] of entitiesWithMeshRenderer) {
|
105
|
-
const mutableTransform = Transform.getMutable(entity)
|
106
|
-
|
107
|
-
mutableTransform.rotation = Quaternion.multiply(
|
108
|
-
mutableTransform.rotation,
|
109
|
-
Quaternion.fromAngleAxis(dt * 10, Vector3.Up())
|
110
|
-
)
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
function spawnerSystem() {
|
115
|
-
const clickedCubes = engine.getEntitiesWith(PointerHoverFeedback)
|
116
|
-
for (const [entity] of clickedCubes) {
|
117
|
-
if (
|
118
|
-
Input.isTriggered(
|
119
|
-
InputAction.IA_PRIMARY,
|
120
|
-
PointerEventType.PET_DOWN,
|
121
|
-
entity
|
122
|
-
)
|
123
|
-
) {
|
124
|
-
counter++
|
125
|
-
}
|
126
|
-
}
|
127
|
-
}
|
128
|
-
|
129
|
-
// Init
|
130
|
-
createCube(8, 1, 8)
|
131
|
-
engine.addSystem(circularSystem)
|
132
|
-
engine.addSystem(spawnerSystem)
|
133
|
-
|
134
|
-
|