public T GetNewValidObject()
{
if (numberOfInvalidObjects > 0)
{
return objects[--numberOfInvalidObjects];
}
else if (isWrappable)
{
numberOfInvalidObjects = objects.Length;
return objects[--numberOfInvalidObjects];
}
return null;
}
Decal decal = Game1.Instance.pool_Decal.GetNewValidObject();
int index = decals.IndexOf(decal);
if (index == -1)
{
decals.Add(decal);
}
else
{
decals[index] = decal;
}