示例#1
0
void HealthBarComponent::update(GameObject* gameObject){
	if (!checkIfAlive(gameObject))
		return;
	setPosition(gameObject);
	updateHealthBar(gameObject);
	drawHealthBar(gameObject);
}
示例#2
0
void drawEntities(void)
{
	int i;
	Entity *e, **candidates;
	
	candidates = getAllEntsWithin(battle.camera.x, battle.camera.y, SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
	
	/* counting entities to draw */
	for (i = 0, e = candidates[i] ; e != NULL ; e = candidates[++i]) {};
	
	qsort(candidates, i, sizeof(Entity*), drawComparator);

	for (i = 0, e = candidates[i] ; e != NULL ; e = candidates[++i])
	{
		self = e;

		if (e->draw)
		{
			e->draw();
		}
		else
		{
			drawEntity(e);
		}
		
		drawHealthBar(e);
		
		drawTargetRects(e);
		
		drawRope(e);
	}
}
示例#3
0
void ComponentHealth::drawTransparentBits() const
{
    ASSERT(font, "Null pointer: font");

    CHECK_GL_ERROR();

    glPushMatrix();
    glTranslatef(lastReportedPosition.x,
                 lastReportedPosition.y,
                 lastReportedPosition.z + lastReportedHeight);

    mat3 cameraOrientation = GraphicsDevice::getCameraOrientation();

    if(!dead)
    {
        drawHealthBar(cameraOrientation);
    }
    else if(willResurrectAfterCountDown)
    {
        drawResurrectCountDown(cameraOrientation);
    }

    glPopMatrix();

    CHECK_GL_ERROR();
}
示例#4
0
void Monster::Render()
{
	if(++frameCount >= frameDelay + 10)
	{
		if(++curFrame >= maxFrame)
		{
		curFrame = 0;
		}
		frameCount = 0;
	}

	if(Direction == UP)
	{

		al_draw_bitmap_region(Monster::image, curFrame * frameWidth, 0, spriteSize, spriteSize, x, y, 0);
	}

	else if(Direction == LEFT)
	{
		al_draw_bitmap_region(Monster::image, curFrame * frameWidth, spriteSize * 2, spriteSize, spriteSize, x, y, 0);
	}

	else if(Direction == DOWN)
	{
		al_draw_bitmap_region(Monster::image, curFrame * frameWidth, spriteSize * 1, spriteSize, spriteSize, x, y, 0);
	}

	else if(Direction == RIGHT)
	{
		al_draw_bitmap_region(Monster::image, curFrame * frameWidth, spriteSize * 3, spriteSize, spriteSize, x, y, 0);
	}

	drawHealthBar(getHealth(), mFont, x, y);
}
示例#5
0
void Turret::draw(sf::RenderTarget& target, sf::RenderStates states) const {
	target.draw(*s, states);

	drawHealthBar(target, states);
	
	if (Global::DEBUG)
	{
		if (enemy != NULL) {
			sf::VertexArray l;
			l.setPrimitiveType(sf::Lines);
			l.resize(2);

			l[0].position.x = position.getX();
			l[0].position.y = position.getY();
			l[0].color = sf::Color::Green;

			l[1].position.x = enemy->getPosition().getX();
			l[1].position.y = enemy->getPosition().getY();
			l[1].color = sf::Color::Green;

			target.draw(l, states);
		}
	}
}
void Mainframe::draw(sf::RenderTarget& target, sf::RenderStates states) const {
	target.draw(computer, states);
	drawHealthBar(target, states);
}
示例#7
0
void Vehicle::draw(sf::RenderTarget& target, sf::RenderStates states) const {
	target.draw(*ship, states);

	drawHealthBar(target, states);
}