diff options
Diffstat (limited to 'server/src/protocol.rs')
-rw-r--r-- | server/src/protocol.rs | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/server/src/protocol.rs b/server/src/protocol.rs deleted file mode 100644 index fc8abda4..00000000 --- a/server/src/protocol.rs +++ /dev/null @@ -1,154 +0,0 @@ -/* - Hurry Curry! - a game about cooking - Copyright 2024 metamuffin - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - -*/ -use crate::data::Gamedata; -use glam::{IVec2, Vec2}; -use serde::{Deserialize, Serialize}; - -#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[serde(transparent)] -pub struct PlayerID(pub i64); - -#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[serde(transparent)] -pub struct ItemIndex(pub usize); -#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[serde(transparent)] -pub struct TileIndex(pub usize); -#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[serde(transparent)] -pub struct RecipeIndex(pub usize); -#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[serde(transparent)] -pub struct DemandIndex(pub usize); - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case", tag = "type")] -pub enum PacketS { - Join { - name: String, - character: i32, - }, - Leave, - Position { - pos: Vec2, - rot: f32, - boosting: bool, - }, - Interact { - pos: IVec2, - edge: bool, - }, - Collide { - player: PlayerID, - force: Vec2, - }, - Communicate { - message: Option<Message>, - persist: bool, - }, - - #[serde(skip)] - /// For internal use only - ReplaceHand { - item: Option<ItemIndex>, - }, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum Message { - Text(String), - Item(ItemIndex), - Effect(String), -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case", tag = "type")] -pub enum PacketC { - Init { - id: PlayerID, - }, - Data { - data: Gamedata, - }, - AddPlayer { - id: PlayerID, - position: Vec2, - character: i32, - name: String, - }, - RemovePlayer { - id: PlayerID, - }, - Position { - player: PlayerID, - pos: Vec2, - rot: f32, - boosting: bool, - }, - MoveItem { - from: ItemLocation, - to: ItemLocation, - }, - SetItem { - location: ItemLocation, - item: Option<ItemIndex>, - }, - SetProgress { - item: ItemLocation, - progress: Option<f32>, - warn: bool, - }, - UpdateMap { - tile: IVec2, - kind: Option<TileIndex>, - neighbors: [Option<TileIndex>; 4], - }, - Collide { - player: PlayerID, - force: Vec2, - }, - Communicate { - player: PlayerID, - message: Option<Message>, - persist: bool, - }, - ServerMessage { - text: String, - }, - Score { - points: i64, - demands_failed: usize, - demands_completed: usize, - time_remaining: Option<f32>, - }, - SetIngame { - state: bool, - lobby: bool, - }, - Error { - message: String, - }, -} - -#[derive(Debug, Clone, Serialize, Deserialize, Copy)] -#[serde(rename_all = "snake_case")] -pub enum ItemLocation { - Tile(IVec2), - Player(PlayerID), -} |