Skip to content

Instantly share code, notes, and snippets.

@neonima
Last active May 4, 2017 20:18
Show Gist options
  • Select an option

  • Save neonima/2041a9cef63ad1b9ea8d0ce5a51c8f09 to your computer and use it in GitHub Desktop.

Select an option

Save neonima/2041a9cef63ad1b9ea8d0ce5a51c8f09 to your computer and use it in GitHub Desktop.

Revisions

  1. Vincent Gschwend revised this gist May 4, 2017. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion example.cs
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,6 @@ public bool InstiantiationCheck(GameObject GO, out GameObject instGo)

    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;
  2. Vincent Gschwend created this gist May 4, 2017.
    27 changes: 27 additions & 0 deletions example.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    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;

    }