PBActions.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5CDM_BIND_DECL(AnyActionData)
6CDM_BIND_DECL2(Action)
7CDM_BIND_DECL2(AdvanceTime)
8CDM_BIND_DECL2(SerializeState)
9CDM_BIND_DECL2(Overrides)
11
12class CDM_DECL PBAction
13{
14public:
15
17 static SEAction* Load(const CDM_BIND::AnyActionData& action, const SESubstanceManager& subMgr);
19 static CDM_BIND::AnyActionData* Unload(const SEAction& action);
20 static SEAction* Copy(const SEAction& a, const SESubstanceManager& subMgr);
21 static bool SerializeToString(const SEAction& a, std::string& dst, eSerializationFormat fmt=eSerializationFormat::JSON);
22 static SEAction* SerializeFromString(const std::string& src, eSerializationFormat fmt, const SESubstanceManager& subMgr);
23
24 static void Serialize(const CDM_BIND::ActionData& src, SEAction& dst);
25 static void Serialize(const SEAction& src, CDM_BIND::ActionData& dst);
26
27 static void Load(const CDM_BIND::AdvanceTimeData& src, SEAdvanceTime& dst);
28 static CDM_BIND::AdvanceTimeData* Unload(const SEAdvanceTime& src);
29 static void Serialize(const CDM_BIND::AdvanceTimeData& src, SEAdvanceTime& dst);
30 static void Serialize(const SEAdvanceTime& src, CDM_BIND::AdvanceTimeData& dst);
31
32 static void Load(const CDM_BIND::SerializeStateData& src, SESerializeState& dst);
33 static CDM_BIND::SerializeStateData* Unload(const SESerializeState& src);
34 static void Serialize(const CDM_BIND::SerializeStateData& src, SESerializeState& dst);
35 static void Serialize(const SESerializeState& src, CDM_BIND::SerializeStateData& dst);
36
37 static void Load(const CDM_BIND::OverridesData& src, SEOverrides& dst);
38 static CDM_BIND::OverridesData* Unload(const SEOverrides& src);
39 static void Serialize(const CDM_BIND::OverridesData& src, SEOverrides& dst);
40 static void Serialize(const SEOverrides& src, CDM_BIND::OverridesData& dst);
41 static void Copy(const SEOverrides& src, SEOverrides& dst);
42};
Definition: PBActions.h:13
Definition: SEAction.h:14
Definition: SEAdvanceTime.h:8
Definition: SEOverrides.h:8
Definition: SESerializeState.h:12
Definition: SESubstanceManager.h:9

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.