AniGardenMapController.h
2.07 KB
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
//
//  AniGardenMapController.h
//  SteveMaggieCpp
//
//  Created by Katarzyna Kalinowska-Górska on 17.05.2017.
//
//
#ifndef AniGardenMapController_h
#define AniGardenMapController_h
#include "AniBasicMapController.h"
#include "MapAdventureObjectPickupItem.h"
class AniGardenMapController : public AniBasicMapController {
    
public:
    AniGardenMapController(cocos2d::TMXTiledMap* p_map, IMapAdventureObjectMapper* p_adventureObjectMapper) : AniBasicMapController(p_map, p_adventureObjectMapper){};
    
    void shuffleConcretePickupMapAdventureObjects(const std::vector<MapAdventureObjectPickupItem*> objects); //just switch their places randomly
    void shuffleAllPickupMapAdventureObjects(const std::vector<std::string> excludedObjects = {}); //just switch their places randomly
    void distributeConcretePickupMapAdventureObjectsRandomly(const std::vector<MapAdventureObjectPickupItem*> objects); // distribute them randomly on the map
    void distributeAllPickupMapAdventureObjectsRandomly(const std::vector<std::string> excludedObjects = {}); // distribute them randomly on the map
    std::vector<MapAdventureObjectPickupItem*> generatePickupObjectsRandomly(int count, std::string baseName, std::string spriteFilePath, bool oneTileObjects);
//    void removePickupObjects(std::vector<std::string> objectNames);
    void deactivateAllObjects(const std::vector<std::string> excludedObjects = {});
    void activateAllObjects(const std::vector<std::string> excludedObjects = {});
    void activateConcreteObjects(const std::vector<MapAdventureObjectPickupItem*> objects);
    void showAllObjects(const std::vector<std::string> excludedObjects = {});
    void showConcreteObjects(const std::vector<MapAdventureObjectPickupItem*> objects);
    void hideAllObjects(const std::vector<std::string> excludedObjects = {});
    void hideObject(MapAdventureObjectPickupItem* object);
    void showObject(MapAdventureObjectPickupItem* object);
    
protected:
    std::vector<MapAdventureObjectPickupItem*> getAllPickupItems(const std::vector<std::string> except = {});
};
#endif /* AniGardenMapController_h */
