// src/AcDream.Plugin.Abstractions/IEvents.cs namespace AcDream.Plugin.Abstractions; public interface IEvents { event Action EntitySpawned; /// /// Raised once per host update with the elapsed seconds since the previous /// tick, on the host's own update thread. /// /// /// Automation needs this because useful actions are sequences, not single /// calls: a buff pass casts several spells, each taking seconds, and has to /// wait for one to finish before starting the next. Without a host tick a /// plugin would have to run its own timer thread and re-enter the host off /// its update thread, which is exactly the race this avoids. /// event Action Tick; }