Ссылка на объекты в векторе объектов - PullRequest
0 голосов
/ 02 мая 2018
  1. Мне нужно создать вектор или список объектов (что позволит мне это сделать).
  2. Создание объекта и добавление его в вектор или список объектов.
  3. Мне нужно ссылаться на объект в векторе объектов (или в списке объектов) и ссылаться на компонент этого объекта, чтобы инициализировать переменную, хранящуюся в Game Manager.

Примечание: это не домашнее задание или работа, связанная с. Это личная игровая механика, над которой я работаю. Я могу выполнить один и два. Три, где я застрял. Я не уверен, использовать ли вектор или список, и я не знаю, как ссылаться на определенный объект в этом векторе или списке в Unity C # (используя MonoDevelop) (шаблон Singleton).

instance = Instantiate (prefab, spawnPoint.position, spawnPoint.rotation); 
instance.GetComponent<Camera> ().enabled = false; 
cameraTwo = instance.GetComponent<Camera> (); 

Переменная cameraTwo должна быть установлена ​​для компонента объекта в векторе или списке.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

List [0] .GetComponent (); Задача решена. Спасибо за ваши ответы.

0 голосов
/ 02 мая 2018

Элементы в моем списке содержат компоненты камеры, к которым мне нужно получить доступ. Проблема заключается в том, чтобы указывать на этот конкретный объект, чтобы получить его компонент.

Вы можете использовать System.Linq для поиска элементов, имеющих компонент «Камера».

using System.Linq;
...
List<GameObject> myList = new List<GameObject>();
public GameObject GetGameObjectWithCameraComponent() {
    return myList.FirstOrDefault(item => item.GetComponent<Camera>() != null);
}

public IEnumerable<GameObject> GetAllGameObjectsWithCameraComponent() {
    return myList.Where(item => item.GetComponent<Camera>() != null);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...