An unofficial collection of APIs used in FreeJam games and mods
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.6KB

  1. use serde::{Deserialize, Serialize};
  2. #[derive(Deserialize, Serialize, Clone)]
  3. pub struct GameInfo {
  4. #[serde(rename = "MaxPlayers")]
  5. pub max_players: usize,
  6. #[serde(rename = "GameId")]
  7. pub game_id: usize,
  8. #[serde(rename = "GameGuid")]
  9. pub game_guid: String,
  10. #[serde(rename = "WorldName")]
  11. pub world_name: String,
  12. #[serde(rename = "GameHostType")]
  13. pub game_host_type: usize,
  14. #[serde(rename = "PvP")]
  15. pub pvp: bool,
  16. #[serde(rename = "PhotonRegionOverride")]
  17. pub photon_region_override: String,
  18. #[serde(rename = "ServerPassword")]
  19. pub server_password: String,
  20. #[serde(rename = "AdminPassword")]
  21. pub admin_password: String,
  22. }
  23. impl std::string::ToString for GameInfo {
  24. fn to_string(&self) -> String {
  25. format!("{} ({})", &self.world_name, &self.game_guid)
  26. }
  27. }
  28. #[derive(Deserialize, Serialize, Clone)]
  29. pub struct StatusInfo {
  30. #[serde(rename = "PlayersMax")]
  31. pub max_players: usize,
  32. #[serde(rename = "PlayerCount")]
  33. pub player_count: usize,
  34. #[serde(rename = "Status")]
  35. pub status: String,
  36. #[serde(rename = "OnlinePlayers")]
  37. pub online_players: Vec<PlayerStatusInfo>
  38. }
  39. #[derive(Deserialize, Serialize, Clone)]
  40. pub struct PlayerStatusInfo {
  41. #[serde(rename = "id")]
  42. pub id: String,
  43. #[serde(rename = "name")]
  44. pub name: String,
  45. #[serde(rename = "isDev")]
  46. pub is_dev: bool,
  47. #[serde(rename = "x")]
  48. pub x: f32,
  49. #[serde(rename = "y")]
  50. pub y: f32,
  51. #[serde(rename = "z")]
  52. pub z: f32,
  53. }
  54. impl std::string::ToString for PlayerStatusInfo {
  55. fn to_string(&self) -> String {
  56. format!("{} ({})", &self.name, &self.id)
  57. }
  58. }