2013年9月19日 星期四

自訂UnrealScript常數

UnrealScript跟其他程式語言一樣,有提供常數這個語言構件,本篇來介紹一下要怎麼擴充自訂的常數型別。

在UnrealScript中,常數實際上是用一個編成位元組碼(byte code)的指令代表。要自訂新的常數,大致上需要以下的步驟:
  • 找一個還未使用的位元組碼當作自訂的常數指令碼
  • 如果這個常數需要使用新的名稱,可以在UnNames.h註冊新的名字
  • 修改UByteCodeSerializer使得新增的指令可以正確地序列化
  • 撰寫對應的函式並且註冊到GNatives
  • 修改FTokenBase使解析器可以記錄新的常數型別
  • 修改FScriptCompiler讓編譯器認得新的指令