Skip to content

Instantly share code, notes, and snippets.

@neonima
Last active May 4, 2017 20:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neonima/2041a9cef63ad1b9ea8d0ce5a51c8f09 to your computer and use it in GitHub Desktop.
Save neonima/2041a9cef63ad1b9ea8d0ce5a51c8f09 to your computer and use it in GitHub Desktop.
public bool InstiantiationCheck(GameObject GO, out GameObject instGo)
{
instGo = null;
foreach (GameObject go in ObjectPoolList)
{
if ( !ReferenceEquals(GO.GetComponent<PooledObject>(), null) && go.GetComponent<PooledObject>().nbrRef == GO.GetComponent<PooledObject>().nbrRef || GO.name.Equals(go.name) )
{
instGo = go;
return true;
}
}
if(!GO.GetComponent<PooledObject>())
GO.AddComponent<PooledObject>();
GameObject temp = Instantiate(GO, ObjectPool.transform);
PooledObject po = temp.GetComponent<PooledObject>();
po.name = po.name.Replace("(Clone)", "");
po.nbrRef = po.gameObject.GetHashCode();
GO.GetComponent<PooledObject>().nbrRef = po.nbrRef;
po.mr = (GetComponent<MeshRenderer>()) ? GetComponent<MeshRenderer>() : GetComponentInChildren<MeshRenderer>();
ObjectPoolList.Add(po.gameObject);
instGo = po.gameObject;
return false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment