нужна помощь в создании пула объектов

#c# #unity3d #object

#c# #unity3d #объект

Вопрос:

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

 using JetBrains.Annotations;
using System.Collections; 
using System.Collections.Generic;
using UnityEngine;
public class ObjectPooler : MonoBehaviour
{

public GameObject pooledObject;
public int pooledamnt;
List<GameObject> pooledObjects;
// Start is called before the first frame update
void Start()
{
    pooledObjects = new List<GameObject>();
    for (int i = 0; i < pooledamnt; i  )
    {
        GameObject obj = (GameObject)Instantiate(pooledObject);
        obj.SetActive(false);
        pooledObjects.Add(obj);
    }

}
    public GameObject GetPooledObject()
    {
    for (int i = 0; i < pooledObjects.Count; i  )
    {
        if (pooledObjects[i].activeInHierarchy)
        {
            return pooledObjects[i];
        }
    }
            GameObject obj = (GameObject)Instantiate(pooledObject);
            obj.SetActive(false);
            pooledObjects.Add(obj);
            return obj;
        
    }

   

// Update is called once per frame
void Update()
{
   
}
}
  

вся помощь приветствуется.

Ответ №1:

В Unity для каждого макета, который вы хотите, вы можете создавать префабы со своими объектами вручную. Создайте пустой объект и сделайте из него дочерние объекты ground objects. Затем назначьте их

Нравится:

 public List<GameObject> pooledObjects;