-
-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathcontrolschemeconverter.cpp
More file actions
41 lines (31 loc) · 1.05 KB
/
controlschemeconverter.cpp
File metadata and controls
41 lines (31 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "converters/controlschemeconverter.h"
#include <json.h>
#include <file.h>
namespace {
const char *gData("Data");
}
#define FORMAT_VERSION 1
ControlScehemeConverterSettings::ControlScehemeConverterSettings() {
setVersion(FORMAT_VERSION);
}
StringList ControlScehemeConverterSettings::typeNames() const {
return { "ControlScheme" };
}
AssetConverter::ReturnCode ControlSchemeConverter::convertFile(AssetConverterSettings *settings) {
File src(settings->source());
if(src.open(File::ReadOnly)) {
ControlScheme *scheme = Engine::loadResource<ControlScheme>(settings->destination());
if(scheme == nullptr) {
scheme = Engine::objectCreate<ControlScheme>();
}
VariantMap map;
map[gData] = Json::load(src.readAll());
scheme->loadUserData(map);
src.close();
return settings->saveBinary(Engine::toVariant(scheme));
}
return InternalError;
}
AssetConverterSettings *ControlSchemeConverter::createSettings() {
return new ControlScehemeConverterSettings();
}