mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 18:18:18 +00:00
60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
|
|
/* If you are missing that file, acquire a complete release at teeworlds.com. */
|
|
#ifndef GAME_LAYERS_H
|
|
#define GAME_LAYERS_H
|
|
|
|
class IKernel;
|
|
class IMap;
|
|
|
|
struct CMapItemGroup;
|
|
struct CMapItemGroupEx;
|
|
struct CMapItemLayer;
|
|
struct CMapItemLayerTilemap;
|
|
|
|
class CLayers
|
|
{
|
|
int m_GroupsNum;
|
|
int m_GroupsStart;
|
|
int m_GroupsExNum;
|
|
int m_GroupsExStart;
|
|
int m_LayersNum;
|
|
int m_LayersStart;
|
|
CMapItemGroup *m_pGameGroup;
|
|
CMapItemGroupEx *m_pGameGroupEx;
|
|
CMapItemLayerTilemap *m_pGameLayer;
|
|
IMap *m_pMap;
|
|
|
|
void InitTilemapSkip();
|
|
|
|
public:
|
|
CLayers();
|
|
void Init(IKernel *pKernel);
|
|
void InitBackground(IMap *pMap);
|
|
int NumGroups() const { return m_GroupsNum; }
|
|
int NumLayers() const { return m_LayersNum; }
|
|
IMap *Map() const { return m_pMap; }
|
|
CMapItemGroup *GameGroup() const { return m_pGameGroup; }
|
|
CMapItemGroupEx *GameGroupEx() const { return m_pGameGroupEx; }
|
|
CMapItemLayerTilemap *GameLayer() const { return m_pGameLayer; }
|
|
CMapItemGroup *GetGroup(int Index) const;
|
|
CMapItemGroupEx *GetGroupEx(int Index) const;
|
|
CMapItemLayer *GetLayer(int Index) const;
|
|
|
|
// DDRace
|
|
|
|
CMapItemLayerTilemap *TeleLayer() const { return m_pTeleLayer; }
|
|
CMapItemLayerTilemap *SpeedupLayer() const { return m_pSpeedupLayer; }
|
|
CMapItemLayerTilemap *FrontLayer() const { return m_pFrontLayer; }
|
|
CMapItemLayerTilemap *SwitchLayer() const { return m_pSwitchLayer; }
|
|
CMapItemLayerTilemap *TuneLayer() const { return m_pTuneLayer; }
|
|
|
|
private:
|
|
CMapItemLayerTilemap *m_pTeleLayer;
|
|
CMapItemLayerTilemap *m_pSpeedupLayer;
|
|
CMapItemLayerTilemap *m_pFrontLayer;
|
|
CMapItemLayerTilemap *m_pSwitchLayer;
|
|
CMapItemLayerTilemap *m_pTuneLayer;
|
|
};
|
|
|
|
#endif
|