1- using GameFrameX . Core . Abstractions . Agent ;
2-
3- namespace GameFrameX . Core . Abstractions ;
4-
5- /// <summary>
6- /// IActor 接口定义
7- /// </summary>
8- public interface IActor : IWorker
9- {
10- /// <summary>
11- /// 获取或设置 IActor 的唯一标识
12- /// </summary>
13- long Id { get ; set ; }
14-
15- /// <summary>
16- /// 获取是否自动回收
17- /// </summary>
18- bool AutoRecycle { get ; }
19-
20- /// <summary>
21- /// 获取工作 Actor
22- /// </summary>
23- IWorkerActor WorkerActor { get ; }
24-
25- /// <summary>
26- /// 获取订阅的哈希列表
27- /// </summary>
28- HashSet < long > ScheduleIdSet { get ; }
29-
30- /// <summary>
31- /// 获取或设置 Actor 类型
32- /// </summary>
33- ushort Type { get ; set ; }
34-
35- /// <summary>
36- /// 清理全部代理
37- /// </summary>
38- void ClearAgent ( ) ;
39-
40- /// <summary>
41- /// 反激活所有组件
42- /// </summary>
43- /// <returns>一个表示异步操作的任务</returns>
44- Task Inactive ( ) ;
45-
46- /// <summary>
47- /// 根据组件类型获取对应的 IComponentAgent
48- /// </summary>
49- /// <param name="agentType">组件类型</param>
50- /// <returns>一个表示异步操作的任务,返回 IComponentAgent 实例</returns>
51- Task < IComponentAgent > GetComponentAgent ( Type agentType ) ;
52-
53- /// <summary>
54- /// 根据组件类型获取对应的 IComponentAgent
55- /// </summary>
56- /// <typeparam name="T">组件类型</typeparam>
57- /// <returns>一个表示异步操作的任务,返回指定类型的 IComponentAgent 实例</returns>
58- Task < T > GetComponentAgent < T > ( ) where T : IComponentAgent ;
59-
60- /// <summary>
61- /// 设置自动回收标记
62- /// </summary>
63- /// <param name="autoRecycle">是否自动回收</param>
64- void SetAutoRecycle ( bool autoRecycle ) ;
65-
66- /// <summary>
67- /// Actor 跨天处理
68- /// </summary>
69- /// <param name="serverDay">服务器运行天数</param>
70- /// <returns>一个表示异步操作的任务</returns>
71- Task CrossDay ( int serverDay ) ;
1+ using GameFrameX . Core . Abstractions . Agent ;
2+
3+ namespace GameFrameX . Core . Abstractions ;
4+
5+ /// <summary>
6+ /// IActor 接口定义
7+ /// </summary>
8+ public interface IActor : IWorker
9+ {
10+ /// <summary>
11+ /// 获取或设置 IActor 的唯一标识
12+ /// </summary>
13+ long Id { get ; set ; }
14+
15+ /// <summary>
16+ /// 获取是否自动回收
17+ /// </summary>
18+ bool AutoRecycle { get ; }
19+
20+ /// <summary>
21+ /// 获取工作 Actor
22+ /// </summary>
23+ IWorkerActor WorkerActor { get ; }
24+
25+ /// <summary>
26+ /// 获取订阅的哈希列表
27+ /// </summary>
28+ HashSet < long > ScheduleIdSet { get ; }
29+
30+ /// <summary>
31+ /// 获取或设置 Actor 类型
32+ /// </summary>
33+ ushort Type { get ; set ; }
34+
35+ /// <summary>
36+ /// 清理全部代理
37+ /// </summary>
38+ void ClearAgent ( ) ;
39+
40+ /// <summary>
41+ /// 反激活所有组件
42+ /// </summary>
43+ /// <returns>一个表示异步操作的任务</returns>
44+ Task Inactive ( ) ;
45+
46+ /// <summary>
47+ /// 根据组件类型获取对应的 IComponentAgent
48+ /// </summary>
49+ /// <param name="agentType">组件类型</param>
50+ /// <param name="isNew">是否当获取为空的时候默认创建,默认值为true</param>
51+ /// <returns>一个表示异步操作的任务,返回 IComponentAgent 实例</returns>
52+ Task < IComponentAgent > GetComponentAgent ( Type agentType , bool isNew = true ) ;
53+
54+ /// <summary>
55+ /// 根据组件类型获取对应的 IComponentAgent
56+ /// </summary>
57+ /// <typeparam name="T">组件类型</typeparam>
58+ /// <param name="isNew">是否当获取为空的时候默认创建,默认值为true</param>
59+ /// <returns>一个表示异步操作的任务,返回指定类型的 IComponentAgent 实例</returns>
60+ Task < T > GetComponentAgent < T > ( bool isNew = true ) where T : IComponentAgent ;
61+
62+ /// <summary>
63+ /// 设置自动回收标记
64+ /// </summary>
65+ /// <param name="autoRecycle">是否自动回收</param>
66+ void SetAutoRecycle ( bool autoRecycle ) ;
67+
68+ /// <summary>
69+ /// Actor 跨天处理
70+ /// </summary>
71+ /// <param name="serverDay">服务器运行天数</param>
72+ /// <returns>一个表示异步操作的任务</returns>
73+ Task CrossDay ( int serverDay ) ;
7274}
0 commit comments