在UnrealScript中,常數實際上是用一個編成位元組碼(byte code)的指令代表。要自訂新的常數,大致上需要以下的步驟:
- 找一個還未使用的位元組碼當作自訂的常數指令碼
- 如果這個常數需要使用新的名稱,可以在UnNames.h註冊新的名字
- 修改UByteCodeSerializer使得新增的指令可以正確地序列化
- 撰寫對應的函式並且註冊到GNatives
- 修改FTokenBase使解析器可以記錄新的常數型別
- 修改FScriptCompiler讓編譯器認得新的指令
function TestOutBool(out bool Bool);編譯器會回報"Booleans may not be out parameters"。
function TestOutBoolArray(out array<bool> Array);
var native pointer property_name{ pointee_type };先來看最簡單的例子:
var native pointer pv;上面pv的C++型別其實就是void*。
var native pointer pfile{FILE};上面pfile的C++型別就會是FILE*。