Loading [MathJax]/extensions/MathMenu.js
Cytopia  0.3
A city building simulation game
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
enums.hxx File Reference
#include <stddef.h>
#include <vector>
#include "betterEnums.hxx"
+ Include dependency graph for enums.hxx:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  Layer : unsigned int {
  NONE, BLUEPRINT, UNDERGROUND, TERRAIN,
  ZONE, ROAD, WATER, MOVABLE_OBJECTS,
  BUILDINGS, POWERLINES, FLORA, ANIMATIONS,
  SYMBOLS, GROUND_DECORATION, LAYERS_COUNT
}
 All Layers we have. More...
 
enum  LayerEditMode { LayerEditMode::TERRAIN, LayerEditMode::BLUEPRINT }
 This enum is for switching between layers. More...
 
enum  PlacementMode { PlacementMode::SINGLE, PlacementMode::STRAIGHT_LINE, PlacementMode::LINE, PlacementMode::RECTANGLE }
 
enum  DemolishMode { DemolishMode::DEFAULT, DemolishMode::DE_ZONE, DemolishMode::GROUND_DECORATION }
 

Variables

static Layer allLayersOrdered []
 This is a ordered list of all relevant layers we need to interact with. More...
 
static Layer layersInActiveOrder []
 This is a ordered list of all relevant layers from the most active to the least active. More...
 
const static std::vector< LayerlayersPowerlinesCanCross = {Layer::ROAD, Layer::WATER, Layer::FLORA}
 

Enumeration Type Documentation

◆ DemolishMode

enum DemolishMode
strong
Enumerator
DEFAULT 

Demolish everything, but not.

DE_ZONE 

Remove only zones.

GROUND_DECORATION 

Remove only ground decoration.

Definition at line 59 of file enums.hxx.

60 {
61  DEFAULT,
62  DE_ZONE,
64 };

◆ Layer

enum Layer : unsigned int

All Layers we have.

Enumerator
NONE 

0- this must be FIRST !!!

BLUEPRINT 

1- Optional layer - Map Blueprint

UNDERGROUND 

2- Optional layer - Pipes, Subway-pipes and so onn

TERRAIN 

3- Terrain tiles, decorations, ... - must always be a "full" tile

ZONE 

4- Optional layer, zones(Industrial/Residential/Commercial).

ROAD 

5- Optional layer, roads.

WATER 

6- Water tiles

MOVABLE_OBJECTS 

7- Cars, Pedestrians

BUILDINGS 

8- Buildings, Streets and everything that goes on the terrain

POWERLINES 

9- Powerlines

FLORA 

10- Trees and other flora/Fauna tiles

ANIMATIONS 

11- Animations like smoke

SYMBOLS 

12- Symbols to display over buildings like no power / water and so on

GROUND_DECORATION 

13- Decoration to place beneath buildings. Like concrete or grass

LAYERS_COUNT 

this must be LAST !!!

Definition at line 9 of file enums.hxx.

9  : unsigned int
10 {
11  NONE,
12  BLUEPRINT,
13  UNDERGROUND,
14  TERRAIN,
15  ZONE,
16  ROAD,
17  WATER,
19  BUILDINGS,
20  POWERLINES,
21  FLORA,
22  ANIMATIONS,
23  SYMBOLS,
26 };

◆ LayerEditMode

enum LayerEditMode
strong

This enum is for switching between layers.

TERRAIN activates Terrain and buildings BLUEPRINT activates blueprint + underground

Enumerator
TERRAIN 

Default "overworld" edit mode.

BLUEPRINT 

Placing water pipes and underground transportation on the Blueprint layer.

Definition at line 45 of file enums.hxx.

46 {
47  TERRAIN,
48  BLUEPRINT
49 };

◆ PlacementMode

enum PlacementMode
strong
Enumerator
SINGLE 

Place tiles on a single spot.

STRAIGHT_LINE 

Place tiles in a straight, rectangular line.

LINE 

Place tiles in a line from start to end point.

RECTANGLE 

draw a rectangle between start and end point

Definition at line 51 of file enums.hxx.

52 {
53  SINGLE,
55  LINE,
56  RECTANGLE
57 };

Variable Documentation

◆ allLayersOrdered

Layer allLayersOrdered[]
static
Initial value:

This is a ordered list of all relevant layers we need to interact with.

Definition at line 29 of file enums.hxx.

◆ layersInActiveOrder

Layer layersInActiveOrder[]
static
Initial value:

This is a ordered list of all relevant layers from the most active to the least active.

Definition at line 34 of file enums.hxx.

◆ layersPowerlinesCanCross

const static std::vector<Layer> layersPowerlinesCanCross = {Layer::ROAD, Layer::WATER, Layer::FLORA}
static

Definition at line 38 of file enums.hxx.

DemolishMode::DE_ZONE
@ DE_ZONE
Remove only zones.
SYMBOLS
@ SYMBOLS
12- Symbols to display over buildings like no power / water and so on
Definition: enums.hxx:23
WATER
@ WATER
6- Water tiles
Definition: enums.hxx:17
DEFAULT
@ DEFAULT
Definition: TileManager.hxx:18
MOVABLE_OBJECTS
@ MOVABLE_OBJECTS
7- Cars, Pedestrians
Definition: enums.hxx:18
POWERLINES
@ POWERLINES
9- Powerlines
Definition: enums.hxx:20
NONE
@ NONE
0- this must be FIRST !!!
Definition: enums.hxx:11
PlacementMode::STRAIGHT_LINE
@ STRAIGHT_LINE
Place tiles in a straight, rectangular line.
ZONE
@ ZONE
4- Optional layer, zones(Industrial/Residential/Commercial).
Definition: enums.hxx:15
BLUEPRINT
@ BLUEPRINT
1- Optional layer - Map Blueprint
Definition: enums.hxx:12
BUILDINGS
@ BUILDINGS
8- Buildings, Streets and everything that goes on the terrain
Definition: enums.hxx:19
PlacementMode::LINE
@ LINE
Place tiles in a line from start to end point.
PlacementMode::SINGLE
@ SINGLE
Place tiles on a single spot.
FLORA
@ FLORA
10- Trees and other flora/Fauna tiles
Definition: enums.hxx:21
ANIMATIONS
@ ANIMATIONS
11- Animations like smoke
Definition: enums.hxx:22
TERRAIN
@ TERRAIN
3- Terrain tiles, decorations, ... - must always be a "full" tile
Definition: enums.hxx:14
PlacementMode::RECTANGLE
@ RECTANGLE
draw a rectangle between start and end point
ROAD
@ ROAD
5- Optional layer, roads.
Definition: enums.hxx:16
GROUND_DECORATION
@ GROUND_DECORATION
13- Decoration to place beneath buildings. Like concrete or grass
Definition: enums.hxx:24
LAYERS_COUNT
@ LAYERS_COUNT
this must be LAST !!!
Definition: enums.hxx:25
UNDERGROUND
@ UNDERGROUND
2- Optional layer - Pipes, Subway-pipes and so onn
Definition: enums.hxx:13