DDraceNetwork Documentation
Loading...
Searching...
No Matches
layer_tele.h
Go to the documentation of this file.
1#ifndef GAME_EDITOR_MAPITEMS_LAYER_TELE_H
2#define GAME_EDITOR_MAPITEMS_LAYER_TELE_H
3
4#include "layer_tiles.h"
5
16
17class CLayerTele : public CLayerTiles
18{
19public:
20 CLayerTele(CEditorMap *pMap, int w, int h);
21 CLayerTele(const CLayerTele &Other);
22 ~CLayerTele() override;
23
25 unsigned char m_TeleNumber;
27
28 void Resize(int NewW, int NewH) override;
29 void Shift(EShiftDirection Direction) override;
30 [[nodiscard]] bool IsEmpty() const override;
31 void BrushDraw(CLayer *pBrush, vec2 WorldPos) override;
32 void BrushFlipX() override;
33 void BrushFlipY() override;
34 void BrushRotate(float Amount) override;
35 void FillSelection(bool Empty, CLayer *pBrush, CUIRect Rect) override;
36 int FindNextFreeNumber(bool Checkpoint) const;
37 bool ContainsElementWithId(int Id, bool Checkpoint) const;
38 void GetPos(int Number, int Offset, int &TeleX, int &TeleY);
39
42
44 void ClearHistory() override
45 {
47 m_History.clear();
48 }
49
50 std::shared_ptr<CLayer> Duplicate() const override;
51 const char *TypeName() const override;
52
53private:
55
56 friend class CLayerTiles;
57};
58
59#endif
Definition map.h:53
const char * TypeName() const override
Definition layer_tele.cpp:403
void GetPos(int Number, int Offset, int &TeleX, int &TeleY)
Definition layer_tele.cpp:342
friend class CLayerTiles
Definition layer_tele.h:56
int m_GotoTeleOffset
Definition layer_tele.h:40
unsigned char m_TeleNumber
Definition layer_tele.h:25
void BrushFlipY() override
Definition layer_tele.cpp:188
bool IsEmpty() const override
Definition layer_tele.cpp:61
void BrushDraw(CLayer *pBrush, vec2 WorldPos) override
Definition layer_tele.cpp:81
EditorTileStateChangeHistory< STeleTileStateChange > m_History
Definition layer_tele.h:43
void ClearHistory() override
Definition layer_tele.h:44
std::shared_ptr< CLayer > Duplicate() const override
Definition layer_tele.cpp:398
unsigned char m_TeleCheckpointNumber
Definition layer_tele.h:26
~CLayerTele() override
Definition layer_tele.cpp:28
void Shift(EShiftDirection Direction) override
Definition layer_tele.cpp:55
void BrushFlipX() override
Definition layer_tele.cpp:182
int FindNextFreeNumber(bool Checkpoint) const
Definition layer_tele.cpp:314
void Resize(int NewW, int NewH) override
Definition layer_tele.cpp:33
CLayerTele(CEditorMap *pMap, int w, int h)
Definition layer_tele.cpp:5
void FillSelection(bool Empty, CLayer *pBrush, CUIRect Rect) override
Definition layer_tele.cpp:228
CTeleTile * m_pTeleTile
Definition layer_tele.h:24
void RecordStateChange(int x, int y, STeleTileStateChange::SData Previous, STeleTileStateChange::SData Current)
Definition layer_tele.cpp:172
ivec2 m_GotoTeleLastPos
Definition layer_tele.h:41
void BrushRotate(float Amount) override
Definition layer_tele.cpp:194
bool ContainsElementWithId(int Id, bool Checkpoint) const
Definition layer_tele.cpp:326
virtual void ClearHistory()
Definition layer_tiles.h:201
CLayer(CEditorMap *pMap, int Type)
Definition layer.cpp:7
Definition mapitems.h:635
Definition ui_rect.h:12
std::map< int, std::map< int, T > > EditorTileStateChangeHistory
Definition layer_tiles.h:19
EShiftDirection
Definition layer_tiles.h:26
Direction
Definition nameplates.cpp:213
Definition layer_tele.h:10
int m_Number
Definition layer_tele.h:11
int m_Index
Definition layer_tele.h:13
int m_Type
Definition layer_tele.h:12
Definition layer_tele.h:7
struct STeleTileStateChange::SData m_Previous
bool m_Changed
Definition layer_tele.h:8
struct STeleTileStateChange::SData m_Current
vector2_base< int > ivec2
Definition vmath.h:163
vector2_base< float > vec2
Definition vmath.h:161