diff options
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, | 
