From 6a8f7005cc30c3b5aa2b81b327a7b1fcda828dcd Mon Sep 17 00:00:00 2001 From: Marinho Date: Mon, 3 Feb 2025 21:12:32 -0300 Subject: [PATCH] Add new state for resource collection --- client/src/game/animation.zig | 2 +- client/src/game/character.zig | 10 ++++++---- client/src/server/messages.zig | 4 ++-- server/database/migrations/000004_character.sql | 3 ++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/client/src/game/animation.zig b/client/src/game/animation.zig index 2af0075..b6c2cff 100644 --- a/client/src/game/animation.zig +++ b/client/src/game/animation.zig @@ -15,7 +15,7 @@ pub const character = struct { const frameCount: i32 = @intCast(anims[1].frameCount); if (animFrameCounter.* >= frameCount) animFrameCounter.* = 0; }, - .idle => { + .idle, .collecting_resource => { if (entity.model) |model| rl.updateModelAnimation(model, anims[0], 0); }, } diff --git a/client/src/game/character.zig b/client/src/game/character.zig index 5464bfb..7e51fc1 100644 --- a/client/src/game/character.zig +++ b/client/src/game/character.zig @@ -21,11 +21,13 @@ pub const Chat = struct { mode: chat.Mode = .idle, }; +pub const State = enum { + walking, + idle, + collecting_resource, +}; + pub const Animation = struct { - pub const State = enum { - walking, - idle, - }; frameCounter: i32 = 0, frames: []rl.ModelAnimation = &.{}, }; diff --git a/client/src/server/messages.zig b/client/src/server/messages.zig index 08ada8a..b423e28 100644 --- a/client/src/server/messages.zig +++ b/client/src/server/messages.zig @@ -92,7 +92,7 @@ pub const Character_Info = struct { y_velocity: f32 = 0, face_direction: i16 = 270, map_name: [:0]const u8 = "", - state_type: GameCharacter.Animation.State = .idle, + state_type: GameCharacter.State = .idle, }; pub const Characters_Request = struct { @@ -165,7 +165,7 @@ pub const Character_Update = struct { username: []const u8, face_direction: i16, email: []const u8, - state_type: GameCharacter.Animation.State, + state_type: GameCharacter.State, }; // Central place to send game's data diff --git a/server/database/migrations/000004_character.sql b/server/database/migrations/000004_character.sql index 4a2724c..7ee72c1 100644 --- a/server/database/migrations/000004_character.sql +++ b/server/database/migrations/000004_character.sql @@ -1,7 +1,8 @@ DROP TYPE IF EXISTS "character.STATE_TYPE"; CREATE TYPE character.STATE_TYPE AS ENUM( 'idle', - 'walking' + 'walking', + 'collecting_resource' ); CREATE TABLE character.instance(