Проблема в том, что вы пытаетесь установить родителей кубических и круговых префабов вместо реальных объектов куба и круга, которые вы создаете.Замените ваш оператор switch следующим:
switch(whatToSpawn)
{
case 1:
GameObject myCube = (GameObject)Instantiate(cube, transform.position, Quaternion.identity);
myCube.transform.parent = transform;
break;
case 2:
GameObject myCircle = (GameObject)Instantiate(circle, transform.position, Quaternion.identity);
myCircle.transform.parent = transform;
break;
}
Преобразование функции Instantiate
в (GameObject)
возвращает ссылку на объект, который вы только что создали.
Примечание : Как упоминалось в Draco18, более эффективно перегрузить Instantiate
напрямую с родителем, как показано ниже:
switch(whatToSpawn)
{
case 1:
Instantiate(cube, transform.position, Quaternion.identity, transform);
break;
case 2:
Instantiate(circle, transform.position, Quaternion.identity, transform);
break;
}