// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 namespace GFramework.Core.SourceGenerators.Abstractions.Rule; /// /// 标记字段需要自动注入系统集合。 /// /// /// Source Generator 会为标记字段生成从当前架构上下文收集系统实例的注入代码,用于避免在组件内部重复书写 /// GetSystems() 一类的样板访问逻辑。 /// 被标记字段应声明为可承载多个系统实例的类型,例如 IEnumerable<ISystem> 或兼容集合接口。 /// /// /// /// public partial class CombatPanel : IContextAware /// { /// [GetSystems] /// private IEnumerable<ISystem> _systems = Array.Empty<ISystem>(); /// } /// /// [AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)] public sealed class GetSystemsAttribute : Attribute { }