geogamer_data 0.1.2

Data format description exchanged between geogamer server and client
Documentation
use serde::{Deserialize, Serialize};
use uuid::Uuid;

pub type Id = Uuid;

/// Message broadcasted from server to clients
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum GameServerEvent {
    State(GameState), //< Current game state
    NewRound(Round),  //< Start next round
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum GameState {
    Starting(std::time::Duration), //< remaining time before first round starts
    Ongoing(usize),                //< current round index
    Ending,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Round {
    number: u8,
    image_url: String,
    map_url: Option<String>,
}