summaryrefslogtreecommitdiff
path: root/pixel-client/src
diff options
context:
space:
mode:
Diffstat (limited to 'pixel-client/src')
-rw-r--r--pixel-client/src/game.rs15
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),
);