package main import hm "core:container/handle_map" import rl "vendor:raylib" // ИИ врага — летит к игроку. Вызывается из диспатчера sys_update enemy_update :: proc(state: ^GameState, e: ^Enemy, h: Handle, dt: f32) { pe := get_entity(state, state.player) if pe == nil do return dir := get_base(pe).pos - e.pos set_vel(&e.base, dir, e.speed) } // Мёртвые враги → лут sys_death :: proc(state: ^GameState) { it := hm.iterator_make(&state.entities) for e, _ in hm.iterate(&it) { #partial switch &v in e.v { case Enemy: if v.hp <= 0 && !v.marked { v.marked = true spawn(state, make_ground_item(v.pos)) } } } }