跳转到内容
CRUSHFORMV1.1.0
在 Fab 上获取

参考子系统与库

UCFDebugModeSubsystem

模块CrushformDebug头文件CFDebugModeSubsystem.h父类ULocalPlayerSubsystem

单个本地玩家的调试模式:自由摄像机、由工具和按钮组成的 Slate 叠加层,以及开启期间阻断输入的组件。任何改变世界的操作都经由该玩家的 ACFDebugRelay 进行,因此由服务器决定。

函数

AUTHORITY · 服务器,每个端LOCAL · 本机PURE · 只读
bool IsActive() const
PUREC++ ONLY

此玩家的该模式是否已开启。

void Toggle()
C++ ONLY

模式关闭时进入该模式,开启时退出该模式。

void Enter()
C++ ONLY

开启该模式:生成自由摄像机、显示叠加层,并开始屏蔽 Pawn 的输入。若模式已开启,或玩家没有控制器、视口或摄像机管理器,则不执行任何操作。

void Exit()
C++ ONLY

关闭该模式:销毁摄像机、移除叠加层,并恢复输入和光标状态。若模式已关闭,则不执行任何操作。

FCFDebugToolSettings& GetSettings()
C++ ONLY

菜单所编辑的工具设置。

bool IsAiming() const
PUREC++ ONLY

玩家是否按住瞄准键(鼠标右键):摄像机飞行,准星工具进入就绪状态。

UCFDeformComponent* GetTarget() const
PUREC++ ONLY

工具作用的刚体;未选中任何刚体或其已被销毁时为 null。

void SetTarget(UCFDeformComponent* InTarget)
C++ ONLY

选择工具作用的刚体。凹陷速度变化量若超出新目标配置文件的范围,将被限制在该范围内。

void CycleTarget(int32 Step)
C++ ONLY

当 Step > 0 时选择本世界中的下一个刚体,当 Step < 0 时选择上一个,并循环切换。若没有目标,向前切换会选中第一个刚体,向后切换则选中最后一个。

void BeginPick()
C++ ONLY

下一次准星开火将选中一个刚体,然后恢复到之前激活的工具。

FCFDebugTargetInfo GatherTargetInfo() const
PUREC++ ONLY

读取菜单所用的当前目标;没有目标时 bValid 为 false。

bool AreServerToolsAvailable() const
PUREC++ ONLY

服务器是否接受该玩家的世界修改类工具:服务器自身的玩家始终接受,客户端仅在 Crushform.DebugMode.AllowClients 为 1 时接受。

void DamagePreset(ECFDebugDamagePreset Preset)
C++ ONLY

请求服务器用损伤预设击打目标。没有目标时不执行任何操作。

void Repair()
C++ ONLY

请求服务器修复目标。没有目标时不执行任何操作。

void Wash()
C++ ONLY

请求服务器清除目标上的所有污垢。没有目标时不执行任何操作。

void FillDirt(ECFDebugDirtPreset Preset)
C++ ONLY

请求服务器以菜单中设置的污垢量,用预设为目标填充污垢。没有目标时不执行任何操作。

void Drop()
C++ ONLY

请求服务器将目标从菜单设定的高度落下,可选择是否倒置。没有目标时不执行任何操作。

void ResetWorld()
C++ ONLY

请求服务器修复并清洗世界中的每个可形变刚体,清除碎片,并重生道具。

void RespawnProps()
C++ ONLY

请求服务器重生世界中可破坏的树木和围栏单元。

void ClearDebris()
C++ ONLY

请求服务器在每一端清除散落的碎片。

bool IsWorldPaused() const
PUREC++ ONLY

世界是否处于暂停状态,无论通过何种方式。

void SetPaused(bool bPaused)
C++ ONLY

请求服务器暂停或恢复世界。该暂停针对此玩家生效,玩家恢复或退出该模式时解除。

void StepFrame()
C++ ONLY

请求服务器在暂停的世界中运行一帧,然后再次暂停。

float GetTimeDilation() const
PUREC++ ONLY

世界的时间膨胀系数,1 表示正常速度。

void SetTimeDilation(float Dilation)
C++ ONLY

请求服务器设置世界的时间膨胀系数,1 表示正常速度。

bool DoesHoldPause() const
PUREC++ ONLY

世界处于暂停状态,且此玩家的中继保持着该暂停(ACFDebugRelay::DoesHoldPause)。

int32 GetCVarInt(const TCHAR* Name) const
PUREC++ ONLY

按名称获取控制台变量的整数值;若未注册,则为 -1。

void SetCVarInt(const TCHAR* Name, int32 Value)
C++ ONLY

将控制台变量设置为整数值(通过控制台设置)。未注册时不执行任何操作。

void TickMode(float RealDeltaSeconds)
C++ ONLY

摄像机每帧调用一次,即使在暂停的世界中也会调用。

void OnCameraEndPlay()
C++ ONLY

摄像机结束播放时调用。与 Exit() 以任意顺序调用均安全。