1- namespace GameFrameX . Core . Abstractions . Agent ;
2-
3- /// <summary>
4- /// 组件代理接口
5- /// </summary>
6- public interface IComponentAgent : IWorker
7- {
8- /// <summary>
9- /// 获取Actor的唯一标识
1+ namespace GameFrameX . Core . Abstractions . Agent ;
2+
3+ /// <summary>
4+ /// 组件代理接口
5+ /// </summary>
6+ public interface IComponentAgent : IWorker
7+ {
8+ /// <summary>
9+ /// 获取Actor的唯一标识
1010 /// <remarks>
1111 /// 用于唯一标识一个Actor实例的ID值
1212 /// </remarks>
13- /// </summary>
14- long ActorId { get ; }
15-
16- /// <summary>
17- /// 获取或设置组件的所有者
13+ /// </summary>
14+ long ActorId { get ; }
15+
16+ /// <summary>
17+ /// 获取或设置组件的所有者
1818 /// <remarks>
1919 /// 表示当前组件所属的父级组件实例
2020 /// </remarks>
21- /// </summary>
22- IComponent Owner { get ; }
23-
24- /// <summary>
25- /// 获取所有者的类型
21+ /// </summary>
22+ IComponent Owner { get ; }
23+
24+ /// <summary>
25+ /// 获取所有者的类型
2626 /// <remarks>
2727 /// 表示所有者组件的类型标识,使用ushort类型存储
2828 /// </remarks>
29- /// </summary>
30- ushort OwnerType { get ; }
31-
32- /// <summary>
33- /// 设置组件的所有者
34- /// </summary>
29+ /// </summary>
30+ ushort OwnerType { get ; }
31+
32+ /// <summary>
33+ /// 设置组件的所有者
34+ /// </summary>
3535 /// <param name="owner">所有者组件实例</param>
3636 /// <remarks>
3737 /// 用于设置或更改当前组件的所有者,建立组件间的从属关系
3838 /// </remarks>
39- void SetOwner ( IComponent owner ) ;
40-
41- /// <summary>
42- /// 激活组件代理
39+ void SetOwner ( IComponent owner ) ;
40+
41+ /// <summary>
42+ /// 激活组件代理
4343 /// <remarks>
4444 /// 用于初始化并启用组件代理的功能
4545 /// </remarks>
46- /// </summary>
47- void Active ( ) ;
48-
49- /// <summary>
50- /// 反激活组件代理
51- /// </summary>
52- /// <returns>一个表示异步操作的任务</returns>
46+ /// </summary>
47+ void Active ( ) ;
48+
49+ /// <summary>
50+ /// 反激活组件代理
51+ /// </summary>
52+ /// <returns>一个表示异步操作的任务</returns>
5353 /// <remarks>
5454 /// 用于停用组件代理并清理相关资源,这是一个异步操作
5555 /// </remarks>
56- Task Inactive ( ) ;
57-
58- /// <summary>
59- /// 根据代理类型获取代理组件
60- /// </summary>
61- /// <param name="agentType">代理类型</param>
62- /// <returns>代理组件</returns>
63- public Task < IComponentAgent > GetComponentAgent ( Type agentType ) ;
64-
65- /// <summary>
66- /// 根据泛型代理类型获取代理组件
67- /// </summary>
68- /// <typeparam name="T">代理组件的类型</typeparam>
69- /// <returns>代理组件</returns>
70- public Task < T > GetComponentAgent < T > ( ) where T : IComponentAgent ;
56+ Task Inactive ( ) ;
57+
58+ /// <summary>
59+ /// 根据代理类型获取代理组件
60+ /// </summary>
61+ /// <param name="agentType">代理类型</param>
62+ /// <param name="isNew">是否创建新实例,默认为true</param>
63+ /// <returns>代理组件实例</returns>
64+ /// <remarks>
65+ /// 通过Type类型参数获取或创建对应的组件代理实例
66+ /// </remarks>
67+ public Task < IComponentAgent > GetComponentAgent ( Type agentType , bool isNew = true ) ;
68+
69+ /// <summary>
70+ /// 根据泛型代理类型获取代理组件
71+ /// </summary>
72+ /// <typeparam name="T">代理组件的类型</typeparam>
73+ /// <param name="isNew">是否创建新实例,默认为true</param>
74+ /// <returns>指定类型的代理组件实例</returns>
75+ /// <remarks>
76+ /// 泛型方法版本,用于获取或创建指定类型的组件代理实例
77+ /// </remarks>
78+ public Task < T > GetComponentAgent < T > ( bool isNew = true ) where T : IComponentAgent ;
7179}
0 commit comments