2013年10月17日 星期四

自訂UnrealScript型別轉換

UnrealScript跟其他程式語言一樣,有型別轉換的功能。每個型別轉換對應到一個轉換指令,可在一個二維全域陣列GConversions中查表找出對應的指令代碼,再到全域函式指標陣列GCasts中找到對應的轉換函式。

如果要自訂型別轉換,大致需要以下步驟:
  • 在列舉型別ECastToken中新增一個成員代表這個轉換指令。
  • GConversions的第一個索引是目標型別,第二個索引是來源型別。我們需要修改對應的GConversions元素成自訂的轉換指令。
  • 撰寫對應的轉換函式並且註冊到GCasts。
 

範例


本例示範如何新增一個從物件轉成名稱的型別轉換,轉換後變成該物件的名稱。首先新增CST_ObjectToName代表這個轉換: