Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarHumanoid.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-29 05:58:24 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-29 05:58:24 +1000
commitfb0ab850891ad345d75c32fd9c161ed1bf9a18ee (patch)
tree4b5c7eb91a6674b4102cd63f80d1f7b1e9293d8b /source/game/StarHumanoid.cpp
parent8a2de03b0fa88fa378e1aeee683497745e6e3417 (diff)
Lua: player.* identity getters and setters
Diffstat (limited to 'source/game/StarHumanoid.cpp')
-rw-r--r--source/game/StarHumanoid.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/source/game/StarHumanoid.cpp b/source/game/StarHumanoid.cpp
index d296842..e814ade 100644
--- a/source/game/StarHumanoid.cpp
+++ b/source/game/StarHumanoid.cpp
@@ -27,10 +27,34 @@ extern EnumMap<HumanoidEmote> const HumanoidEmoteNames{
{HumanoidEmote::Sleep, "Sleep"}
};
-Personality parsePersonality(Json const& config) {
+Personality parsePersonalityArray(Json const& config) {
return Personality{config.getString(0), config.getString(1), jsonToVec2F(config.get(2)), jsonToVec2F(config.get(3))};
}
+Personality& parsePersonality(Personality& personality, Json const& config) {
+ if (auto idle = config.get("idle"))
+ personality.idle = idle.toString();
+ if (auto armIdle = config.get("armIdle"))
+ personality.idle = armIdle.toString();
+ if (auto headOffset = config.get("headOffset"))
+ personality.headOffset = jsonToVec2F(headOffset);
+ if (auto armOffset = config.get("armOffset"))
+ personality.armOffset = jsonToVec2F(armOffset);
+}
+
+Personality parsePersonality(Json const& config) {
+ return parsePersonality(Personality(), config);
+}
+
+Json jsonFromPersonality(Personality const& personality) {
+ return JsonObject{
+ { "idle", personality.idle },
+ { "armIdle", personality.armIdle },
+ { "headOffset", jsonFromVec2F(personality.headOffset) },
+ { "armOffset", jsonFromVec2F(personality.armOffset) }
+ };
+}
+
HumanoidIdentity::HumanoidIdentity(Json config) {
if (config.isNull())
config = JsonObject();