2015-04-06 185 views
0

,因爲它是有道理的,我想用腳本的工作,這樣的事情時要使用的接口一樣多:設置屬性

但使用這種方法時,實現接口的類不顯示在檢查這些屬性和我結束了這樣的事情:

public class TestConsumable : MonoBehaviour, IConsumable 
{ 
    public Sprite Icon { get { return IconSprite; } set { IconSprite = value; } } 

    // Hack just to show up in Editor 
    public Sprite IconSprite; 
} 

這並沒有真正意義的我,我希望有一個更好的解決方案。

側面說明,我沒有使用專門用於接口也爲一些驗證等

由於getter/setter方法!

回答

1

默認情況下,get/set屬性不會顯示在編輯器中。您需要使用「[SerializeField]」屬性標記它們才能在編輯器中使用它們。原因是統一隻會顯示可以保存的類型。

public class TestConsumable : MonoBehaviour, IConsumable 
{ 
[SerializeField] 
private Sprite icon; 
public Sprite Icon { get { return icon; } set { icon = value; } }  
} 
+0

剛試過。仍然不起作用。該物業仍然不顯示與getters/setters。 –

+0

試試我上面編輯的代碼... –

+0

我剛剛做過。你是否?它不會在編輯器中顯示出來... –