using R3; namespace GodotHostTest.Interfaces; /// /// A target for our projectiles. Targets can be reused multiple times. /// public interface ITarget { /// /// An observable that emits a value when the target hasn't been hit in the allotted time and has timed out. Every time this observable emits, the target becomes disabled. /// Observable TimedOut { get; } /// /// An observable that emits a value when the target has been hit in the allotted time. Every time this observable emits, the target becomes disabled. /// Observable Hit { get; } /// /// Enable the target. Targets start disabled and gets disabled when they're hit or time out. /// void Enable(); }