#include <map_resource_handler.h>
Veřejné metody | |
| BombicMap * | createEmptyMap () |
| Vytvorit novou prazdnou mapu. | |
| BombicMap * | createMap (const QString &name) |
| Vytvorit novou mapu. | |
| bool | saveMap (BombicMap *map) |
| Ulozit mapu. | |
| BombicMap * | createMapCopy (BombicMap *oldMap, int newWidth, int newHeight, const QString &newBackground) |
| Vytvorit kopii mapy se zmenenymi parametry. | |
Privátní typy | |
| typedef QList< BombicMap::Field > | PositionsT |
| Seznam policek umisteni (pozic). | |
| typedef struct MapResourceHandler::_MapObjectS | MapObjectT |
| Objekt mapy pro ulozeni. | |
| typedef QHash< QString, MapObjectT > | ObjectsByNameT |
| Objekt podle jeho jmena. | |
| typedef QHash < BombicMapObject::Type, ObjectsByNameT > | ObjectsByTypeT |
| Objekty podle typu objektu. | |
Privátní metody | |
| QString | objectsElName (BombicMapObject::Type objectType) |
| Nazev definujiciho elementu podle typu objektu. | |
| QString | positionElName (BombicMapObject::Type objectType) |
| Nazev pozicniho elementu podle typu objektu. | |
| BombicMap * | createMap (const QDomElement &rootEl) |
| Vytvorit novou mapu. | |
| bool | loadMapPlayers (BombicMap *map) |
| Nacte hrace mapy. | |
| bool | loadMapPlayers (const QDomElement &playersEl, BombicMap *map) |
| Nacte hrace mapy. | |
| bool | loadMapObjects (const QDomElement &rootEl, BombicMapObject::Type type, BombicMap *map) |
| Nacte objekty mapy daneho typu. | |
| bool | loadMapNoboxes (const QDomElement &dontGenerateEl, BombicMap *map) |
| Nacte pole na kterych se nemaji generovat bedny. | |
| bool | loadMapNocreatures (const QDomElement &dontGenerateEl, BombicMap *map) |
| Nacte pole na kterych se nemaji generovat prisery. | |
| bool | insertMapObjects (const QDomElement &positionEl, BombicMapObject *insertedObject, BombicMap *map) |
| Vlozi do mapy objekt na urcite pozice. | |
| bool | insertMapObject (const QDomElement &positionEl, BombicMapObject *insertedObject, BombicMap *map) |
| Vlozi do mapy objekt na urcitou (jednu) pozici. | |
| void | initMapDataToSave (MapDataT &mapData, BombicMap *map) |
| Inicializovat data mapy pro ulozeni. | |
| void | registerPlacedObject (MapDataT &mapData, BombicMapObject *object, BombicMap::Field field) |
| Zaregistrovat umisteny objekt do dat mapy. | |
| void | countGeneratedObjects (ObjectsByTypeT &objects, const BombicMap::ObjectListT &generatedObjects) |
| Spocitat generovane objekty mapy. | |
| void | mapDataToXml (const MapDataT &mapData, QDomElement &rootEl) |
| Zkonvertovat data mapy do xml. | |
| void | positionsToXml (const PositionsT &positions, QDomElement &parentEl, const QString &positionElTagName) |
| Zkonvertovat umisteni objektu do xml. | |
Třídy | |
| struct | _MapObjectS |
| Objekt mapy pro ulozeni. ... | |
| struct | MapDataT |
| Data mapy pro ulozeni. ... | |
Obstarava nacitani a ukladani mapy. Take vytvari kopii mapy s pozmenenymi zasadnimy parametry jako je rozmer mapy nebo pozadi.
typedef QList<BombicMap::Field> MapResourceHandler::PositionsT [private] |
Seznam policek umisteni (pozic).
typedef struct MapResourceHandler::_MapObjectS MapResourceHandler::MapObjectT [private] |
Objekt mapy pro ulozeni.
typedef QHash<QString, MapObjectT> MapResourceHandler::ObjectsByNameT [private] |
Objekt podle jeho jmena.
typedef QHash<BombicMapObject::Type, ObjectsByNameT> MapResourceHandler::ObjectsByTypeT [private] |
Objekty podle typu objektu.
| BombicMap * MapResourceHandler::createEmptyMap | ( | ) |
Vytvorit novou prazdnou mapu.
Vytvori mapu s defaultnim pozadim DEFAULT_MAP_BACKGROUND a rozmery DEFAULT_MAP_WIDTH, DEFAULT_MAP_HEIGHT. Vlozi do mapy hrace na prvni vhodnou pozici. Vlastnictvi nove naalokovane mapy prechazi na volajiciho. Nastavi mape ze byla ulozena (nebyla editovana).


| BombicMap * MapResourceHandler::createMap | ( | const QString & | name | ) |
Vytvorit novou mapu.
Pokusi se vytvorit mapu zadanou name a vlozit do ni vsechny objekty. Nastavi mape ze byla ulozena (nebyla editovana).
| name | jmeno mapy (nebo primo cesta k souboru) |
| 0 | mapu se nepodarilo vyrobit |


| bool MapResourceHandler::saveMap | ( | BombicMap * | map | ) |
Ulozit mapu.
Ulozi mapu do jejiho souboru ( BombicMap::filename() ). Z mapy ziska data pro ulozeni, vytvori xml dokument a ten nasledne ulozi do souboru. Pokud se akce povede, nastavi mape ze byla ulozena.
| map | mapa, kterou chceme ulozit |


| BombicMap * MapResourceHandler::createMapCopy | ( | BombicMap * | oldMap, | |
| int | newWidth, | |||
| int | newHeight, | |||
| const QString & | newBackground | |||
| ) |
Vytvorit kopii mapy se zmenenymi parametry.
Vytvori novou mapu s novymi parametry a pokusi se do ni prekopirovat vsechny objekty ve stare mape. Pokud nelze vsechny objekty prekopirovat, vypisuje relevantni informace a selze.
| oldMap | mapa, od ktere chceme kopii | |
| newWidth | nova sirka mapy | |
| newHeight | nova vyska mapy | |
| newBackground | nazev noveho pozadi |
| 0 | Mapu nebylo mozne vytvorit. |


| QString MapResourceHandler::objectsElName | ( | BombicMapObject::Type | objectType | ) | [private] |
Nazev definujiciho elementu podle typu objektu.
| objectType | typ objektu, ktery je elementem definovat |

| QString MapResourceHandler::positionElName | ( | BombicMapObject::Type | objectType | ) | [private] |
Nazev pozicniho elementu podle typu objektu.
| objectType | typ objektu, ktery je elementem pozicovan |

| BombicMap * MapResourceHandler::createMap | ( | const QDomElement & | rootEl | ) | [private] |
Vytvorit novou mapu.
Pokusi se vytvorit mapu definovanou korenovym elementem rootEl a vlozit do ni vsechny objekty.
| rootEl | korenovy element definice mapy |
| 0 | mapu se nepodarilo vyrobit |

| bool MapResourceHandler::loadMapPlayers | ( | BombicMap * | map | ) | [private] |
Nacte hrace mapy.
Nacte hrace mapy a vlozi je na prvni vhodne misto. Hodi se zejmena pro vytvareni prazdne mapy.
| map | mapa, do ktere chceme hrace vlozit |


| bool MapResourceHandler::loadMapPlayers | ( | const QDomElement & | playersEl, | |
| BombicMap * | map | |||
| ) | [private] |
Nacte hrace mapy.
Nacte hrace mapy a vlozi je do mapy. Misto vlozeni definuje playersEl.
| playersEl | element definujici pozice hracu | |
| map | mapa, do ktere chceme hrace vlozit |

| bool MapResourceHandler::loadMapObjects | ( | const QDomElement & | rootEl, | |
| BombicMapObject::Type | type, | |||
| BombicMap * | map | |||
| ) | [private] |
Nacte objekty mapy daneho typu.
Nacte objekty mapy daneho typu a vlozi je do mapy.
| rootEl | korenovy element definice mapy | |
| type | typ objektu | |
| map | mapa, do ktere chceme objekty vlozit |


| bool MapResourceHandler::loadMapNoboxes | ( | const QDomElement & | dontGenerateEl, | |
| BombicMap * | map | |||
| ) | [private] |
Nacte pole na kterych se nemaji generovat bedny.
Zakaze v mape policka, na ktery se nesmi generovat bedny.
| dontGenerateEl | element definice zakazanych policek | |
| map | mapa, ve ktere chceme generovani zakazovat |


| bool MapResourceHandler::loadMapNocreatures | ( | const QDomElement & | dontGenerateEl, | |
| BombicMap * | map | |||
| ) | [private] |
Nacte pole na kterych se nemaji generovat prisery.
Zakaze v mape policka, na ktery se nesmi generovat prisery.
| dontGenerateEl | element definice zakazanych policek | |
| map | mapa, ve ktere chceme generovani zakazovat |


| bool MapResourceHandler::insertMapObjects | ( | const QDomElement & | positionEl, | |
| BombicMapObject * | insertedObject, | |||
| BombicMap * | map | |||
| ) | [private] |
Vlozi do mapy objekt na urcite pozice.
Na pozice (zacinajici positionEl a dalsi) vlozi kopie objektu (pokud to lze).
| positionEl | prvni pozicni element | |
| insertedObject | prototyp vkladaneho objektu | |
| map | mapa, do ktere chceme objekty umistit |


| bool MapResourceHandler::insertMapObject | ( | const QDomElement & | posEl, | |
| BombicMapObject * | insertedObject, | |||
| BombicMap * | map | |||
| ) | [private] |
Vlozi do mapy objekt na urcitou (jednu) pozici.
Na pozici urcenou posEl vlozi kopii objektu (pokud to lze). Pokud nelze objekt vlozit, zobrazi chybove hlaseni a selze.
| posEl | pozicni element | |
| insertedObject | prototyp vkladaneho objektu | |
| map | mapa, do ktere chceme objekt umistit |


Inicializovat data mapy pro ulozeni.
Ziska z mapy map relevantni data a ulozi je do mapData.
| [out] | mapData | data mapy pro ulozeni |
| map | mapa, kterou chceme ulozit |

| void MapResourceHandler::registerPlacedObject | ( | MapDataT & | mapData, | |
| BombicMapObject * | object, | |||
| BombicMap::Field | field | |||
| ) | [private] |
Zaregistrovat umisteny objekt do dat mapy.
Pokud je to vhodne, zaregistruje umisteni objektu object na policko field. Resi problem rozlehlych objektu, obvodovych zdi a hracu (ty uklada jinam).
| [out] | mapData | data mapy pro ulozeni |
| object | objekt, ktery registrujeme | |
| field | policko, na ktere jej pripadne registrujeme |


| void MapResourceHandler::countGeneratedObjects | ( | ObjectsByTypeT & | objects, | |
| const BombicMap::ObjectListT & | generatedObjects | |||
| ) | [private] |
Spocitat generovane objekty mapy.
* Nastavi pocty generovanych objektu. *
| [out] | objects | objekty mapy * |
| generatedObjects | seznam generovanych objektu mapy |


| void MapResourceHandler::mapDataToXml | ( | const MapDataT & | mapData, | |
| QDomElement & | rootEl | |||
| ) | [private] |
Zkonvertovat data mapy do xml.
Nastavi atributy a vytvori podstrom korenoveho elementu definice mapy. rootEl by mel byt inicializovan a mel by patrit do platneho dokumentu.
| mapData | data mapy k ulozeni | |
| rootEl | korenovy element definice mapy |


| void MapResourceHandler::positionsToXml | ( | const PositionsT & | positions, | |
| QDomElement & | parentEl, | |||
| const QString & | positionElName | |||
| ) | [private] |
Zkonvertovat umisteni objektu do xml.
Vytvori podstrom pozic elementu definujiciho objekt. parentEl by mel byt inicializovan a mel by patrit do platneho dokumentu.
| positions | seznam pozic objektu | |
| parentEl | element definujici objekt mapy | |
| positionElName | nazev elementu pozice |

1.5.6