Files
tower-defense-prototype/game/world.odin
T
2026-06-10 02:32:01 -07:00

36 lines
635 B
Odin

package game
import "core:fmt"
import rl "vendor:raylib"
World :: struct {
gold: int,
base_health: int,
world_map: Map,
path: [dynamic]Vec2,
enemies: [MAX_ENEMIES]Enemy,
towers: [dynamic]Tower,
}
init_world :: proc() -> World {
world := World {
gold = 100,
base_health = 20,
}
init_map(&world.world_map)
build_path(&world.world_map, &world.path)
return world
}
// update world, never draw
update_world :: proc(world: ^World, dt: f32) {
cmd := gather_commands(world)
execute_command(world, cmd)
if rl.IsKeyPressed(.SPACE) {
spawn_group(world, 3)
}
update_enemies(world, dt)
}