public void FreePools() { DDRed.FreePools(); DDYellow.FreePools(); DDWhite.FreePools(); DDBlue.FreePools(); ExplodeAnim.FreePools(); }
void Death() { gameObject.SetActive(false); poolOn.Remove(this); poolOff.Add(this); lifeTime = 5; ExplodeAnim anim = ExplodeAnim.CreateFromPool(); anim.transform.position = this.transform.position; }
static public ExplodeAnim CreateFromPool() { ExplodeAnim result = null; if (poolOff.Count == 0) { GameObject tmp = Instantiate <GameObject>(DDMapCreator.instance.squareReferences.explode.gameObject); tmp.transform.SetParent(DDMapCreator.instance.transform); tmp.transform.localScale = Vector3.one; result = tmp.GetComponent <ExplodeAnim>(); poolOn.Add(result); } else { result = poolOff[0]; poolOn.Add(result); poolOff.RemoveAt(0); } result.gameObject.SetActive(true); return(result); }