diff options
Diffstat (limited to 'test-client/main.ts')
-rw-r--r-- | test-client/main.ts | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/test-client/main.ts b/test-client/main.ts index 72e88c90..7f33bc98 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -78,6 +78,7 @@ export interface PlayerData extends MovementBase { character: number, anim_position: V2, message?: MessageData, + message_clear?: number, } export interface TileData { @@ -191,8 +192,10 @@ function packet(p: PacketC) { break; case "communicate": { const player = players.get(p.player)! + if (player.message_clear) clearTimeout(player.message_clear) if (p.message) player.message = { inner: p.message, anim_size: 0., anim_position: player.anim_position } else player.message = undefined + if (!p.persist) player.message_clear = setTimeout(() => delete player.message, 3000) break; } case "score": @@ -203,6 +206,9 @@ function packet(p: PacketC) { case "error": console.warn(p.message) break; + case "set_ingame": + console.log(`ingame ${p.state}`); + break; default: console.warn("unknown packet", p); } @@ -218,9 +224,9 @@ function keyboard(ev: KeyboardEvent, down: boolean) { if (HANDLED_KEYS.includes(ev.code)) ev.preventDefault() if (!keys_down.has(KEY_INTERACT) && ev.code == KEY_INTERACT && down) set_interact(true) if (keys_down.has(KEY_INTERACT) && ev.code == KEY_INTERACT && !down) set_interact(false) - if (down && ev.code == "Numpad1") send({ type: "communicate", message: { text: "/start default-small-default" } }) - if (down && ev.code == "Numpad2") send({ type: "communicate", message: { text: "/start default-big-default" } }) - if (down && ev.code == "Numpad0") send({ type: "communicate", message: { text: "/end" } }) + if (down && ev.code == "Numpad1") send({ type: "communicate", message: { text: "/start default-small-default" }, persist: false }) + if (down && ev.code == "Numpad2") send({ type: "communicate", message: { text: "/start default-big-default" }, persist: false }) + if (down && ev.code == "Numpad0") send({ type: "communicate", message: { text: "/end" }, persist: false }) if (down) keys_down.add(ev.code) else keys_down.delete(ev.code) } @@ -233,8 +239,7 @@ function close_chat() { } function toggle_chat() { if (chat) { - if (chat.value.length) send({ type: "communicate", message: { text: chat.value } }) - else send({ type: "communicate" }) + if (chat.value.length) send({ type: "communicate", message: { text: chat.value }, persist: false }) chat.remove() canvas.focus() chat = null; |