예제 #1
0
	int AccessMap::mergeCruds(int crud1, int crud2) const
	{
		if ((crud1 == PROCEDURE_ONLY) || (crud2 == PROCEDURE_ONLY)) return PROCEDURE_ONLY;
		int crud = 0;
		if (canCreate(crud1) || canCreate(crud2)) crud += CREATE;		
		if (canRead(crud1) || canRead(crud2)) crud += READ;
		if (canUpdate(crud1) || canUpdate(crud2)) crud += UPDATE;
		if (canDelete(crud1) || canDelete(crud2)) crud += DELETE;
		return crud;
	}
예제 #2
0
	int AccessMap::deriveFatherCrud(int fatherCrud) const
	{
		int crud = NO_ACCESS;
		if (canRead(fatherCrud)) crud += READ;
		if (canUpdate(fatherCrud)) crud += UPDATE + DELETE + CREATE;
		return crud;
	}
예제 #3
0
void Entity::OnUpdate()
{
	if (canUpdate()){
		if (animActive){
			dirAnim[dir].nextFrame();
		}
		else{
			dirAnim[dir].setCurrentFrame(0);
		}
		OnSyncSprite();
	}
}
예제 #4
0
void ProjectileManager::update( float dm )
{
    removeAllCanRemoveProjectile();

    for (auto tmpIterator = m_projectilesMap.begin(); 
        tmpIterator != m_projectilesMap.end(); tmpIterator++)
    {
        auto tmpProjectile = tmpIterator->second;
        if (tmpProjectile->canUpdateMovement())
        {
            tmpProjectile->updateMovement(dm);
        }
        if (tmpProjectile->canUpdate())
        {
            tmpProjectile->update(dm);
        }
    }

    removeAllCanRemoveProjectile();
}
예제 #5
0
void Entity::OnWalkLeft()
{
	if (canUpdate()){
		screenX -= speed;
	}
}
예제 #6
0
void Entity::OnWalkDown()
{
	if (canUpdate()){
		screenY += speed;
	}
}
예제 #7
0
void Entity::OnWalkRight()
{
	if (canUpdate()){
		screenX += speed;
	}
}
예제 #8
0
void Entity::OnWalkUp()
{
	if (canUpdate()){
		screenY -= speed;
	}
}