I was also wondering why we’re not using events similar to this Q. Is there a reason why we don't use events?
But I think one possible reason here is that this is a real time vs turn based game. IOW, things are constantly changing vs changing at very discrete increments so we can get a lot more mileage out of Update() here. For example distances between enemies and players, cooldown timers for next attack change in real time and it makes sense to check things every frame. I also remember we want to implement cursor affordances at some point and so again checking every frame makes sense.
I’m curious if that’s part of the rationale or if I’m overthinking it.