Broadcast teleport landing sound to nearby users
This commit is contained in:
@@ -25,6 +25,10 @@ class UpdatePositionPacket(BasePacket):
|
||||
y: int
|
||||
|
||||
|
||||
class TeleportCompletePacket(BasePacket):
|
||||
type: Literal["teleport_complete"]
|
||||
|
||||
|
||||
class UpdateNicknamePacket(BasePacket):
|
||||
type: Literal["update_nickname"]
|
||||
nickname: str = Field(min_length=1, max_length=32)
|
||||
@@ -91,6 +95,7 @@ class ItemUpdatePacket(BasePacket):
|
||||
ClientPacket = (
|
||||
SignalPacket
|
||||
| UpdatePositionPacket
|
||||
| TeleportCompletePacket
|
||||
| UpdateNicknamePacket
|
||||
| ChatMessagePacket
|
||||
| PingPacket
|
||||
@@ -135,6 +140,13 @@ class BroadcastPositionPacket(BasePacket):
|
||||
y: int
|
||||
|
||||
|
||||
class BroadcastTeleportCompletePacket(BasePacket):
|
||||
type: Literal["teleport_complete"]
|
||||
id: str
|
||||
x: int
|
||||
y: int
|
||||
|
||||
|
||||
class BroadcastNicknamePacket(BasePacket):
|
||||
type: Literal["update_nickname"]
|
||||
id: str
|
||||
|
||||
@@ -42,6 +42,7 @@ from .models import (
|
||||
BroadcastChatMessagePacket,
|
||||
BroadcastNicknamePacket,
|
||||
BroadcastPositionPacket,
|
||||
BroadcastTeleportCompletePacket,
|
||||
ChatMessagePacket,
|
||||
ClientPacket,
|
||||
ForwardSignalPacket,
|
||||
@@ -63,6 +64,7 @@ from .models import (
|
||||
PingPacket,
|
||||
PongPacket,
|
||||
RemoteUser,
|
||||
TeleportCompletePacket,
|
||||
UpdateNicknamePacket,
|
||||
UpdatePositionPacket,
|
||||
UserLeftPacket,
|
||||
@@ -879,6 +881,18 @@ class SignalingServer:
|
||||
await self._broadcast_item(carried)
|
||||
return
|
||||
|
||||
if isinstance(packet, TeleportCompletePacket):
|
||||
await self._broadcast(
|
||||
BroadcastTeleportCompletePacket(
|
||||
type="teleport_complete",
|
||||
id=client.id,
|
||||
x=client.x,
|
||||
y=client.y,
|
||||
),
|
||||
exclude=client.websocket,
|
||||
)
|
||||
return
|
||||
|
||||
if isinstance(packet, UpdateNicknamePacket):
|
||||
requested_nickname = packet.nickname.strip()
|
||||
if not requested_nickname:
|
||||
|
||||
Reference in New Issue
Block a user