1#ifndef GAME_EDITOR_MAPITEMS_LAYER_SOUNDS_H
2#define GAME_EDITOR_MAPITEMS_LAYER_SOUNDS_H
3
4#include "layer.h"
5
6class CLayerSounds : public CLayer
7{
8public:
9 explicit CLayerSounds(CEditor *pEditor);
10 CLayerSounds(const CLayerSounds &Other);
11 ~CLayerSounds();
12
13 void Render(bool Tileset = false) override;
14 CSoundSource *NewSource(int x, int y);
15
16 void BrushSelecting(CUIRect Rect) override;
17 int BrushGrab(std::shared_ptr<CLayerGroup> pBrush, CUIRect Rect) override;
18 void BrushPlace(std::shared_ptr<CLayer> pBrush, float wx, float wy) override;
19
20 CUi::EPopupMenuFunctionResult RenderProperties(CUIRect *pToolbox) override;
21
22 void ModifyEnvelopeIndex(FIndexModifyFunction pfnFunc) override;
23 void ModifySoundIndex(FIndexModifyFunction pfnFunc) override;
24
25 std::shared_ptr<CLayer> Duplicate() const override;
26 const char *TypeName() const override;
27
28 int m_Sound;
29 std::vector<CSoundSource> m_vSources;
30};
31
32#endif
33