using System; using UnityEngine; namespace DependencyInjection { [AttributeUsage(AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property)] public sealed class InjectAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Field)] public sealed class RuntimeInjectAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Method)] public sealed class ProvideAttribute : PropertyAttribute { } /// /// Marker interface for MonoBehaviours that provide dependencies to the Injector. /// public interface IDependencyProvider { } }