using Content.Shared.GameTicking.Components; namespace Content.Shared.GameTicking.Rules; // TODO: Someone should probably make this virtual and make it into a "GameRuleSystem" with all GameRules in it. // TODO: Then move GameTicker.GameRule into here and have GameRuleSystem inherit, since it already uses it as a dependency... public abstract partial class GameRuleSystem where T: IComponent { protected EntityQueryEnumerator QueryActiveRules() { return EntityQueryEnumerator(); } protected EntityQueryEnumerator QueryDelayedRules() { return EntityQueryEnumerator(); } /// /// Queries all gamerules, regardless of if they're active or not. /// protected EntityQueryEnumerator QueryAllRules() { return EntityQueryEnumerator(); } protected void ForceEndSelf(Entity entity) { GameTicker.EndGameRule(entity); } [Obsolete("Use Entity typed version of this method instead!")] protected void ForceEndSelf(EntityUid uid, GameRuleComponent? component = null) { ForceEndSelf((uid, component)); } }