use serde::Deserialize;
use crate::types::{
disc::{Disc, Vec3},
enums::{GameStatus, MapName, MatchType, PausedState, PauseTeam},
team::Team,
throw::{LastScore, LastThrow},
};
#[derive(Debug, Clone, Deserialize)]
pub struct Pause {
pub paused_state: PausedState,
pub unpaused_team: PauseTeam,
pub paused_requested_team: PauseTeam,
pub unpaused_timer: f32,
pub paused_timer: f32,
}
#[derive(Debug, Clone, Deserialize)]
pub struct LocalPlayer {
pub vr_left: Vec3,
pub vr_position: Vec3,
pub vr_forward: Vec3,
pub vr_up: Vec3,
}
#[derive(Debug, Clone, Deserialize)]
pub struct Session {
pub client_name: String,
pub sessionid: String,
pub sessionip: String,
pub match_type: MatchType,
pub map_name: MapName,
pub game_clock: f32,
pub game_clock_display: String,
pub private_match: bool,
pub total_round_count: i32,
pub blue_round_score: i32,
pub orange_round_score: i32,
pub blue_points: i32,
pub orange_points: i32,
pub tournament_match: bool,
pub blue_team_restart_request: i32,
pub orange_team_restart_request: i32,
pub right_shoulder_pressed: f32,
pub right_shoulder_pressed2: f32,
pub left_shoulder_pressed: f32,
pub left_shoulder_pressed2: f32,
pub packet_loss_ratio: Option<f32>,
pub game_status: GameStatus,
pub pause: Pause,
pub possession: [i32; 2],
pub last_throw: LastThrow,
pub last_score: LastScore,
pub disc: Disc,
pub player: LocalPlayer,
pub teams: Vec<Team>,
}