指定的方法是透過設定UnrealScript的EditCondition元資料。以下程式碼展示如何設定EditCondition元資料:
class TestEditCondition extends Object; var() bool bSwitch1; var() int Int1 <EditCondition = bSwitch1>; var bool bSwitch2; var() int Int2 <EditCondition = bSwitch2>;下圖是當以上布林屬性為false時,屬性視窗的外觀:
可以看到沒有打小括弧的bSwitch2,雖然本身不可編輯,但因為指定為Int2的EditCondition,所以在Int2屬性控制項左方出現一個checkbox代替。這樣反而比bSwitch1和Int1要來的乾淨俐落,只用一行就可以顯示兩個屬性。
不過當有多個屬性指定同一個布林屬性為EditCondition時,開關checkbox也會造成其他連動的checkbox一起變更,可能會造成使用者的困擾。所以在這種情況還是把布林屬性設為可編輯,讓它出現在屬性視窗上,較為明瞭。
沒有留言:
張貼留言