2013年2月28日 星期四

自訂運算子符號

先前有提過如何自訂運算子,如果想進一步自訂UnrealScript沒有支援的運算子符號時,那該怎麼做呢?雖然UnrealScript沒有提供自訂運算子符號的功能,不過其實只要稍微修改一下解析運算子符號的程式碼就可以了。例如如果想要增加一個目前UnrealScript沒有支援的運算子&=:
   
native static final operator int &= ( out int A, int B );
只要修改一下FScriptCompiler的GetToken()函式,增加辨識&=符號即可。

2013年2月25日 星期一

Unreal的通用combo box對話窗

當撰寫編輯器,需要讓使用者先選擇一個選項再進行後續步驟時,可以使用UEd提供WxDlgGenericComboEntry類別,叫出一個combo box對話窗。例如AnimSetViewer選取LOD和bone時,都是利用WxDlgGenericComboEntry來達成。

TArray<FString> Options;
// Add option strings
Options.AddItem( TEXT("Option1") );
Options.AddItem( TEXT("Option2") );
Options.AddItem( TEXT("Option3") );

WxDlgGenericComboEntry Dialog;

if( Dialog.ShowModal( TEXT("MyTitle"), TEXT("MyCaption"), Options, 0, TRUE ) == wxID_OK )
{
    ...
}