В начале моей игры случайным образом создается игровой объект из массива. Я хочу сделать серию операторов if, утверждающих, что если создается экземпляр определенного числа из массива, то он будет выполнять функцию, специфичную для созданного объекта, но мне это не удалось. Например, если создается экземпляр объекта 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>();
randomInt
внутри метода SetupBattle(), до или после вызова Instantiate?if (randomInt == 2) { /* Do work here */ }
- person Sean Skelly   schedule 02.04.2020