This commit is contained in:
Aria 2025-03-21 22:23:30 +11:00
commit 9c94d113d3
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
10260 changed files with 1237388 additions and 0 deletions

View file

@ -0,0 +1,44 @@
#ifndef STAR_RADIO_MESSAGE_DATABASE_HPP
#define STAR_RADIO_MESSAGE_DATABASE_HPP
#include "StarBiMap.hpp"
#include "StarJson.hpp"
namespace Star {
STAR_EXCEPTION(RadioMessageDatabaseException, StarException);
STAR_STRUCT(RadioMessage);
STAR_CLASS(RadioMessageDatabase);
enum class RadioMessageType { Generic, Mission, Quest, Tutorial };
extern EnumMap<RadioMessageType> const RadioMessageTypeNames;
struct RadioMessage {
String messageId;
RadioMessageType type;
bool unique;
bool important;
String text;
String senderName;
String portraitImage;
int portraitFrames;
float portraitSpeed;
float textSpeed;
float persistTime;
String chatterSound;
};
class RadioMessageDatabase {
public:
RadioMessageDatabase();
RadioMessage radioMessage(String const& messageName) const;
RadioMessage createRadioMessage(Json const& config, Maybe<String> const& uniqueId = {}) const;
private:
StringMap<RadioMessage> m_radioMessages;
};
}
#endif