如何禁用多个组件Unity 3d c#

时间:2017-03-09 12:08:58

标签: c# unity3d 3d

如何禁用gameobject的多个组件?

Declare these on onCreate method
TextView Theory =
            (TextView) findViewById(R.id.Theory);
    TextView TheoryMarks =
            (TextView) findViewById(R.id.TheoryMarks);
    TextView Practical =
            (TextView) findViewById(R.id.Practical);
    TextView PracticalMarks =
            (TextView) findViewById(R.id.PracticalMarks);
vote if it is helpful.

那个例子

public void SaveComponents(GameObject obj, out List<Package> lista)
{
    print("SAVE");
    //Pobieramy wszystkie komponenty z obiektu
    Component[] components = obj.GetComponents(typeof(Component));
}

不适合我,'启用'它不可用:/

1 个答案:

答案 0 :(得分:2)

这是因为Component没有名为enable的字段。此字段位于Behaviour MonoBehaviour的父类中。

因此,如果要禁用所有组件,则必须禁用父{​​{1}},但如果要禁用自己数据类型的组件,请使用:

GameObject

“Component [] components = obj.GetComponents(typeof(Component));&lt; ---这是我的数组,我想禁用我的数组的选定元素”

public void SaveComponents(GameObject obj, out List<Package> lista)
{
    print("SAVE");
    //Pobieramy wszystkie komponenty z obiektu
    foreach(Behaviour behaviour in obj.GetComponents<Behaviour>()){
        behaviour.enabled = false;
    }
}