Torch
Loading...
Searching...
No Matches
SequenceFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
#include "types/RawBuffer.h"
5
6
class
SequenceData :
public
IParsedData
{
7
public
:
8
uint32_t mId;
9
uint32_t mSize;
10
std::vector<uint8_t> mBuffer;
11
std::vector<std::string> mBanks;
12
13
SequenceData(uint32_t
id
, uint32_t size, uint8_t* data, std::vector<std::string>& banks) : mId(
id
), mSize(size), mBanks(banks) {
14
mBuffer = std::vector<uint8_t>(data, data + size);
15
}
16
};
17
18
class
SequenceBinaryExporter
:
public
BaseExporter
{
19
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
20
};
21
22
class
SequenceModdingExporter
:
public
BaseExporter
{
23
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
24
};
25
26
class
SequenceFactory
:
public
BaseFactory
{
27
public
:
28
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
29
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
30
31
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
32
return
{
33
REGISTER(Modding,
SequenceModdingExporter
)
34
REGISTER(Binary,
SequenceBinaryExporter
)
35
};
36
}
37
38
bool
SupportModdedAssets()
override
{
return
true
; }
39
};
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SequenceBinaryExporter
Definition
SequenceFactory.h:18
SequenceFactory
Definition
SequenceFactory.h:26
SequenceModdingExporter
Definition
SequenceFactory.h:22
src
factories
naudio
v0
SequenceFactory.h
Generated by
1.14.0