aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/protocol/src/lib.rs1
-rw-r--r--server/src/entity/tutorial.rs3
-rw-r--r--test-client/main.ts1
-rw-r--r--test-client/protocol.ts2
4 files changed, 6 insertions, 1 deletions
diff --git a/server/protocol/src/lib.rs b/server/protocol/src/lib.rs
index 9d2879f7..bf7fc3d1 100644
--- a/server/protocol/src/lib.rs
+++ b/server/protocol/src/lib.rs
@@ -227,6 +227,7 @@ pub enum PacketC {
#[bincode(with_serde)]
position: Option<IVec2>,
message: Option<Message>,
+ player: PlayerID,
},
Score(Score),
SetIngame {
diff --git a/server/src/entity/tutorial.rs b/server/src/entity/tutorial.rs
index 68503471..39f761bc 100644
--- a/server/src/entity/tutorial.rs
+++ b/server/src/entity/tutorial.rs
@@ -38,6 +38,7 @@ impl Entity for Tutorial {
if let Some((position, _)) = self.current_hint {
c.packet_out.push_back(PacketC::ServerHint {
position,
+ player: self.player,
message: None,
});
}
@@ -81,11 +82,13 @@ impl Entity for Tutorial {
if let Some((position, _)) = self.current_hint.take() {
c.packet_out.push_back(PacketC::ServerHint {
position,
+ player: self.player,
message: None,
});
}
if let Some((position, message)) = hint.clone() {
c.packet_out.push_back(PacketC::ServerHint {
+ player: self.player,
position,
message: Some(message),
});
diff --git a/test-client/main.ts b/test-client/main.ts
index c4340fe8..4f4bcbfd 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -261,6 +261,7 @@ function packet(p: PacketC) {
break;
}
case "server_hint":
+ if (p.player != my_id) return;
if (p.message) server_hints.set(p.position + "", {
inner: p.message,
anim_size: 0.,
diff --git a/test-client/protocol.ts b/test-client/protocol.ts
index 6076d275..c8c59ed2 100644
--- a/test-client/protocol.ts
+++ b/test-client/protocol.ts
@@ -60,7 +60,7 @@ export type PacketC =
| { type: "communicate", player: PlayerID, message?: Message, timeout?: MessageTimeout } // A player wants to communicate something, message is null when cleared
| { type: "effect", player: PlayerID, name: string } // Player sent an effect
| { type: "server_message", message: Message, error: boolean } // Text message from the server
- | { type: "server_hint", message?: Message, position?: Vec2 } // Hint message from server with optional position. Message is unset to clear previous message
+ | { type: "server_hint", message?: Message, position?: Vec2, player: PlayerID } // Hint message from server with optional position. Message is unset to clear previous message
| { type: "score" } & Score // Supplies information for score OSD
| { type: "menu" } & Menu // Open a menu on the client-side
| { type: "environment", effects: string[] }