Scene 类
表示一个场景实体,用于创建与管理特定的游戏场景信息。
继承成员
命名空间: Fantasy
程序集: Fantasy.Net.dll
语法
public class Scene : Entity, IEntity, IDisposable, IPool
属性
| 编辑本文 查看源代码CoroutineLockComponent
Scene下的协程锁组件
声明
public CoroutineLockComponent CoroutineLockComponent { get; }
属性值
类型 | 描述 |
---|---|
CoroutineLockComponent |
EntityComponent
Scene下的ESC系统组件
声明
public EntityComponent EntityComponent { get; }
属性值
类型 | 描述 |
---|---|
EntityComponent |
EntityIdFactory
Entity实体Id的生成器
声明
public EntityIdFactory EntityIdFactory { get; }
属性值
类型 | 描述 |
---|---|
EntityIdFactory |
EventComponent
Scene下的事件系统组件
声明
public EventComponent EventComponent { get; }
属性值
类型 | 描述 |
---|---|
EventComponent |
MessagePoolComponent
Scene下的网络消息对象池组件
声明
public MessagePoolComponent MessagePoolComponent { get; }
属性值
类型 | 描述 |
---|---|
MessagePoolComponent |
NetworkMessagingComponent
Scene下的内网消息发送组件
声明
public NetworkMessagingComponent NetworkMessagingComponent { get; }
属性值
类型 | 描述 |
---|---|
NetworkMessagingComponent |
Process
所在的Process
声明
public Process Process { get; }
属性值
类型 | 描述 |
---|---|
Process |
RuntimeIdFactory
Entity实体RuntimeId的生成器
声明
public RuntimeIdFactory RuntimeIdFactory { get; }
属性值
类型 | 描述 |
---|---|
RuntimeIdFactory |
SceneConfigId
SceneConfig的Id
声明
public uint SceneConfigId { get; }
属性值
类型 | 描述 |
---|---|
uint |
SceneType
Scene类型,对应SceneConfig的SceneType
声明
public int SceneType { get; }
属性值
类型 | 描述 |
---|---|
int |
SingleCollectionComponent
Scene下的Entity分表组件
声明
public SingleCollectionComponent SingleCollectionComponent { get; }
属性值
类型 | 描述 |
---|---|
SingleCollectionComponent |
TimerComponent
Scene下的任务调度器系统组件
声明
public TimerComponent TimerComponent { get; }
属性值
类型 | 描述 |
---|---|
TimerComponent |
World
所属的世界
声明
public World World { get; }
属性值
类型 | 描述 |
---|---|
World |
方法
| 编辑本文 查看源代码AddEntity(Entity)
添加一个实体到当前Scene下
声明
public void AddEntity(Entity entity)
参数
类型 | 名称 | 描述 |
---|---|---|
Entity | entity | 实体实例 |
Create(Process, MachineConfig, SceneConfig)
创建一个新的Scene
声明
public static FTask<Scene> Create(Process process, MachineConfig machineConfig, SceneConfig sceneConfig)
参数
类型 | 名称 | 描述 |
---|---|---|
Process | process | 所属的Process |
MachineConfig | machineConfig | 对应的MachineConfig配置文件 |
SceneConfig | sceneConfig | 对应的SceneConfig配置文件 |
返回
类型 | 描述 |
---|---|
FTask<Scene> | 创建成功后会返回创建的Scene的实例 |
CreateSubScene(Scene, int, Action<Scene, Scene>)
在Scene下面创建一个子Scene,一般用于副本,或者一些特殊的场景。
声明
public static FTask<Scene> CreateSubScene(Scene parentScene, int sceneType, Action<Scene, Scene> onSubSceneComplete)
参数
类型 | 名称 | 描述 |
---|---|---|
Scene | parentScene | 主Scene的实例 |
int | sceneType | SceneType,可以在SceneType里找到,例如:SceneType.Addressable |
Action<Scene, Scene> | onSubSceneComplete | 子Scene创建成功后执行的委托,可以传递null |
返回
类型 | 描述 |
---|---|
FTask<Scene> |
Dispose()
Scene销毁方法,执行了该方法会把当前Scene下的所有实体都销毁掉。
声明
public override void Dispose()
重写
| 编辑本文 查看源代码GetEntity(long)
根据RunTimeId查询一个实体
声明
public Entity GetEntity(long runTimeId)
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId | 实体的RunTimeId |
返回
类型 | 描述 |
---|---|
Entity | 返回的实体 |
GetEntity<T>(long)
根据RunTimeId查询一个实体
声明
public T GetEntity<T>(long runTimeId) where T : Entity
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId | 实体的RunTimeId |
返回
类型 | 描述 |
---|---|
T | 返回的实体 |
类型参数
名称 | 描述 |
---|---|
T | 要查询实体的泛型类型 |
GetSession(long)
根据runTimeId获得Session
声明
public Session GetSession(long runTimeId)
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId |
返回
类型 | 描述 |
---|---|
Session |
异常
类型 | 条件 |
---|---|
Exception |
RemoveEntity(Entity)
删除一个实体,仅是删除不会指定实体的销毁方法
声明
public bool RemoveEntity(Entity entity)
参数
类型 | 名称 | 描述 |
---|---|---|
Entity | entity | 实体实例 |
返回
类型 | 描述 |
---|---|
bool | 返回一个bool值来提示是否删除了这个实体 |
RemoveEntity(long)
删除一个实体,仅是删除不会指定实体的销毁方法
声明
public bool RemoveEntity(long runTimeId)
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId | 实体的RunTimeId |
返回
类型 | 描述 |
---|---|
bool | 返回一个bool值来提示是否删除了这个实体 |
TryGetEntity(long, out Entity)
根据RunTimeId查询一个实体
声明
public bool TryGetEntity(long runTimeId, out Entity entity)
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId | 实体的RunTimeId |
Entity | entity | 实体实例 |
返回
类型 | 描述 |
---|---|
bool | 返回一个bool值来提示是否查找到这个实体 |
TryGetEntity<T>(long, out T)
根据RunTimeId查询一个实体
声明
public bool TryGetEntity<T>(long runTimeId, out T entity) where T : Entity
参数
类型 | 名称 | 描述 |
---|---|---|
long | runTimeId | 实体的RunTimeId |
T | entity | 实体实例 |
返回
类型 | 描述 |
---|---|
bool | 返回一个bool值来提示是否查找到这个实体 |
类型参数
名称 | 描述 |
---|---|
T | 要查询实体的泛型类型 |