use std::net::SocketAddr; use bevy::prelude::{Bundle, Component, Entity}; use serde::{Deserialize, Serialize}; use crate::module::component::{Attach, PartBundle}; #[derive(Component, Clone, Copy, Serialize, Deserialize, Debug, Default)] pub struct Input { pub up: bool, pub down: bool, pub left: bool, pub right: bool, } #[derive(Component, Clone, Debug)] pub struct Player { pub addr: SocketAddr, pub username: String, pub input: Input, pub selected: Option, pub save_eligibility: bool, pub energy_capacity: u32, pub energy: u32, } #[derive(Bundle)] pub struct PlayerBundle { pub part: PartBundle, pub player: Player, pub attach: Attach, }