mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-24 22:43:34 +00:00
cefdfc696a
* cleanup * more cleanup and fully implement the sound trigger and racing sound trigger * more cleanup, and better defaults * fixes and tested * update initializor for guid and when to load sound guids * make racing sound trigger it's own component * fix type * Remove global move serializes --------- Co-authored-by: David Markowitz <EmosewaMC@gmail.com>
78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
#pragma once
|
|
#include "dCommonVars.h"
|
|
#include "Entity.h"
|
|
#include "GUID.h"
|
|
#include "Component.h"
|
|
#include "eReplicaComponentType.h"
|
|
|
|
struct MusicCue {
|
|
std::string name;
|
|
uint32_t result;
|
|
float boredomTime;
|
|
|
|
MusicCue(std::string name, float boredomTime = -1.0, uint32_t result = 1){
|
|
this->name = name;
|
|
this->result = result;
|
|
this->boredomTime = boredomTime;
|
|
};
|
|
|
|
void Serialize(RakNet::BitStream* outBitStream);
|
|
};
|
|
|
|
struct MusicParameter {
|
|
std::string name;
|
|
float value;
|
|
|
|
MusicParameter(std::string name, float value = 0.0){
|
|
this->name = name;
|
|
this->value = value;
|
|
}
|
|
|
|
void Serialize(RakNet::BitStream* outBitStream);
|
|
};
|
|
|
|
struct GUIDResults{
|
|
GUID guid;
|
|
uint32_t result;
|
|
|
|
GUIDResults(std::string guidString, uint32_t result = 1){
|
|
this->guid = GUID(guidString);
|
|
this->result = result;
|
|
}
|
|
|
|
void Serialize(RakNet::BitStream* outBitStream);
|
|
};
|
|
|
|
struct MixerProgram{
|
|
std::string name;
|
|
uint32_t result;
|
|
|
|
MixerProgram(std::string name, uint32_t result = 0){
|
|
this->name = name;
|
|
this->result = result;
|
|
}
|
|
|
|
void Serialize(RakNet::BitStream* outBitStream);
|
|
};
|
|
|
|
|
|
class SoundTriggerComponent : public Component {
|
|
public:
|
|
static const eReplicaComponentType ComponentType = eReplicaComponentType::SOUND_TRIGGER;
|
|
|
|
explicit SoundTriggerComponent(Entity* parent);
|
|
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
|
void ActivateMusicCue(const std::string& name, float bordemTime = -1.0);
|
|
void DeactivateMusicCue(const std::string& name);
|
|
|
|
private:
|
|
|
|
std::vector<MusicCue> m_MusicCues = {};
|
|
std::vector<MusicParameter> m_MusicParameters = {};
|
|
std::vector<GUIDResults> m_2DAmbientSounds = {};
|
|
std::vector<GUIDResults> m_3DAmbientSounds = {};
|
|
std::vector<MixerProgram> m_MixerPrograms = {};
|
|
|
|
bool m_Dirty = false;
|
|
};
|