diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-21 13:14:48 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:27:04 +0200 |
commit | b6454acae66f526f6de7ccf12cb8532547fb2663 (patch) | |
tree | a50844c575b6729292276863a70578f8f6d15ba1 /test-client/main.ts | |
parent | d6a0899e9641c68b96463669bd655629eb430311 (diff) | |
download | hurrycurry-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.ts | 11 |
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) |