Допустим, у меня есть такой код
[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
делает ошибку, потому что тип является переменным, а не Тип. Как мне справиться с этим?
Также извините за то, что задали два вопроса в одном сообщении, я сделаю еще один для второго, если это необходимо.