![]() |
galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
|
Allows a class to be serialized. More...
#include <Serializable.hpp>
Public Member Functions | |
virtual | ~Serializable () |
Destructor. | |
virtual Serializable & | operator= (Serializable &&)=default |
Move assignment operator. | |
virtual Serializable & | operator= (const Serializable &)=default |
Copy assignment operator. | |
virtual nlohmann::json | serialize ()=0 |
Serializes object. | |
virtual void | deserialize (const nlohmann::json &json)=0 |
Deserializes from object. | |
Protected Member Functions | |
Serializable () | |
Constructor. | |
Allows a class to be serialized.
A class wanting to gain serializability must inherit from this class and implement the interface.
Definition at line 22 of file Serializable.hpp.
|
virtual |
Destructor.
Definition at line 14 of file Serializable.cpp.
|
protected |
Constructor.
Definition at line 18 of file Serializable.cpp.
|
nodiscardvirtualdefault |
Move assignment operator.
|
nodiscardvirtualdefault |
Copy assignment operator.
|
nodiscardpure virtual |
Serializes object.
Implemented in galaxy::components::Animated, galaxy::components::Circle, galaxy::components::Ellipse, galaxy::components::GUI, galaxy::components::Point, galaxy::components::Polygon, galaxy::components::Polyline, galaxy::components::RigidBody, galaxy::components::Script, galaxy::components::Sprite, galaxy::components::Tag, galaxy::components::Text, galaxy::components::Transform, galaxy::flags::Disabled, galaxy::scene::Scene, and galaxy::scene::SceneManager.
|
pure virtual |
Deserializes from object.
json | Json object to retrieve data from. |
Implemented in galaxy::components::Animated, galaxy::components::Circle, galaxy::components::Ellipse, galaxy::components::GUI, galaxy::components::Point, galaxy::components::Polygon, galaxy::components::Polyline, galaxy::components::RigidBody, galaxy::components::Script, galaxy::components::Sprite, galaxy::components::Tag, galaxy::components::Text, galaxy::components::Transform, galaxy::flags::Disabled, galaxy::scene::Scene, and galaxy::scene::SceneManager.