aboutsummaryrefslogtreecommitdiff
path: root/server/src/protocol.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/protocol.rs')
-rw-r--r--server/src/protocol.rs40
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,