Как сделать дочерние переменные видимыми в инспекторе [unity3d] - PullRequest
0 голосов
/ 24 октября 2019

Допустим, у меня есть такой код

[System.Serializable]
public class Parent
{
    public int var1;
}
[System.Serializable]
public class Child1 : Parent
{
    public int child1Var;
}
[System.Serializable]
public class Child2 : Parent
{
    public int child2Var;
}

И у меня есть класс, у которого есть список класса Parent, например

public class Container
{
    public List<Parent> ParentList;
}

Я могу добавить Child1 или Child2 в ParentList с помощьюParentList.Add(new Child1()) но единственное, что я вижу в инспекторе, это var1. Как я могу решить эту проблему? Также, как я должен справиться с ситуацией, когда у меня есть 100 дочерних классов, и я хотел бы добавить конкретный класс в список? Я имею в виду, как я могу автоматизировать это, я попытался с

System.Type type = //some code which gets proper System.Type from string,Type dictionary
ParentList.Add(System.Activator.CreateInstance(type) as type);

, но as type делает ошибку, потому что тип является переменным, а не Тип. Как мне справиться с этим?

Также извините за то, что задали два вопроса в одном сообщении, я сделаю еще один для второго, если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...