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的唯一标识
10
10
/// <remarks>
11
11
/// 用于唯一标识一个Actor实例的ID值
12
12
/// </remarks>
13
- /// </summary>
14
- long ActorId { get ; }
15
-
16
- /// <summary>
17
- /// 获取或设置组件的所有者
13
+ /// </summary>
14
+ long ActorId { get ; }
15
+
16
+ /// <summary>
17
+ /// 获取或设置组件的所有者
18
18
/// <remarks>
19
19
/// 表示当前组件所属的父级组件实例
20
20
/// </remarks>
21
- /// </summary>
22
- IComponent Owner { get ; }
23
-
24
- /// <summary>
25
- /// 获取所有者的类型
21
+ /// </summary>
22
+ IComponent Owner { get ; }
23
+
24
+ /// <summary>
25
+ /// 获取所有者的类型
26
26
/// <remarks>
27
27
/// 表示所有者组件的类型标识,使用ushort类型存储
28
28
/// </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>
35
35
/// <param name="owner">所有者组件实例</param>
36
36
/// <remarks>
37
37
/// 用于设置或更改当前组件的所有者,建立组件间的从属关系
38
38
/// </remarks>
39
- void SetOwner ( IComponent owner ) ;
40
-
41
- /// <summary>
42
- /// 激活组件代理
39
+ void SetOwner ( IComponent owner ) ;
40
+
41
+ /// <summary>
42
+ /// 激活组件代理
43
43
/// <remarks>
44
44
/// 用于初始化并启用组件代理的功能
45
45
/// </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>
53
53
/// <remarks>
54
54
/// 用于停用组件代理并清理相关资源,这是一个异步操作
55
55
/// </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 ;
71
79
}
0 commit comments