diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-20 01:20:51 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:21:49 +0200 |
commit | 6f7b995dd9fa3bea95be8c24e2452f015b410839 (patch) | |
tree | 2c1d2d03a759ee4597a07d5998dae8480bd73a67 /server/src/protocol.rs | |
parent | 67ccafad4d7d481bdf60be750f96a086ae452e27 (diff) | |
download | hurrycurry-6f7b995dd9fa3bea95be8c24e2452f015b410839.tar hurrycurry-6f7b995dd9fa3bea95be8c24e2452f015b410839.tar.bz2 hurrycurry-6f7b995dd9fa3bea95be8c24e2452f015b410839.tar.zst |
change the protocol yet again
Diffstat (limited to 'server/src/protocol.rs')
-rw-r--r-- | server/src/protocol.rs | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/server/src/protocol.rs b/server/src/protocol.rs index 7eff2ba1..24fe2468 100644 --- a/server/src/protocol.rs +++ b/server/src/protocol.rs @@ -6,16 +6,36 @@ pub type PlayerID = i64; pub type ItemIndex = usize; pub type TileIndex = usize; pub type RecipeIndex = usize; +pub type DemandIndex = usize; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case", tag = "type")] pub enum PacketS { - Join { name: String, character: usize }, + Join { + name: String, + character: usize, + }, Leave, - Position { pos: Vec2, rot: f32 }, - Interact { pos: IVec2, edge: bool }, - Collide { player: PlayerID, force: Vec2 }, - Communicate { message: Option<Message> }, + Position { + pos: Vec2, + rot: f32, + }, + Interact { + pos: IVec2, + edge: bool, + }, + Collide { + player: PlayerID, + force: Vec2, + }, + Communicate { + message: Option<Message>, + }, + + #[serde(skip)] + ReplaceHand { + item: Option<ItemIndex>, + }, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -37,7 +57,6 @@ pub enum PacketC { position: Vec2, character: usize, name: String, - item: Option<ItemIndex>, }, RemovePlayer { id: PlayerID, @@ -55,12 +74,13 @@ pub enum PacketC { player: PlayerID, tile: IVec2, }, - ProduceItem { + SetTileItem { tile: IVec2, - item: ItemIndex, + item: Option<ItemIndex>, }, - ConsumeItem { - tile: IVec2, + SetPlayerItem { + player: PlayerID, + item: Option<ItemIndex>, }, SetActive { tile: IVec2, |