diff --git a/space-crush-app/src/debug/fleets.rs b/space-crush-app/src/debug/fleets.rs index cdb1cdc..ca6a96e 100644 --- a/space-crush-app/src/debug/fleets.rs +++ b/space-crush-app/src/debug/fleets.rs @@ -10,7 +10,7 @@ use specs::{prelude::*, ReadExpect, ReadStorage, System, World, WriteExpect}; use crate::{ misc::{HorizontalAlign, Text, TextManager, VerticalAlign}, - resources::{Camera, Geometry, PlayerState}, + resources::{Camera, GameState, Geometry}, Error, }; @@ -20,7 +20,7 @@ pub struct Fleets { #[derive(SystemData)] pub struct FleetData<'a> { - player_state: ReadExpect<'a, PlayerState>, + game_state: ReadExpect<'a, GameState>, geometry: WriteExpect<'a, Geometry>, camera: ReadExpect<'a, Camera>, positions: ReadStorage<'a, Position>, @@ -51,7 +51,7 @@ impl<'a> System<'a> for Fleets { fn run(&mut self, data: Self::SystemData) { let FleetData { - player_state, + game_state, mut geometry, camera, positions, @@ -60,7 +60,7 @@ impl<'a> System<'a> for Fleets { fleets, } = data; - let player = return_if_none!(players.get(player_state.player_id)); + let player = return_if_none!(players.get(game_state.player_id)); gl::enable(gl::BLEND); diff --git a/space-crush-app/src/lib.rs b/space-crush-app/src/lib.rs index 330f6d4..30aec16 100644 --- a/space-crush-app/src/lib.rs +++ b/space-crush-app/src/lib.rs @@ -14,7 +14,7 @@ pub use error::Error; use debug::{Fleets as DebugFleets, Ships as DebugShips, Summary as DebugSummary}; use misc::{Events, TextManager, Window}; use render::{Asteroids, FleetSelect, Init, Planets, Ships}; -use resources::{Camera, Config, Geometry, InputState, PlayerState, Uniform}; +use resources::{Camera, Config, GameState, Geometry, InputState, Uniform}; use systems::{FleetControl, StateUpdate}; pub struct App<'a, 'b> { @@ -34,7 +34,7 @@ impl<'a, 'b> App<'a, 'b> { let uniform = Uniform::new()?; let geometry = Geometry::new(world)?; let input_state = InputState::default(); - let player_state = PlayerState::new(player_id); + let game_state = GameState::new(player_id); camera.update(Matrix4f::scale(0.25))?; @@ -43,7 +43,7 @@ impl<'a, 'b> App<'a, 'b> { world.insert(uniform); world.insert(geometry); world.insert(input_state); - world.insert(player_state); + world.insert(game_state); let text_manager = TextManager::new(world)?; diff --git a/space-crush-app/src/render/fleet_select.rs b/space-crush-app/src/render/fleet_select.rs index c89f5db..c882b31 100644 --- a/space-crush-app/src/render/fleet_select.rs +++ b/space-crush-app/src/render/fleet_select.rs @@ -28,7 +28,7 @@ use crate::{ misc::{ HorizontalAlign, MouseEvent, Text, TextCache, TextManager, VerticalAlign, WorldHelper as _, }, - resources::{Camera, Config, Geometry, InputState, PlayerState, Selection}, + resources::{Camera, Config, GameState, Geometry, InputState, Selection}, Error, }; @@ -71,7 +71,7 @@ enum SelectMode { #[derive(SystemData)] pub struct FleetSelectData<'a> { - player_state: WriteExpect<'a, PlayerState>, + game_state: WriteExpect<'a, GameState>, camera: ReadExpect<'a, Camera>, mouse_events: ReadExpect<'a, EventChannel>, @@ -89,10 +89,10 @@ pub struct FleetSelectData<'a> { macro_rules! selection { (&$data:expr) => { - return_if_none!(&$data.player_state.selection) + return_if_none!(&$data.game_state.selection) }; (&mut $data:expr) => { - return_if_none!(&mut $data.player_state.selection) + return_if_none!(&mut $data.game_state.selection) }; } @@ -192,17 +192,17 @@ impl FleetSelect { match event { MouseEvent::ButtonDown(button) if button == &d.config.input.fleet_select_button => { let pos = d.camera.view_to_world(d.input_state.mouse_pos); - let selection = d.player_state.selection.take(); + let selection = d.game_state.selection.take(); for (position, orbit) in (&d.positions, &d.orbits).join() { let r = orbit.max * orbit.max; if (position.pos - pos).length_sqr() <= r { - let player_id = d.player_state.player_id; + let player_id = d.game_state.player_id; let player = player!(&d, player_id); let player_index = player.index; let fleet_id = continue_if_none!(orbit.fleets.get(player_index)); let fleet_id = *continue_if_none!(fleet_id); - d.player_state.selection = match selection { + d.game_state.selection = match selection { Some(s) if s.fleet == fleet_id => { self.is_new_selection = false; diff --git a/space-crush-app/src/resources/player_state.rs b/space-crush-app/src/resources/game_state.rs similarity index 89% rename from space-crush-app/src/resources/player_state.rs rename to space-crush-app/src/resources/game_state.rs index 612ef2c..86073b9 100644 --- a/space-crush-app/src/resources/player_state.rs +++ b/space-crush-app/src/resources/game_state.rs @@ -3,7 +3,7 @@ use space_crush_common::components::ShipCount; use specs::Entity; -pub struct PlayerState { +pub struct GameState { pub player_id: Entity, pub selection: Option, } @@ -13,7 +13,7 @@ pub struct Selection { pub count: ShipCount, } -impl PlayerState { +impl GameState { pub fn new(player_id: Entity) -> Self { Self { player_id, diff --git a/space-crush-app/src/resources/mod.rs b/space-crush-app/src/resources/mod.rs index 4a7c387..b00265f 100644 --- a/space-crush-app/src/resources/mod.rs +++ b/space-crush-app/src/resources/mod.rs @@ -1,13 +1,13 @@ pub mod camera; pub mod config; +pub mod game_state; pub mod geometry; pub mod input_state; -pub mod player_state; pub mod uniform; pub use camera::Camera; pub use config::Config; +pub use game_state::{GameState, Selection}; pub use geometry::Geometry; pub use input_state::InputState; -pub use player_state::{PlayerState, Selection}; pub use uniform::Uniform; diff --git a/space-crush-app/src/systems/fleet_control.rs b/space-crush-app/src/systems/fleet_control.rs index 50ff61e..eac6df4 100644 --- a/space-crush-app/src/systems/fleet_control.rs +++ b/space-crush-app/src/systems/fleet_control.rs @@ -8,7 +8,7 @@ use specs::{prelude::*, Entity, ReadStorage, System, World, WriteStorage}; use crate::{ misc::MouseEvent, - resources::{Camera, Config, InputState, PlayerState}, + resources::{Camera, Config, GameState, InputState}, Error, }; @@ -19,7 +19,7 @@ pub struct FleetControl { #[derive(SystemData)] pub struct FleetControlData<'a> { - player_state: WriteExpect<'a, PlayerState>, + game_state: WriteExpect<'a, GameState>, mouse_events: ReadExpect<'a, EventChannel>, input_state: ReadExpect<'a, InputState>, camera: ReadExpect<'a, Camera>, @@ -50,7 +50,7 @@ impl<'a> System<'a> for FleetControl { fn run(&mut self, data: Self::SystemData) { let FleetControlData { - mut player_state, + mut game_state, mouse_events, input_state, camera, @@ -71,7 +71,7 @@ impl<'a> System<'a> for FleetControl { for (position, orbit) in (&positions, &orbits).join() { let r = orbit.max * orbit.max; if (position.pos - pos).length_sqr() <= r { - let player_id = player_state.player_id; + let player_id = game_state.player_id; let player = continue_if_none!(players.get(player_id)); let fleet_id = continue_if_none!(orbit.fleets.get(player.index)); let fleet_id = *continue_if_none!(fleet_id); @@ -83,7 +83,7 @@ impl<'a> System<'a> for FleetControl { } } MouseEvent::ButtonUp(button) if button == &config.input.fleet_move_button => { - let selection = player_state.selection.take(); + let selection = game_state.selection.take(); let target_fleet = continue_if_none!(self.target_fleet.take()); let mut selection = continue_if_none!(selection); let fleet = continue_if_none!(fleets.get(selection.fleet));