FEditorLevelViewportClient
在一般的資源編輯器中,預覽畫面大多是繼承FEditorLevelViewportClient類別加以改寫,它代表用來看預覽畫面的一個視埠,可說是撰寫預覽視窗時的主要框架。其實它不限用於預覽,Matinee編輯器的軌道視窗也是用它寫的。FEditorLevelViewportClient類別並不包括視窗的部分,所以需要把它放進一個視窗。它以虛擬函式的方式提供輸入、繪製、更新的擴充界面。以下列出幾個主要的成員:
| 存放方式 | 固定路徑資源 | ini檔的section方式 | ini檔的屬性預設值方式 |
| 程式存取方式 | 載入物件後存取 | 呼叫存取函式 | 建立物件後存取 |
| 文字檔存取 | 不可 | 可 | 可 |
| 屬性視窗存取 | 可 | 不可 | 可,但需另外寫程式 |
| 執行時期更新 | 可,但需另外寫程式 | 可,但需另外寫程式 | 在遊戲中可用set指令修改 |
set <類別名稱> <屬性名稱> <數值>
for( UProperty* Property = GetClass()->PropertyLink; Property; Property = Property->PropertyLinkNext )
{
...
}
UnrealScript屬性在C++中的對應型別稱為UProperty,它是一個基底類別,依據屬性的型別有各自的具象類別:enum ESoundClassName
{
Master
};
實際上編輯SoundMode時,型別為ESoundClassName的SoundClassName卻會列舉出所有的SoundClass。其實這是因為在C++中可以動態修改UnrealScript的enum。