Initial enemy setup, with collisions and basic spawning.

Modified-by: Jason Hilder <jhilder95@gmail.com>
This commit is contained in:
2026-07-23 08:34:46 +02:00
parent 2282947c82
commit 5da084391e
7 changed files with 153 additions and 13 deletions
+19 -1
View File
@@ -12,13 +12,19 @@ Player_Assets :: struct {
clips: [Player_State]AnimationClip,
}
Enemy_Assets :: struct {
clips: [Enemy_State]AnimationClip,
}
Asset_Manager :: struct {
player: Player_Assets,
enemy: Enemy_Assets,
}
asset_manager_init :: proc() -> Asset_Manager {
assets := Asset_Manager{}
init_player_assets(&assets.player.clips);
init_player_assets(&assets.player.clips)
init_enemy_assets(&assets.enemy.clips)
return assets
}
@@ -35,6 +41,18 @@ init_player_assets :: proc(clip_array: ^[Player_State]AnimationClip) {
}
}
init_enemy_assets :: proc(clip_array: ^[Enemy_State]AnimationClip) {
idle_tex := rl.LoadTexture("assets/textures/enemy/player_idle.png")
walk_tex := rl.LoadTexture("assets/textures/enemy/player_walk.png")
clip_array[.IDLE] = AnimationClip {
texture = idle_tex, frame_count = 6, frame_width = 32, frame_height = 32, frame_time = 0.14, looping = true,
}
clip_array[.WALK] = AnimationClip {
texture = walk_tex, frame_count = 8, frame_width = 32, frame_height = 32, frame_time = 0.14, looping = true,
}
}
asset_manager_destroy :: proc(assets: ^Asset_Manager) {
for clip in assets.player.clips {
rl.UnloadTexture(clip.texture)