1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#include <ClanLib/display.h>
#include <ClanLib/sound.h>
#include "building.h"
#include "world.h"
Building::Building(BuildingType buiding_type, World *world)
: GameObject(world)
{
switch(buiding_type)
{
case HELI_PAD:
sprite = new CL_Sprite("helipad", world->resources);
collisionBuilding = new CL_CollisionOutline("Gfx/helipad.png");
collisionBuilding->set_alignment(origin_center);
break;
}
exploding = false;
}
Building::~Building()
{
delete sprite;
delete collisionBuilding;
}
void Building::setPos(int x, int y)
{
posX = (float)x;
posY = (float)y;
collisionBuilding->set_translation(posX, posY);
}
void Building::setAngle(float newAngle)
{
angle = newAngle;
sprite->set_angle(angle);
collisionBuilding->set_angle(angle);
}
void Building::draw()
{
sprite->draw((int)posX, (int)posY);
}
bool Building::update(float timeElapsed)
{
sprite->update(timeElapsed);
return true;
}
bool Building::hitCheck(CL_CollisionOutline *outline, GameObject *other)
{
return collisionBuilding->collide(*outline);
}
|