В начале моей игры случайным образом создается игровой объект из массива. Я хочу сделать серию операторов if, утверждающих, что, если конкретный номер c из массива создан, тогда он будет выполнять функцию, специфицирующую c для объекта, созданного, но я потерпел неудачу. Например, если создается экземпляр объекта 2 из массива, он будет делать что-то вроде красного экрана, а если объект 3 создается, то экран станет фиолетовым.
Пока я пробовал много вещей, но это было самое последнее:
for (int i = 0; i < length; i++)
{
if (playerPrefab[0])
{
Debug.Log("weiner");
}
}
Вот некоторые из моих других кодов
public GameObject[] playerPrefab;
public GameObject[] enemyPrefab;
public Transform playerSpawn;
public Transform enemySpawn;
Unit playerUnit;
Unit enemyUnit;
public BattleHUD playerHUD;
public BattleHUD enemyHUD;
public BattleState state;
void Start()
{
state = BattleState.START;
StartCoroutine(SetupBattle());
}
IEnumerator SetupBattle()
{
randomInt = Random.Range(0, playerPrefab.Length);
GameObject playerGO = Instantiate(playerPrefab[randomInt], playerSpawn);
playerUnit = playerGO.GetComponent<Unit>();
randomInt = Random.Range(0, enemyPrefab.Length);
GameObject enemyGO = Instantiate(enemyPrefab[randomInt], enemySpawn);
enemyUnit = enemyGO.GetComponent<Unit>();