Как внести изменения в массив сборников в редакторе, чтобы они отображались в окне игры

Я прикрепил следующий сценарий к пустующему игровому объекту (EnemiesGO) в редакторе.

public class EnemiesScript {

[System.Serializable]
public struct EnemyWithType {
    public EnemyScript enemy;
    public EnemyScript.Type enemyType;
}

public EnemyWithType[] enemyPrefabs;
public EnemyScript[] enemies;

void Start ()
{   
    enemies = new EnemyScript[enemyPrefabs.Length]; 

    for (int i = 0; i < enemyPrefabs.Length; i++)
    {
        enemies[i] = Instantiate<EnemyScript>(enemyPrefabs[i].enemy);
        enemies[i].enemyCategory = enemyPrefabs[i].enemyType;
    }        
}    

}

Когда я заполнял enemyPrefabs (через редактор), я не видел надписи в окне выбора всплывающих окон, поэтому я перетащил их непосредственно из окна «Активы» Assets/Resources/Prefabs/EnemyPrefabs. Мой вопрос в два раза.

  1. Если возможно, как я могу получить заполненный массив enemyPrefabs, который будет отображаться в окне игрового окна /сцены перед тем, как я запустил игра? В общем, я хотел бы видеть изменения, сделанные редактором в игровом окне, прежде чем я запустил игру.
  2. Как я могу получить доступ к папке EnemyPrefabs из окна выбора всплывающих окон?
4 голоса | спросил Hilarious404 17 J0000006Europe/Moscow 2017, 09:13:10

1 ответ


1
  • 1-й вопрос Вы должны добавить [ExecuteInEditMode] в свой класс, проверить этот пример . Кроме того, прочитайте описание, оно объясняет различия в обратных вызовах playmode /editmode;

  • Второй вопрос, вы должны использовать GameObject как тип ваших готовых файлов, чтобы вы могли получить к ним доступ в инспекторе через маленький круг.

[System.Serializable] public struct EnemyWithType { public GameObject enemy; public EnemyScript.Type enemyType; }

[...]

for (int i = 0; i < enemyPrefabs.Length; i++)
    {
        enemies[i] = Instantiate(enemyPrefabs[i].enemy).GetComponent<EnemyScript>();
    }  
ответил Guilherme Junqueira Coutinho 20 J0000006Europe/Moscow 2017, 09:14:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132