学习记录UE学习过程中的知识点
一些开发过程中的注意事项
- 有些方法之声明没有定义的话会无法变异通过
- 使用了UE宏声明的方法,要有具体的定义
- 继承自UObject类的不能有纯虚函数,要用UClass宏标记为抽象的(因为UE的反射系统需要创建一个基本的Class*的Object,如果是纯虚的话就和c++语法冲突无法编译)
FTimerManager
单例,用于管理整个场景中的计时器,
目前用到的有
void ClearAllTimersForObject(void const *object) // 清楚给定对象的所有的对象
float GetTimerRemaining(FTimerHandle InHandle) // 获取调用计时器之前的剩余时间
void PauseTimer(FTimerHandle InHandle) // 暂停先前设置的计时器
void UnPauseTiemr(FTimerHandle InHandle) // 取消暂定先前暂停的计时器
FTimerHandle
用来区分具有相同委托计时器的唯一Hnadle
友元类是FTimerManager
友元结构体是FTimerHeapOrder
拥有以下方法
/** True if this handle was ever initialized by the timer manager */
bool IsValid() const
/** Explicitly clear handle */
void Invalidate()
Uint8 Uint32等
用于把平台相关的类型,转换为全局的变量
GetDefault()
模板方法,获得指定类的默认object,有两种形式。
引用其他的插件模块
1,如引用Paper2D:
首先要在build.cs中添加模块如下
PublicDependencyModuleNames.AddRange(new string[] { “Core”, “CoreUObject”, “Engine”, “InputCore”, “RenderCore”, “Paper2D” });
然后要重新生成一下解决方案,不然编译不通过显示连接错误