Вам необходимо присвоить newGO
значение в каждом потоке выполнения, поэтому используйте случай по умолчанию, в котором вы выбрасываете исключение, если аргумент type
должен быть либо "A"
, либо "B"
, а newGO
никогда не должноnull, или просто установите его в null, если это возможно.
Это должно работать:
GameObject newGO;
switch(type)
{
case "A":
newGO= functionWhichReturnsGameObjectWithTypeA();
break;
case "B":
newGO= functionWhichReturnsGameObjectWithTypeB();
break;
default:
throw new ArgumentException("Unexpected argument");
}
или:
default:
return null;