mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-14 12:08:20 +00:00
51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
#ifndef GAME_CLIENT_COMPONENTS_BACKGROUND_H
|
|
#define GAME_CLIENT_COMPONENTS_BACKGROUND_H
|
|
|
|
#include <engine/shared/map.h>
|
|
|
|
#include <game/client/components/maplayers.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
class CLayers;
|
|
class CMapImages;
|
|
|
|
// Special value to use background of current map
|
|
#define CURRENT_MAP "%current%"
|
|
|
|
class CBackgroundEngineMap : public CMap
|
|
{
|
|
MACRO_INTERFACE("background_enginemap", 0)
|
|
};
|
|
|
|
class CBackground : public CMapLayers
|
|
{
|
|
protected:
|
|
IEngineMap *m_pMap;
|
|
bool m_Loaded;
|
|
char m_aMapName[MAX_MAP_LENGTH];
|
|
|
|
//to avoid spam when in menu
|
|
int64_t m_LastLoad;
|
|
|
|
//to avoid memory leak when switching to %current%
|
|
CBackgroundEngineMap *m_pBackgroundMap;
|
|
CLayers *m_pBackgroundLayers;
|
|
CMapImages *m_pBackgroundImages;
|
|
|
|
virtual CBackgroundEngineMap *CreateBGMap();
|
|
|
|
public:
|
|
CBackground(int MapType = CMapLayers::TYPE_BACKGROUND_FORCE, bool OnlineOnly = true);
|
|
virtual ~CBackground();
|
|
virtual int Sizeof() const override { return sizeof(*this); }
|
|
|
|
virtual void OnInit() override;
|
|
virtual void OnMapLoad() override;
|
|
virtual void OnRender() override;
|
|
|
|
void LoadBackground();
|
|
};
|
|
|
|
#endif
|