FastList.RemoveFast C# (CSharp) Method

RemoveFast() public method

public RemoveFast ( item ) : bool
return bool
    public bool RemoveFast(T item) {
        if (array != null) {
            for (int i = 0; i < size; i++) {
				if ( item.Equals( array[i] )) { //found
                    //Move last item here
                    if (i < (size - 1)) {
                        T lastItem = array[size-1];
                        array[size-1] = default(T);
                        array[i] = lastItem;
                    } else {
                        array[i] = default(T);
                    }
                    size--;
                    return true;
                }
            }
        }
        return false;
    }

Usage Example

示例#1
0
    public void Update()
    {
        DelayedInstantiateData instantiateData;

        for (int i = 0; i < delayedInstantiateDataBuffer.count; i++)
        {
            instantiateData = delayedInstantiateDataBuffer[i];
            if (Time.time - instantiateData.timestamp > instantiateData.delay)
            {
                var obj = PoolInstantiate(instantiateData.prefab, instantiateData.position, instantiateData.rotation);
                delayedInstantiateDataBuffer.RemoveFast(i);
                if (instantiateData.callback != null)
                {
                    instantiateData.callback(obj);
                }
            }
        }
        DelayedDestroyData destroyData;

        for (int i = 0; i < delayedDestroyDataBuffer.count; i++)
        {
            destroyData = delayedDestroyDataBuffer[i];
            if (Time.time - destroyData.timestamp > destroyData.delay)
            {
                PoolDestroy(destroyData.target, removeParent: destroyData.removeParent);
                delayedDestroyDataBuffer.RemoveFast(i);
                if (destroyData.callback != null)
                {
                    destroyData.callback();
                }
            }
        }
    }
All Usage Examples Of FastList::RemoveFast