diff options
Diffstat (limited to 'pixel-client')
-rw-r--r-- | pixel-client/src/game.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index ca5f773a..f9891ae6 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -30,8 +30,8 @@ use hurrycurry_client_lib::{network::sync::Network, spatial_index::SpatialIndex, use hurrycurry_protocol::{ glam::{IVec2, Vec2}, movement::MovementBase, - Gamedata, ItemIndex, ItemLocation, Message, MessageTimeout, PacketC, PacketS, PlayerID, - RecipeIndex, Score, TileIndex, + Gamedata, ItemIndex, ItemLocation, Message, MessageTimeout, PacketC, PacketS, PlayerClass, + PlayerID, RecipeIndex, Score, TileIndex, }; use log::{info, warn}; use sdl2::{ @@ -71,6 +71,7 @@ pub struct Player { message_persist: Option<(Message, MessageTimeout)>, _name: String, _character: i32, + _class: PlayerClass, interact_target_anim: Vec2, interact_target_anim_pressed: f32, } @@ -88,6 +89,7 @@ impl Game { network.queue_out.push_back(PacketS::Join { id: None, name: config.username.clone(), + class: PlayerClass::Chef, character: 0, }); @@ -276,6 +278,7 @@ impl Game { position, character, name, + class, } => { info!("add player {} {name:?}", id.0); self.players.insert( @@ -283,6 +286,7 @@ impl Game { Player { interact_target_anim: position, interact_target_anim_pressed: 0., + _class: class, _character: character, _name: name, message_persist: None, @@ -467,10 +471,9 @@ impl Item { impl Player { pub fn draw(&self, ctx: &mut Renderer, item_sprites: &[Sprite]) { ctx.draw_world( - if self._character >= 0 { - &ctx.misc_textures.chef - } else { - &ctx.misc_textures.customer + match self._class { + PlayerClass::Chef | PlayerClass::Bot => &ctx.misc_textures.chef, + PlayerClass::Customer => &ctx.misc_textures.customer, } .at(self.movement.position), ); |