Hi
I have a script where list is creating dynamically. From another script, how can i update the variable values highlighted in the screenshot.
[138971-objectpooler.png*_|138971]
[System.Serializable]
public class ObjectPoolItem
{
public GameObject objectToPool;
public int amountToPool;
public bool shouldExpand;
}
public class ObjectPooler : MonoBehaviour {
public static ObjectPooler SharedInstance;
public List<GameObject> pooledObjects;
public List<ObjectPoolItem> itemsToPool;
void Awake()
{
SharedInstance = this;
}
void Start()
{
pooledObjects = new List<GameObject>();
foreach (ObjectPoolItem item in itemsToPool)
{
for (int i = 0; i < item.amountToPool; i++)
{
GameObject obj = (GameObject)Instantiate(item.objectToPool);
obj.SetActive(false);
pooledObjects.Add(obj);
}
}
}
public GameObject GetPooledObject(string tag)
{
for (int i = 0; i < pooledObjects.Count; i++)
{
if (!pooledObjects_.activeInHierarchy && pooledObjects*.tag == tag)*_
{
return pooledObjects*;*
}
}
foreach (ObjectPoolItem item in itemsToPool)
{
if (item.objectToPool.tag == tag)
{
if (item.shouldExpand)
{
GameObject obj = (GameObject)Instantiate(item.objectToPool);
obj.SetActive(false);
pooledObjects.Add(obj);
return obj;
}
}
}
return null;
}
// Update is called once per frame
void Update () {
* }*
}
_*