Files
tower-defense-prototype/game/events.odin
T

26 lines
439 B
Odin

package game
Event_Kind :: enum {
Enemy_Killed,
}
Event :: struct {
kind: Event_Kind,
gold_reward: int,
}
push_event :: proc(world: ^World, kind: Event_Kind, gold_reward: int = 0) {
append(&world.events, Event{kind = kind, gold_reward = gold_reward})
}
process_events :: proc(world: ^World) {
for ev in world.events {
switch ev.kind {
case .Enemy_Killed:
world.gold += ev.gold_reward
}
}
clear(&world.events)
}