|
|
@@ -80,8 +80,11 @@ void CBuildingRect::hover(bool on)
|
|
|
void CBuildingRect::clickLeft (tribool down)
|
|
|
{
|
|
|
|
|
|
- if(area && (CSDL_Ext::SDL_GetPixel(area,LOCPLINT->current->motion.x-pos.x,LOCPLINT->current->motion.y-pos.y) != 0)) //na polu
|
|
|
+ if(area && (LOCPLINT->castleInt->hBuild==this) && !(indeterminate(down)) && (CSDL_Ext::SDL_GetPixel(area,LOCPLINT->current->motion.x-pos.x,LOCPLINT->current->motion.y-pos.y) != 0)) //na polu
|
|
|
{
|
|
|
+ if(pressedL && !down)
|
|
|
+ LOCPLINT->castleInt->buildingClicked(str->ID);
|
|
|
+ ClickableL::clickLeft(down);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -89,7 +92,7 @@ void CBuildingRect::clickLeft (tribool down)
|
|
|
}
|
|
|
void CBuildingRect::clickRight (tribool down)
|
|
|
{
|
|
|
- if((!area) || (!((bool)down)))
|
|
|
+ if((!area) || (!((bool)down)) || (this!=LOCPLINT->castleInt->hBuild))
|
|
|
return;
|
|
|
if((CSDL_Ext::SDL_GetPixel(area,LOCPLINT->current->motion.x-pos.x,LOCPLINT->current->motion.y-pos.y) != 0)) //na polu
|
|
|
{
|
|
|
@@ -345,17 +348,33 @@ void CCastleInterface::close()
|
|
|
void CCastleInterface::splitF()
|
|
|
{
|
|
|
}
|
|
|
+void CCastleInterface::buildingClicked(int building)
|
|
|
+{
|
|
|
+ std::cout<<"You've clicked on "<<building<<std::endl;
|
|
|
+ switch(building)
|
|
|
+ {
|
|
|
+ case 10: case 11: case 12: case 13:
|
|
|
+ enterHall();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<"This building isn't handled...\n";
|
|
|
+ }
|
|
|
+}
|
|
|
+void CCastleInterface::enterHall()
|
|
|
+{
|
|
|
+ deactivate();
|
|
|
+}
|
|
|
void CCastleInterface::showAll(SDL_Surface * to)
|
|
|
{
|
|
|
if (!to)
|
|
|
to=ekran;
|
|
|
- statusbar->show();
|
|
|
blitAt(cityBg,0,0,to);
|
|
|
blitAt(townInt,0,374,to);
|
|
|
LOCPLINT->adventureInt->resdatabar.draw();
|
|
|
townlist->draw();
|
|
|
+ statusbar->show();
|
|
|
|
|
|
- garr->show();
|
|
|
+ garr->show();
|
|
|
int pom;
|
|
|
|
|
|
//draw fort icon
|
|
|
@@ -491,4 +510,56 @@ void CCastleInterface::deactivate()
|
|
|
split->deactivate();
|
|
|
for(int i=0;i<buildings.size();i++)
|
|
|
buildings[i]->deactivate();
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void CHallInterface::CResDataBar::show(SDL_Surface * to)
|
|
|
+{
|
|
|
+}
|
|
|
+CHallInterface::CResDataBar::CResDataBar()
|
|
|
+{
|
|
|
+}
|
|
|
+CHallInterface::CResDataBar::~CResDataBar()
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void CHallInterface::CBuildingBox::hover(bool on)
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::CBuildingBox::clickLeft (tribool down)
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::CBuildingBox::clickRight (tribool down)
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::CBuildingBox::activate()
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::CBuildingBox::deactivate()
|
|
|
+{
|
|
|
+}
|
|
|
+CHallInterface::CBuildingBox::~CBuildingBox()
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+CHallInterface::CHallInterface(CCastleInterface * owner)
|
|
|
+{
|
|
|
+
|
|
|
+}
|
|
|
+CHallInterface::~CHallInterface()
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::close()
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::show(SDL_Surface * to)
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::activate()
|
|
|
+{
|
|
|
+}
|
|
|
+void CHallInterface::deactivate()
|
|
|
+{
|
|
|
}
|