My Project
 
Loading...
Searching...
No Matches
regularlevel.h
Go to the documentation of this file.
1#pragma once
2
3#include "level.h"
4#include "define.h"
5#include "room.h"
6
7#include <set>
8
9class RegularLevel :public Level{
10public:
12
14 virtual ~RegularLevel();
15
16 virtual int nMobs();
17 virtual void storeInBundle(Bundle* bundle);
18 virtual void restoreFromBundle(Bundle* bundle);
19
20 Room* room(int pos);
21protected:
22 std::list<Room::Type> specials;
23 std::set<Room*> rooms;
26
29
30 virtual bool build();
31 bool initRooms();
32 void split(Rect rect);
33 void paint();
34 void paintWater();
35 void paintGrass();
36 void placeTraps();
37
38 void paintDoors(Room* r);
39 void assignRoomType();
40 Room* randomRoom(Room::Type type, int tries);
41 int randomDropCell();
42
43 bool joinRooms(Room* r, Room* n);
44 int nTraps();
45 std::vector<float> trapChances();
46
47 virtual void createMobs();
48 virtual void createItems();
49 virtual std::vector<bool> water() = 0;
50 virtual std::vector<bool> grass() = 0;
51private:
52 void placeDoors(Room* r);
53};
Level()
Definition level.cpp:154
void paintDoors(Room *r)
Definition regularlevel.cpp:387
std::list< Room::Type > specials
Definition regularlevel.h:22
virtual ~RegularLevel()
Definition regularlevel.cpp:21
int maxRoomSize
Definition regularlevel.h:25
std::set< Room * > rooms
Definition regularlevel.h:23
void paintWater()
Definition regularlevel.cpp:288
void placeTraps()
Definition regularlevel.cpp:345
bool initRooms()
Definition regularlevel.cpp:186
virtual void restoreFromBundle(Bundle *bundle)
Definition regularlevel.cpp:42
void assignRoomType()
Definition regularlevel.cpp:441
bool joinRooms(Room *r, Room *n)
Definition regularlevel.cpp:603
int randomDropCell()
Definition regularlevel.cpp:574
virtual std::vector< bool > water()=0
virtual bool build()
Definition regularlevel.cpp:55
virtual int nMobs()
Definition regularlevel.cpp:31
Room * roomEntrance
Definition regularlevel.h:27
void paintGrass()
Definition regularlevel.cpp:300
virtual void createItems()
Definition regularlevel.cpp:701
Room * randomRoom(Room::Type type, int tries)
Definition regularlevel.cpp:561
virtual void storeInBundle(Bundle *bundle)
Definition regularlevel.cpp:36
void split(Rect rect)
Definition regularlevel.cpp:214
RegularLevel()
Definition regularlevel.cpp:13
Room * roomExit
Definition regularlevel.h:28
virtual void createMobs()
Definition regularlevel.cpp:687
int nTraps()
Definition regularlevel.cpp:676
virtual std::vector< bool > grass()=0
Room * room(int pos)
Definition regularlevel.cpp:590
int secretDoors
Definition regularlevel.h:11
void paint()
Definition regularlevel.cpp:261
std::vector< float > trapChances()
Definition regularlevel.cpp:681
int minRoomSize
Definition regularlevel.h:24
Definition room.h:11
Type
Definition room.h:13
glm::ivec4 Rect
Definition define.h:11