Files
GDevelop/Core/GDCore/Project/ExternalEvents.cpp
2024-10-14 12:06:42 +02:00

47 lines
1.4 KiB
C++

#include "GDCore/Project/ExternalEvents.h"
#include "ExternalEvents.h"
#include "GDCore/Events/Event.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/Serialization/SerializerElement.h"
namespace gd {
ExternalEvents::ExternalEvents() {
// ctor
}
ExternalEvents::ExternalEvents(const ExternalEvents& externalEvents) {
Init(externalEvents);
}
ExternalEvents& ExternalEvents::operator=(const ExternalEvents& rhs) {
if (this != &rhs) Init(rhs);
return *this;
}
void ExternalEvents::Init(const ExternalEvents& externalEvents) {
name = externalEvents.GetName();
associatedScene = externalEvents.GetAssociatedLayout();
events = externalEvents.events;
}
void ExternalEvents::SerializeTo(SerializerElement& element) const {
element.SetAttribute("name", name);
element.SetAttribute("associatedLayout", associatedScene);
gd::EventsListSerialization::SerializeEventsTo(events,
element.AddChild("events"));
}
void ExternalEvents::UnserializeFrom(gd::Project& project,
const SerializerElement& element) {
name = element.GetStringAttribute("name", "", "Name");
associatedScene =
element.GetStringAttribute("associatedLayout", "", "AssociatedScene");
gd::EventsListSerialization::UnserializeEventsFrom(
project, events, element.GetChild("events", 0, "Events"));
}
} // namespace gd