2016-12-15 222 views
0

我正在創建Unity編輯器。我有一組標誌的枚舉:第一枚枚舉值爲0時Unity EditorGUILayout.EnumMaskField出現問題

[Flags] 
public enum Flags : int 
{ 
    None = 0x00, 
    First = 0x01, 
    Second = 0x02, 
    Third = 0x04, 
    Fourth = 0x08 
} 

,我想提出一個下拉列表,用戶可不止這些標誌之一選擇。我發現EditorGUILayout.EnumMaskField,並且正在使用它。

默認情況下,它向我展示「Nothing」和「Everything」選項。我不僅不希望他們:他們似乎導致問題對我來說,因爲它提供爲0和我自己的「無」選項也被0拆除「無」標誌的「無」選項不是由於選項在應用程序等原因,既不設置「無」選項比0

別的東西我要創建一組標誌對象的窗口時,初始化所選擇的標誌。在標誌對象,我帶入編輯器中的標誌「第一」,「第二」,但是當EnumMaskField繪製時,「無」和「第一」,而不是被選擇。就好像「無」將是「第一」,而「第一」將是「第二」。

private static Flags myFlags; 

public static MyEditorWindow ShowWindow(Flags flags) 
{ 
    myFlags = flags; 
    ... 
} 

public void OnGUI() 
{ 
    myFlags = (Flags)EditorGUILayout.EnumMaskField("Flags:", myFlags); 
} 

有什麼辦法可以禁用「Nothing」和「Everything」選項嗎?

回答