#include <map_object_generator.h>
Veřejné sloty | |
void | show () |
Zobrazit popisek generatoru. | |
void | hide () |
Skryt popisek generatoru. | |
void | block () |
Blokovat generovani. | |
void | unblock () |
Odblokovat generovani. | |
void | setBlocking (bool block) |
Nastavit blokovani generovani. | |
void | allow () |
Povolit generovani. | |
void | disallow () |
Zakazat generovani. | |
void | toggleAllowance () |
Zmeni povoleni generovani. | |
void | setAllowance (bool allow) |
Nastavit povoleni generovani. | |
Signály | |
void | allowanceChanged () |
Zmenena schopnost generovat dalsi objekt. | |
void | canGenerateChanged () |
Zmenena schopnost generovat dalsi objekt. | |
void | removingGeneratedObject (BombicMapObject *object) |
Odstranovani generovaneho objektu. | |
Veřejné metody | |
MapObjectGenerator (const BombicMap::Field &field) | |
Konstrukce. | |
~MapObjectGenerator () | |
Destrukce. | |
virtual BombicMapObject::Type | type ()=0 |
Typ generovanych objektu. | |
bool | blocked () |
Jestli je generovani blokovano jinym objektem. | |
bool | allowed () |
Jestli je generovani povoleno. | |
QGraphicsItem * | graphicsItem () |
Graficky prvek popisku generatoru do sceny. | |
const BombicMap::Field & | field () |
Policko, na kterem generuje. | |
virtual bool | canGenerate () |
Jestli je mozne generovat dalsi objekt. | |
virtual void | addGeneratedObject (BombicMapObject *mapObject) |
Pridat generovany objekt. | |
void | removeGeneratedObjects () |
Odstranit vsechny generovane objekty. | |
const BombicMap::ObjectListT & | generatedObjects () |
Seznam generovanych objektu. | |
virtual bool | blocksBoxGenerating () |
Jestli objekt aktualne blokuje generovani beden. | |
virtual bool | blocksCreatureGenerating () |
Jestli objekt aktualne blokuje generovani priser. | |
virtual bool | unblocksBonusGenerating () |
Jestli objekt aktualne odblokovava generovani bonusu. | |
Chráněné metody | |
void | setLabelPos () |
Nastavit pozici grafickeho prvku. | |
void | updateLabelVisibility () |
Nastavit (obnovit) viditelnost popisku. | |
Chráněné atributy | |
BombicMap::Field | field_ |
Policko, pro ktere se generuje. | |
QGraphicsItem * | labelGI_ |
Graficky prvek popisku generatoru do sceny. | |
BombicMap::ObjectListT | generatedObjects_ |
Seznam generovanych objektu. | |
bool | hidden_ |
Jestli je vizualizace popisku skryta. | |
bool | blocked_ |
Jestli je generovani blokovano jinym objektem. | |
bool | allowed_ |
Jestli je generovani povoleno. |
V mape mame krome pevne umistenych objektu, ktere jsou v konkretni mape pri rozehrati hry vzdy na stejnem miste, jeste generovane objekty, o nichz potrebujeme v mape znat nekolik informaci. Mezi informace, ktere drzi mapa sama o sobe, patri napriklad pocet a typ takto generovanych objektu. Potom pro kazde policko drzi informaci o tom zda lze na tomto policku umistit generovany objekt. Pro praci s touto informaci a pro jeji vizualizaci slouzi potomci teto tridy. Ve spolupraci s komponentami, ktere maji pristup k cele mape take prubezne simuluje generovani objektu tak, aby uzivatel v kazdem okamziku priblizne videl, jak muze mapa vypadat i s vygenerovanymi objekty. Proto drzi seznam vygenerovanych objektu a kdyz je generator blokovan, odstrani tyto objekty a vyvola signal, ktere objekty generoval a nyni nemuze.
MapObjectGenerator::MapObjectGenerator | ( | const BombicMap::Field & | field | ) |
Konstrukce.
Defaultne je generovani povoleno a vizualizace zobrazena. Graficky prvek do sceny by mel byt alokovan v potomcich teto tridy.
field | na kterem policku objekty generuje |
MapObjectGenerator::~MapObjectGenerator | ( | ) |
Destrukce.
Dealokuje graficky prvek.
virtual BombicMapObject::Type MapObjectGenerator::type | ( | ) | [pure virtual] |
Typ generovanych objektu.
Implementováno v BonusGenerator, BoxGenerator, CreatureGenerator a MapObjectSingleGenerator.
bool MapObjectGenerator::blocked | ( | ) |
Jestli je generovani blokovano jinym objektem.
bool MapObjectGenerator::allowed | ( | ) |
Jestli je generovani povoleno.
QGraphicsItem * MapObjectGenerator::graphicsItem | ( | ) |
Graficky prvek popisku generatoru do sceny.
0 | graficky prvek neni (a nebude) pripraven |
const BombicMap::Field & MapObjectGenerator::field | ( | ) |
Policko, na kterem generuje.
bool MapObjectGenerator::canGenerate | ( | ) | [virtual] |
Jestli je mozne generovat dalsi objekt.
Reimplementováno v MapObjectSingleGenerator.
void MapObjectGenerator::addGeneratedObject | ( | BombicMapObject * | mapObject | ) | [virtual] |
Pridat generovany objekt.
Zde neni kontrolovano, jestli je mozne objekt vygenerovat, proto by melo byt vzdy pouzito canGenerate().
mapObject | objekty, ktery ma byt vygenerovan |
Reimplementováno v MapObjectSingleGenerator.
void MapObjectGenerator::removeGeneratedObjects | ( | ) |
Odstranit vsechny generovane objekty.
Odstrani postupne vsechny generovane objekty a pro kazdy vyvola signal removingGeneratedObject(). Nakonec vyvola signal canGenerateChanged(), kdyby se nahodou timto ukonem neco zmenilo.
const BombicMap::ObjectListT & MapObjectGenerator::generatedObjects | ( | ) |
Seznam generovanych objektu.
bool MapObjectGenerator::blocksBoxGenerating | ( | ) | [virtual] |
Jestli objekt aktualne blokuje generovani beden.
bool MapObjectGenerator::blocksCreatureGenerating | ( | ) | [virtual] |
Jestli objekt aktualne blokuje generovani priser.
Reimplementováno v BoxGenerator.
bool MapObjectGenerator::unblocksBonusGenerating | ( | ) | [virtual] |
Jestli objekt aktualne odblokovava generovani bonusu.
Reimplementováno v BoxGenerator.
void MapObjectGenerator::show | ( | ) | [slot] |
Zobrazit popisek generatoru.
void MapObjectGenerator::hide | ( | ) | [slot] |
Skryt popisek generatoru.
void MapObjectGenerator::block | ( | ) | [slot] |
Blokovat generovani.
void MapObjectGenerator::unblock | ( | ) | [slot] |
Odblokovat generovani.
void MapObjectGenerator::setBlocking | ( | bool | block | ) | [slot] |
Nastavit blokovani generovani.
block | zda se ma generovani blokovat (jinym objektem) |
void MapObjectGenerator::allow | ( | ) | [slot] |
Povolit generovani.
void MapObjectGenerator::disallow | ( | ) | [slot] |
Zakazat generovani.
void MapObjectGenerator::toggleAllowance | ( | ) | [slot] |
Zmeni povoleni generovani.
void MapObjectGenerator::setAllowance | ( | bool | allow | ) | [slot] |
Nastavit povoleni generovani.
allow | zda se ma generovani povolit |
void MapObjectGenerator::allowanceChanged | ( | ) | [signal] |
Zmenena schopnost generovat dalsi objekt.
void MapObjectGenerator::canGenerateChanged | ( | ) | [signal] |
Zmenena schopnost generovat dalsi objekt.
void MapObjectGenerator::removingGeneratedObject | ( | BombicMapObject * | object | ) | [signal] |
Odstranovani generovaneho objektu.
void MapObjectGenerator::setLabelPos | ( | ) | [protected] |
Nastavit pozici grafickeho prvku.
Nastavi pozici grafickeho prvku ve scene tak, aby byla vizualizace spjata s polickem, na ktere generuje.
void MapObjectGenerator::updateLabelVisibility | ( | ) | [protected] |
Nastavit (obnovit) viditelnost popisku.
Nastavi viditelnost grafickeho prvku podle aktualnich hodnot parametru.
BombicMap::Field MapObjectGenerator::field_ [protected] |
Policko, pro ktere se generuje.
QGraphicsItem* MapObjectGenerator::labelGI_ [protected] |
Graficky prvek popisku generatoru do sceny.
Seznam generovanych objektu.
bool MapObjectGenerator::hidden_ [protected] |
Jestli je vizualizace popisku skryta.
bool MapObjectGenerator::blocked_ [protected] |
Jestli je generovani blokovano jinym objektem.
bool MapObjectGenerator::allowed_ [protected] |
Jestli je generovani povoleno.