Как вы запускаете событие, когда конкретный c объект из массива создается? - PullRequest
0 голосов
/ 02 апреля 2020

В начале моей игры случайным образом создается игровой объект из массива. Я хочу сделать серию операторов 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>();

1 Ответ

0 голосов
/ 02 апреля 2020

Шон Скелли ответил на вопрос

"Как насчет выполнения проверки if сразу после присвоения значения randomInt внутри метода SetupBattle (), до или после вызова Instantiate? If (randomInt == 2) { / * Работай здесь * /} "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...