Urho3D子系统

通过使用函数RegisterSubsystem(),任何对象都可以作为子系统注册到上下文中。然后,通过调用GetSubsystem(),同一上下文中的任何其他对象都可以访问它们。每个对象类型只能有一个实例作为子系统存在。

发动机初始化后,以下子系统将始终存在:

  • Time:管理帧更新、帧数和经过时间计数,并控制操作系统低分辨率计时器的频率。
  • WorkQueue:在工作线程中执行后台任务。
  • FileSystem:提供目录操作。
  • Log:提供日志记录服务。
  • ResourceCache:加载资源并保持缓存以供以后访问。
  • NetWork:提供UDP网络和场景复制。
  • Input:处理键盘和鼠标输入。将在无头模式下处于非活动状态。
  • UI:图形用户界面。将在无头模式下处于非活动状态。
  • Audio:提供声音输出。如果禁用声音,则将处于非活动状态。
  • Engine:创建其他子系统并控制主循环迭代和帧速率限制。

以下子系统是可选的,因此如果尚未创建,GetSubsystem()可能返回null:

  • Profiler:使用操作系统性能计数器提供分层函数执行时间测量。如果在中编译了评测,则存在(可从根CMakeLists.txt配置)
  • EventProfiler:与事件探查器相同。
  • Graphics:管理应用程序窗口、渲染上下文和资源。如果不处于无头模式,则存在。
  • Renderer:在3D中渲染场景并管理渲染质量设置。如果不处于无头模式,则存在。
  • Script:提供AngelScript执行环境。需要手动创建和注册。
  • Console::提供交互式AngelScript控制台和日志显示。通过调用CreateConsole()创建。
  • DebugHud:显示渲染模式信息、统计信息和分析数据。通过调用CreateDebugHud()创建。
  • Database:管理数据库连接。在构建库时,需要启用数据库支持的构建选项。

在脚本中,子系统通过以下全局财产可用:Time、fileSystem、log、缓存、网络、输入、ui、音频、引擎、图形、渲染器、脚本、控制台、debugHud、数据库。请注意,由于WorkQueue和Profiler的低级性质,它们不可用于脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘小舟舟,游大世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值