aboutsummaryrefslogtreecommitdiff
path: root/test-client/main.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test-client/main.ts')
-rw-r--r--test-client/main.ts26
1 files changed, 12 insertions, 14 deletions
diff --git a/test-client/main.ts b/test-client/main.ts
index b34220df..fd49fca2 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -85,15 +85,12 @@ function packet(p: PacketC) {
data = p.data
break;
case "add_player": {
- let item = undefined
- if (p.item) item = { kind: p.item, x: 0, y: 0 };
players.set(p.id, {
x: p.position[0],
y: p.position[1],
character: p.character,
name: p.name,
rot: 0,
- item,
facing: { x: 0, y: 1 },
vel: { x: 0, y: 0 },
})
@@ -126,15 +123,18 @@ function packet(p: PacketC) {
player.item = undefined
break;
}
- case "produce_item": {
- const item = { kind: p.item, x: p.tile[0] + 0.5, y: p.tile[1] + 0.5 }
- tiles.get(p.tile.toString())!.item = item
- break;
- }
- case "consume_item": {
+ case "set_tile_item": {
const tile = tiles.get(p.tile.toString())!
- if (tile.item) items_removed.add(tile.item)
+ if (tile.item !== undefined && tile.item !== null) items_removed.add(tile.item)
tile.item = undefined
+ if (p.item !== undefined && p.item !== null) tile.item = { kind: p.item, x: p.tile[0] + 0.5, y: p.tile[1] + 0.5 }
+ break;
+ }
+ case "set_player_item": {
+ const player = players.get(p.player)!
+ if (player.item !== undefined && player.item !== null) items_removed.add(player.item)
+ player.item = undefined
+ if (p.item !== undefined && p.item !== null) player.item = { kind: p.item, x: player.x + 0.5, y: player.y + 0.5 }
break;
}
case "set_active": {
@@ -212,10 +212,10 @@ function frame_update(dt: number) {
if (item.tracking) lerp_exp_v2_mut(item, item.tracking, dt * 10.)
}
for (const [_, player] of players) {
- if (player.item) update_item(player.item)
+ if (player.item !== undefined && player.item !== null) update_item(player.item)
}
for (const [_, tile] of tiles) {
- if (tile.item) update_item(tile.item)
+ if (tile.item !== undefined && tile.item !== null) update_item(tile.item)
}
const remove = []
@@ -269,7 +269,5 @@ function collide_player(p: PlayerData) {
const vdotn = (grad_x * p.vel.x) + (grad_y * p.vel.y)
p.vel.x -= grad_x * vdotn
p.vel.y -= grad_y * vdotn
-
-
}
}