diff --git a/researchButton.cpp b/researchButton.cpp index e3afa47..44b749d 100644 --- a/researchButton.cpp +++ b/researchButton.cpp @@ -39,6 +39,8 @@ namespace battleship{ } void ResearchButton::onClick(){ + if(!active) return; + vector labs = getUnits(unitId); for(Unit *lab : labs) @@ -54,6 +56,7 @@ namespace battleship{ float alpha = .6; string uniform = "diffuseColor"; + active = false; if(!hasTech){ vector techParents = Game::getSingleton()->getTechnology(techId).parents; @@ -66,6 +69,7 @@ namespace battleship{ } if(hasTechParents){ + active = true; overlay->setVisible(false); vector labs = getUnits(unitId); @@ -74,6 +78,7 @@ namespace battleship{ vector researchQueue = ((ResearchStruct*)lab)->getQueue(); if(find(researchQueue.begin(), researchQueue.end(), techId) != researchQueue.end()){ + active = false; overlay->setVisible(true); overlay->getMesh(0)->getMaterial()->setVec4Uniform(uniform, Vector4(0, 0, 1, alpha)); break; diff --git a/researchButton.h b/researchButton.h index 2ba1ad3..20b1bc2 100644 --- a/researchButton.h +++ b/researchButton.h @@ -12,6 +12,7 @@ namespace battleship{ void update(); private: int techId; + bool active = false; vb01::Node *overlay = nullptr; }; }