DDraceNetwork Documentation
Loading...
Searching...
No Matches
references.h
Go to the documentation of this file.
1#ifndef GAME_EDITOR_REFERENCES_H
2#define GAME_EDITOR_REFERENCES_H
3
4#include <memory>
5#include <vector>
6
7class CEnvelope;
8class CLayerQuads;
9class CLayerSounds;
10class CLayerTiles;
11
13{
14public:
15 virtual void SetEnvelope(const std::shared_ptr<CEnvelope> &pEnvelope, int EnvelopeIndex) = 0;
16 virtual ~IEditorEnvelopeReference() = default;
17};
18
20{
21public:
22 CLayerTilesEnvelopeReference(std::shared_ptr<CLayerTiles> pLayerTiles) :
23 m_pLayerTiles(std::move(pLayerTiles)) {}
24 void SetEnvelope(const std::shared_ptr<CEnvelope> &pEnvelope, int EnvelopeIndex) override;
25
26private:
27 std::shared_ptr<CLayerTiles> m_pLayerTiles;
28};
29
31{
32public:
33 CLayerQuadsEnvelopeReference(std::shared_ptr<CLayerQuads> pLayerQuads) :
34 m_pLayerQuads(std::move(pLayerQuads)) {}
35 void SetEnvelope(const std::shared_ptr<CEnvelope> &pEnvelope, int EnvelopeIndex) override;
36 void AddQuadIndex(int QuadIndex) { m_vQuadIndices.push_back(QuadIndex); }
37 bool Empty() const { return m_vQuadIndices.empty(); }
38
39private:
40 std::vector<int> m_vQuadIndices;
41 std::shared_ptr<CLayerQuads> m_pLayerQuads;
42};
43
45{
46public:
47 CLayerSoundEnvelopeReference(std::shared_ptr<CLayerSounds> pLayerSounds) :
48 m_pLayerSounds(std::move(pLayerSounds)) {}
49 void SetEnvelope(const std::shared_ptr<CEnvelope> &pEnvelope, int EnvelopeIndex) override;
50 void AddSoundSourceIndex(int SoundSourceIndex) { m_vSoundSourceIndices.push_back(SoundSourceIndex); }
51 bool Empty() const { return m_vSoundSourceIndices.empty(); }
52
53private:
54 std::vector<int> m_vSoundSourceIndices;
55 std::shared_ptr<CLayerSounds> m_pLayerSounds;
56};
57
58#endif
Definition envelope.h:11
std::shared_ptr< CLayerQuads > m_pLayerQuads
Definition references.h:41
void AddQuadIndex(int QuadIndex)
Definition references.h:36
std::vector< int > m_vQuadIndices
Definition references.h:40
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition references.cpp:16
CLayerQuadsEnvelopeReference(std::shared_ptr< CLayerQuads > pLayerQuads)
Definition references.h:33
bool Empty() const
Definition references.h:37
Definition layer_quads.h:7
void AddSoundSourceIndex(int SoundSourceIndex)
Definition references.h:50
std::shared_ptr< CLayerSounds > m_pLayerSounds
Definition references.h:55
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition references.cpp:30
CLayerSoundEnvelopeReference(std::shared_ptr< CLayerSounds > pLayerSounds)
Definition references.h:47
bool Empty() const
Definition references.h:51
std::vector< int > m_vSoundSourceIndices
Definition references.h:54
Definition layer_sounds.h:7
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition references.cpp:8
CLayerTilesEnvelopeReference(std::shared_ptr< CLayerTiles > pLayerTiles)
Definition references.h:22
std::shared_ptr< CLayerTiles > m_pLayerTiles
Definition references.h:27
Definition layer_tiles.h:41
Definition references.h:13
virtual ~IEditorEnvelopeReference()=default
virtual void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex)=0