示例#1
0
/** returns new item from pool */
PoolItem *ObjectPool::obtainPoolItem()
{
    for (int i = 0; i < _max_pool_count; ++i)
    {
        if (grabunused(i))
            return getObjectAtPos(i);
    }

    return NULL;
}
示例#2
0
bool ObjectPool::obtainPoolItemAndRelease()
{
    for (int i = 0; i < _max_pool_count; ++i)
    {
        if (grabunused(i))
        {
            PoolItem *temp = getObjectAtPos(i);
            setused(i,0);
            return true;
        }
    }

    return false;
}
示例#3
0
bool IDManager::isHit(ivec2 pos, const void* obj) {
    return (getObjectAtPos(pos) == obj);
}