Unravel Engine C++ Reference
Loading...
Searching...
No Matches
input.cpp
Go to the documentation of this file.
1#include "input.hpp"
2
3#include <fstream>
9
10namespace input
11{
12
14{
15 entt::meta_factory<action_map>{}
16 .type("action_map"_hs)
18 entt::attribute{"name", "action_map"},
19 entt::attribute{"pretty_name", "Action Map"},
20 });
21}
22
24{
25 try_save(ar, ser20::make_nvp("type", obj.type));
26 try_save(ar, ser20::make_nvp("range", obj.range));
27 try_save(ar, ser20::make_nvp("value", obj.value));
28}
29
31{
32 try_load(ar, ser20::make_nvp("type", obj.type));
33 try_load(ar, ser20::make_nvp("range", obj.range));
34 try_load(ar, ser20::make_nvp("value", obj.value));
35}
36
38{
39 try_save(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
40}
43
45{
46 try_load(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
47}
50
52{
53 try_save(ar, ser20::make_nvp("type", obj.type));
54 try_save(ar, ser20::make_nvp("range", obj.range));
55 try_save(ar, ser20::make_nvp("value", obj.value));
56 try_save(ar, ser20::make_nvp("min_analog_value", obj.min_analog_value));
57 try_save(ar, ser20::make_nvp("max_analog_value", obj.max_analog_value));
58}
59
61{
62 try_load(ar, ser20::make_nvp("type", obj.type));
63 try_load(ar, ser20::make_nvp("range", obj.range));
64 try_load(ar, ser20::make_nvp("value", obj.value));
65 try_load(ar, ser20::make_nvp("min_analog_value", obj.min_analog_value));
66 try_load(ar, ser20::make_nvp("max_analog_value", obj.max_analog_value));
67}
68
70{
71 try_save(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
72}
75
77{
78 try_load(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
79}
82
84{
85 try_save(ar, ser20::make_nvp("key", obj.key));
86 try_save(ar, ser20::make_nvp("modifiers", obj.modifiers));
87 try_save(ar, ser20::make_nvp("analog_value", obj.analog_value));
88}
89
91{
92 try_load(ar, ser20::make_nvp("key", obj.key));
93 try_load(ar, ser20::make_nvp("modifiers", obj.modifiers));
94 try_load(ar, ser20::make_nvp("analog_value", obj.analog_value));
95}
96
98{
99 try_save(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
100}
103
105{
106 try_load(ar, ser20::make_nvp("entries_by_action_id", obj.entries_by_action_id_));
107}
110
112{
113 try_save(ar, ser20::make_nvp("keyboard_map", obj.keyboard_map));
114 try_save(ar, ser20::make_nvp("gamepad_map", obj.gamepad_map));
115 try_save(ar, ser20::make_nvp("mouse_map", obj.mouse_map));
116}
119
121{
122 try_load(ar, ser20::make_nvp("keyboard_map", obj.keyboard_map));
123 try_load(ar, ser20::make_nvp("gamepad_map", obj.gamepad_map));
124 try_load(ar, ser20::make_nvp("mouse_map", obj.mouse_map));
125}
128
129// void save_to_file(const std::string& absolute_path, const settings& obj)
130// {
131// std::ofstream stream(absolute_path);
132// if(stream.good())
133// {
134// auto ar = ser20::create_oarchive_associative(stream);
135// try_save(ar, ser20::make_nvp("settings", obj));
136// }
137// }
138
139// void save_to_file_bin(const std::string& absolute_path, const settings& obj)
140// {
141// std::ofstream stream(absolute_path, std::ios::binary);
142// if(stream.good())
143// {
144// ser20::oarchive_binary_t ar(stream);
145// try_save(ar, ser20::make_nvp("settings", obj));
146// }
147// }
148
149// auto load_from_file(const std::string& absolute_path, settings& obj) -> bool
150// {
151// std::ifstream stream(absolute_path);
152// if(stream.good())
153// {
154// auto ar = ser20::create_iarchive_associative(stream);
155// return try_load(ar, ser20::make_nvp("settings", obj));
156// }
157
158// return false;
159// }
160
161// auto load_from_file_bin(const std::string& absolute_path, settings& obj) -> bool
162// {
163// std::ifstream stream(absolute_path, std::ios::binary);
164// if(stream.good())
165// {
166// ser20::iarchive_binary_t ar(stream);
167// return try_load(ar, ser20::make_nvp("settings", obj));
168// }
169
170// return false;
171// }
172} // namespace input
attributes::value_type attribute
Definition reflection.h:19
std::map< std::string, meta_any > attributes
Definition reflection.h:18
BinaryInputArchive iarchive_binary_t
simd::JSONOutputArchive oarchive_associative_t
BinaryOutputArchive oarchive_binary_t
simd::JSONInputArchive iarchive_associative_t
#define REFLECT(cls)
Definition reflection.h:133
#define SAVE_INSTANTIATE(cls, Archive)
#define LOAD(cls)
auto try_save(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool
#define LOAD_INSTANTIATE(cls, Archive)
#define SAVE(cls)
#define LOAD_INLINE(cls)
#define SAVE_INLINE(cls)
auto try_load(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool