timers with string names

This commit is contained in:
wooshings
2026-10-16 22:44:15 -07:00
parent 3223d4f41d
commit a4791bcb57
+8 -8
View File
@@ -9,27 +9,27 @@ Timer :: struct {
}
@(private)
timers: [dynamic]Timer
timers: map[string]Timer
start_timer :: proc(time: f32, signal: string = "") -> int {
start_timer :: proc(time: f32, signal: string) -> int {
new_timer: Timer
new_timer.lifetime = time
append(&timers, new_timer)
timers[signal] = new_timer
return len(timers)
}
get_timer :: proc(index: int) -> Timer {
if index <= len(timers) - 1 {
return timers[index]
get_timer :: proc(signal: string) -> Timer {
if timer, exists := timers[signal]; exists {
return timers[signal]
}
return Timer{}
}
run_timers :: proc() {
for &t, i in timers {
for i, &t in timers {
t.lifetime -= rl.GetFrameTime()
if t.lifetime <= 0 {
unordered_remove(&timers, i)
timers[i] = Timer{}
if t.signal != "" {
write(t.signal)
}