DDNet documentation
Toggle main menu visibility
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
7
class
CEnvelope
;
8
class
CLayerQuads
;
9
class
CLayerSounds
;
10
class
CLayerTiles
;
11
12
class
IEditorEnvelopeReference
13
{
14
public
:
15
virtual
void
SetEnvelope
(
const
std::shared_ptr<CEnvelope> &pEnvelope,
int
EnvelopeIndex) = 0;
16
virtual
~IEditorEnvelopeReference
() =
default
;
17
};
18
19
class
CLayerTilesEnvelopeReference
:
public
IEditorEnvelopeReference
20
{
21
public
:
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
26
private
:
27
std::shared_ptr<CLayerTiles>
m_pLayerTiles
;
28
};
29
30
class
CLayerQuadsEnvelopeReference
:
public
IEditorEnvelopeReference
31
{
32
public
:
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
39
private
:
40
std::vector<int>
m_vQuadIndices
;
41
std::shared_ptr<CLayerQuads>
m_pLayerQuads
;
42
};
43
44
class
CLayerSoundEnvelopeReference
:
public
IEditorEnvelopeReference
45
{
46
public
:
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
53
private
:
54
std::vector<int>
m_vSoundSourceIndices
;
55
std::shared_ptr<CLayerSounds>
m_pLayerSounds
;
56
};
57
58
#endif
CEnvelope
Definition
envelope.h:11
CLayerQuadsEnvelopeReference::m_pLayerQuads
std::shared_ptr< CLayerQuads > m_pLayerQuads
Definition
references.h:41
CLayerQuadsEnvelopeReference::AddQuadIndex
void AddQuadIndex(int QuadIndex)
Definition
references.h:36
CLayerQuadsEnvelopeReference::m_vQuadIndices
std::vector< int > m_vQuadIndices
Definition
references.h:40
CLayerQuadsEnvelopeReference::SetEnvelope
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition
references.cpp:16
CLayerQuadsEnvelopeReference::CLayerQuadsEnvelopeReference
CLayerQuadsEnvelopeReference(std::shared_ptr< CLayerQuads > pLayerQuads)
Definition
references.h:33
CLayerQuadsEnvelopeReference::Empty
bool Empty() const
Definition
references.h:37
CLayerQuads
Definition
layer_quads.h:7
CLayerSoundEnvelopeReference::AddSoundSourceIndex
void AddSoundSourceIndex(int SoundSourceIndex)
Definition
references.h:50
CLayerSoundEnvelopeReference::m_pLayerSounds
std::shared_ptr< CLayerSounds > m_pLayerSounds
Definition
references.h:55
CLayerSoundEnvelopeReference::SetEnvelope
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition
references.cpp:30
CLayerSoundEnvelopeReference::CLayerSoundEnvelopeReference
CLayerSoundEnvelopeReference(std::shared_ptr< CLayerSounds > pLayerSounds)
Definition
references.h:47
CLayerSoundEnvelopeReference::Empty
bool Empty() const
Definition
references.h:51
CLayerSoundEnvelopeReference::m_vSoundSourceIndices
std::vector< int > m_vSoundSourceIndices
Definition
references.h:54
CLayerSounds
Definition
layer_sounds.h:7
CLayerTilesEnvelopeReference::SetEnvelope
void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex) override
Definition
references.cpp:8
CLayerTilesEnvelopeReference::CLayerTilesEnvelopeReference
CLayerTilesEnvelopeReference(std::shared_ptr< CLayerTiles > pLayerTiles)
Definition
references.h:22
CLayerTilesEnvelopeReference::m_pLayerTiles
std::shared_ptr< CLayerTiles > m_pLayerTiles
Definition
references.h:27
CLayerTiles
Definition
layer_tiles.h:44
IEditorEnvelopeReference
Definition
references.h:13
IEditorEnvelopeReference::~IEditorEnvelopeReference
virtual ~IEditorEnvelopeReference()=default
IEditorEnvelopeReference::SetEnvelope
virtual void SetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int EnvelopeIndex)=0
src
game
editor
references.h
Generated by
1.18.0