summaryrefslogtreecommitdiff
path: root/test-client/main.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-06-21 13:14:48 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:27:04 +0200
commitb6454acae66f526f6de7ccf12cb8532547fb2663 (patch)
treea50844c575b6729292276863a70578f8f6d15ba1 /test-client/main.ts
parentd6a0899e9641c68b96463669bd655629eb430311 (diff)
downloadhurrycurry-b6454acae66f526f6de7ccf12cb8532547fb2663.tar
hurrycurry-b6454acae66f526f6de7ccf12cb8532547fb2663.tar.bz2
hurrycurry-b6454acae66f526f6de7ccf12cb8532547fb2663.tar.zst
proper message draw order
Diffstat (limited to 'test-client/main.ts')
-rw-r--r--test-client/main.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/test-client/main.ts b/test-client/main.ts
index 1e6168ed..60a483d8 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -55,7 +55,7 @@ export interface PlayerData {
character: number,
anim_position: V2,
vel: V2,
- message?: Message,
+ message?: MessageData,
}
export interface TileData {
x: number
@@ -63,6 +63,11 @@ export interface TileData {
kind: TileIndex
item?: ItemData
}
+export interface MessageData {
+ inner: Message
+ anim_position: V2,
+ anim_size: number,
+}
export const players = new Map<PlayerID, PlayerData>()
export const tiles = new Map<string, TileData>()
@@ -151,7 +156,8 @@ function packet(p: PacketC) {
break;
case "communicate": {
const player = players.get(p.player)!
- player.message = p.message
+ if (p.message) player.message = { inner: p.message, anim_size: 0., anim_position: player.anim_position }
+ else player.message = undefined
break;
}
default:
@@ -213,6 +219,7 @@ function frame_update(dt: number) {
if (pid == my_id) player.anim_position.x = player.x, player.anim_position.y = player.y
else lerp_exp_v2_mut(player.anim_position, player, dt * 15)
if (player.item !== undefined && player.item !== null) update_item(player.item)
+ if (player.message) player.message.anim_size = lerp_exp(player.message.anim_size, 1, dt * 3)
}
for (const [_, tile] of tiles) {
if (tile.item !== undefined && tile.item !== null) update_item(tile.item)