9 #include "GDCore/Project/EventsBasedObjectVariant.h"
10 #include "GDCore/String.h"
11 #include "GDCore/Tools/SerializableWithNameList.h"
14 class SerializerElement;
98 std::size_t position) {
99 return InsertNew(name, position);
102 std::size_t position) {
103 return Insert(
object, position);
105 void RemoveVariant(
const gd::String& name) {
return Remove(name); }
106 void ClearVariants() {
return Clear(); }
107 void MoveVariant(std::size_t oldIndex, std::size_t newIndex) {
108 return Move(oldIndex, newIndex);
111 return GetPosition(eventsFunction);
137 return SerializeElementsTo(
"variant", element);
145 return UnserializeElementsFrom(
"variant", project, element);
Represents a variation of style of an events-based object.
Definition: EventsBasedObjectVariant.h:25
Used as a base class for classes that will own events-backed variants.
Definition: EventsBasedObjectVariantsContainer.h:27
void Init(const gd::EventsBasedObjectVariantsContainer &other)
Definition: EventsBasedObjectVariantsContainer.h:153
gd::EventsBasedObjectVariant & GetVariant(const gd::String &name)
Get the variant with the specified name.
Definition: EventsBasedObjectVariantsContainer.h:58
void SerializeVariantsTo(SerializerElement &element) const
Serialize events variants.
Definition: EventsBasedObjectVariantsContainer.h:136
const gd::EventsBasedObjectVariant & GetVariant(std::size_t index) const
Get the variant at the specified index in the list.
Definition: EventsBasedObjectVariantsContainer.h:88
bool HasVariantNamed(const gd::String &name) const
Check if the variant with the specified name exists.
Definition: EventsBasedObjectVariantsContainer.h:48
const gd::EventsBasedObjectVariant & GetVariant(const gd::String &name) const
Get the variant with the specified name.
Definition: EventsBasedObjectVariantsContainer.h:68
gd::EventsBasedObjectVariant & GetVariant(std::size_t index)
Get the variant at the specified index in the list.
Definition: EventsBasedObjectVariantsContainer.h:78
void UnserializeVariantsFrom(gd::Project &project, const SerializerElement &element)
Unserialize the events variants.
Definition: EventsBasedObjectVariantsContainer.h:143
std::size_t GetVariantsCount() const
Return the number of variants.
Definition: EventsBasedObjectVariantsContainer.h:95
std::vector< std::unique_ptr< gd::EventsBasedObjectVariant > > & GetInternalVector()
Provide a raw access to the vector containing the variants.
Definition: EventsBasedObjectVariantsContainer.h:125
const std::vector< std::unique_ptr< gd::EventsBasedObjectVariant > > & GetInternalVector() const
Provide a raw access to the vector containing the variants.
Definition: EventsBasedObjectVariantsContainer.h:117
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
A class template that store a list of elements that can be accessed by their names and serialized.
Definition: SerializableWithNameList.h:33
void Init(const SerializableWithNameList< T > &other)
Definition: SerializableWithNameList.inl:190
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24