diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-19 22:04:04 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-19 22:04:13 +0200 |
commit | 2409588706b8fdb69e83773c5e2326c7765e2d2f (patch) | |
tree | 380759754de377817525a4ff71187029208ecd9e | |
parent | f241e4283c20dfedf27e4f9c5090a4533bd674d2 (diff) | |
download | hurrycurry-2409588706b8fdb69e83773c5e2326c7765e2d2f.tar hurrycurry-2409588706b8fdb69e83773c5e2326c7765e2d2f.tar.bz2 hurrycurry-2409588706b8fdb69e83773c5e2326c7765e2d2f.tar.zst |
send player in tutorial ended
-rw-r--r-- | server/protocol/src/lib.rs | 1 | ||||
-rw-r--r-- | server/src/entity/tutorial.rs | 6 | ||||
-rw-r--r-- | server/src/server.rs | 5 | ||||
-rw-r--r-- | test-client/protocol.ts | 2 |
4 files changed, 9 insertions, 5 deletions
diff --git a/server/protocol/src/lib.rs b/server/protocol/src/lib.rs index 4ec2ec37..e7b3d483 100644 --- a/server/protocol/src/lib.rs +++ b/server/protocol/src/lib.rs @@ -241,6 +241,7 @@ pub enum PacketC { effects: HashSet<String>, }, TutorialEnded { + player: PlayerID, item: ItemIndex, }, diff --git a/server/src/entity/tutorial.rs b/server/src/entity/tutorial.rs index 5ec1281d..64bdaf7d 100644 --- a/server/src/entity/tutorial.rs +++ b/server/src/entity/tutorial.rs @@ -59,8 +59,10 @@ impl Entity for Tutorial { self.delete_timer -= TARGET_DT; if self.delete_timer <= 0. { hint = None; - c.packet_out - .push_back(PacketC::TutorialEnded { item: self.target }); + c.packet_out.push_back(PacketC::TutorialEnded { + item: self.target, + player: self.player, + }); } else { hint = Some((None, trm!("s.tutorial.finished"))); } diff --git a/server/src/server.rs b/server/src/server.rs index c9961412..6350d635 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -39,6 +39,9 @@ use std::{ use tokio::sync::broadcast::Sender; pub struct Server { + pub tx: Sender<PacketC>, + pub connections: HashMap<ConnectionID, HashSet<PlayerID>>, + pub game: Game, pub data: Arc<Serverdata>, @@ -49,8 +52,6 @@ pub struct Server { pub last_movement_update: HashMap<PlayerID, Instant>, pub index: DataIndex, pub packet_out: VecDeque<PacketC>, - pub tx: Sender<PacketC>, - pub connections: HashMap<ConnectionID, HashSet<PlayerID>>, pub scoreboard: ScoreboardStore, pub gamedata_index: GamedataIndex, } diff --git a/test-client/protocol.ts b/test-client/protocol.ts index 1c7e30cd..8f20176f 100644 --- a/test-client/protocol.ts +++ b/test-client/protocol.ts @@ -64,7 +64,7 @@ export type PacketC = | { type: "score" } & Score // Supplies information for score OSD | { type: "menu" } & Menu // Open a menu on the client-side | { type: "environment", effects: string[] } - | { type: "tutorial_ended", item: ItemIndex } + | { type: "tutorial_ended", item: ItemIndex, player: PlayerID } | { type: "set_ingame", state: boolean, lobby: boolean } // Set to false when entering the game or switching maps export type Menu = |