Я пытаюсь заполнить список игровых объектов, которые я создаю каждые X секунд. Этот список создается в одном классе (PickUpWeapons
) как таковой:
//list of weapons spawned over the course of the game
public List<GameObject> weaponsToPickUp = new List<GameObject>();
И в моем классе, где я создаю оружие (SpawnObjects
), я заполняю этот список как таковой: PickUpWeapons pickUp; //reference to pickUpWeapons class
//instanciate
private void Start() {
//generate instance of the pool
objectPooler = ObjectPooler.Instance;
pickUp = gameObject.AddComponent<PickUpWeapons>(); //instanciate the class
//pickUp.weaponsToPickUp = new List <GameObject>();
}
private void FixedUpdate() {
//only spawn objects if it is time
if (Time.time > nextSpawnTime) {
//update next spawn time
nextSpawnTime = Time.time + spawnRateWeapons;
//where we spawn the weapons
float randomXPos = Random.Range(- xMax, xMax);
whereToSpawn = new Vector2(randomXPos, transform.position.y);
//generate object
GameObject bullet = ObjectPooler.Instance.SpawnFromPool("Bullet", whereToSpawn, Quaternion.identity);
//freeze its position on X only
bullet.GetComponent<Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezePositionX;
//add weapon generated as a potentially picked up weapon
pickUp.weaponsToPickUp.Add(bullet);
Debug.Log(pickUp.weaponsToPickUp.Count);
}
}
}
В этом классе (SpawnObjects) pickUp.weaponsToPickUp
не является пустым, и Журнал не указывает на увеличение размера weaponsToPickUp
. Однако, вернувшись в класс PickUpWeapons
, этот список теперь пуст.
Кто-нибудь знает, что я могу сделать, чтобы решить эту проблему?