diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-24 22:14:37 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-24 22:14:37 +0200 |
commit | 1ecb4a19893d87f17650e5defd6a52ca9df95999 (patch) | |
tree | 8a114f3d8d22aa65d2efd6db2621fbbe5c286726 /test-client | |
parent | 277e87c244d003bee9374d71e678049c41e61e5b (diff) | |
download | hurrycurry-1ecb4a19893d87f17650e5defd6a52ca9df95999.tar hurrycurry-1ecb4a19893d87f17650e5defd6a52ca9df95999.tar.bz2 hurrycurry-1ecb4a19893d87f17650e5defd6a52ca9df95999.tar.zst |
correct handling of pinned messages
Diffstat (limited to 'test-client')
-rw-r--r-- | test-client/main.ts | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/test-client/main.ts b/test-client/main.ts index a0386631..0c96a945 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -224,29 +224,25 @@ function packet(p: PacketC) { case "communicate": { const player = players.get(p.player)! if (p.message) { - if (p.timeout?.pinned) { - if (p.message) player.message_pinned = { - inner: p.message, - anim_size: 0, - anim_position: { x: 20, y: 0 }, - style: "pinned", - timeout: p.timeout - } - else delete player.message_pinned - } else { - const message = { - inner: p.message, - anim_size: 0., - anim_position: player.anim_position, - timeout: p.timeout ?? { initial: 5, remaining: 5, pinned: false }, - style: "normal" as const - }; - if (p.timeout) player.message_persist = message - else player.message = message + const message = { + inner: p.message, + anim_size: player.message_persist?.anim_size ?? 0, + anim_position: player.anim_position, + timeout: p.timeout ?? { initial: 5, remaining: 5, pinned: false }, + style: "normal" as const + }; + if (p.timeout) player.message_persist = message + else player.message = message + if (p.timeout?.pinned) player.message_pinned = { + inner: p.message, + anim_size: player.message_pinned?.anim_size ?? 0, + anim_position: { x: 20, y: 0 }, + style: "pinned", + timeout: p.timeout } - - } else if (p.timeout !== undefined) { + } else { delete player.message_persist + delete player.message_pinned } break; } |