2013年5月26日 星期日

原生屬性定義語法

當你需要在UnrealScript類別中定義非UnrealScript型別的欄位時,就會需要使用原生屬性語法,當然你只能在原生類別中定義原生屬性。在此所謂的原生即指C++,也就是說可以使用C++型別來定義屬性。當然因為畢竟UnrealScript還是認不得這些型別,所以不能在UnrealScript中去呼叫這些原生屬性的C++函式,通常是透過原生函式來操作。

原生屬性定義大致上是利用大括號指定C++型別:
var native pointer property_name{ pointee_type };
先來看最簡單的例子:
var native pointer          pv;
上面pv的C++型別其實就是void*。
也可以在屬性名稱右邊加個大括號指定C++型別。例如:
var native pointer          pfile{FILE};
上面pfile的C++型別就會是FILE*。
另外pointer也可和array一起使用: