public void RemoveBeast(MBeast beastToRemove) { beastToRemove.Destroy(); _beasts.RemoveItem(beastToRemove, ref _beastCount); //put it back in the right container if(beastToRemove.container == _beastContainerSpecial) { beastToRemove.sprite.shader = FShader.Basic; _beastContainerSpecial.RemoveChild(beastToRemove); } beastToRemove.player.beasts.Remove(beastToRemove); //don't pool because it could cause problems beastToRemove.RemoveFromContainer(); //MBeast.pool.Add (beastToRemove); }