using System; using JetBrains.Annotations; using Robust.Shared.GameObjects; namespace Robust.Shared.Analyzers; // These annotations direct the operation of `Robust.Shared.EntitySystemSubscriptionsGenerator`'s // `EntitySystemSubscriptionGenerator` and `EntitySystemSubscriptionGeneratorErrorAnalyser`. /// This attribute indicates that the annotated method is a handler for an event subscription. Methods annotated with /// this attribute will have a EntitySystem.SubscribeLocalEvent call generated, using the method as the handler, /// with the event type (and component, as relevant) inferred from the method signature. ///
/// For this to work, the annotated method must be compatible with one of the following delegate types: /// ///
/// Note that this is not any different from the normal requirements to use EntitySystem.SubscribeLocalEvent. [AttributeUsage(AttributeTargets.Method)] [MeansImplicitUse] public sealed class SubscribeLocalEventAttribute : Attribute; /// This attribute indicates that the annotated method is a handler for an event subscription. Methods annotated with /// this attribute will have a EntitySystem.SubscribeNetworkEvent call generated, using the method as the handler, /// with the event type inferred from the method signature. ///
/// For this to work, the annotated method must be compatible with one of the following delegate types: /// ///
/// Note that this is not any different from the normal requirements to use EntitySystem.SubscribeNetworkEvent. [AttributeUsage(AttributeTargets.Method)] [MeansImplicitUse] public sealed class SubscribeNetworkEventAttribute : Attribute; /// This attribute indicates that the annotated method is a handler for an event subscription. Methods annotated with /// this attribute will have a EntitySystem.SubscribeAllEvent call generated, using the method as the handler, /// with the event type inferred from the method signature. ///
/// For this to work, the annotated method must be compatible with one of the following delegate types: /// ///
/// Note that this is not any different from the normal requirements to use EntitySystem.SubscribeAllEvent. [AttributeUsage(AttributeTargets.Method)] [MeansImplicitUse] public sealed class EventSubscriptionAttribute : Attribute;