diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-06-29 19:04:57 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-06-29 19:04:57 +0200 | 
| commit | fd2c907274095031917e6279db436186d95d74fc (patch) | |
| tree | 62e064f445e791c78ada2b68f7e84220f33e76fb /test-client/main.ts | |
| parent | 5f361ffedfd132c5a900ca8dcb1b25fcb21a2e33 (diff) | |
| download | hurrycurry-fd2c907274095031917e6279db436186d95d74fc.tar hurrycurry-fd2c907274095031917e6279db436186d95d74fc.tar.bz2 hurrycurry-fd2c907274095031917e6279db436186d95d74fc.tar.zst | |
optionally persist messages
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; | 
