From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- Runtime/BaseClasses/NamedObject.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Runtime/BaseClasses/NamedObject.cpp (limited to 'Runtime/BaseClasses/NamedObject.cpp') diff --git a/Runtime/BaseClasses/NamedObject.cpp b/Runtime/BaseClasses/NamedObject.cpp new file mode 100644 index 0000000..41acc3a --- /dev/null +++ b/Runtime/BaseClasses/NamedObject.cpp @@ -0,0 +1,33 @@ +#include "UnityPrefix.h" +#include "Runtime/Serialize/TransferFunctions/SerializeTransfer.h" +#include "NamedObject.h" +#include "Runtime/Containers/ConstantStringSerialization.h" + +NamedObject::NamedObject (MemLabelId label, ObjectCreationMode mode) +: Super(label, mode) +{ +} + +NamedObject::~NamedObject () +{ +} + +template +void NamedObject::Transfer (TransferFunction& transfer) +{ + Super::Transfer (transfer); + TransferConstantString(m_Name, "m_Name", kHideInEditorMask, GetMemoryLabel(), transfer); +} + +void NamedObject::SetName (char const* name) +{ + if (strcmp (m_Name.c_str (), name) != 0) + { + m_Name.assign (name, GetMemoryLabel()); + SetDirty (); + } +} + +IMPLEMENT_CLASS (NamedObject) +IMPLEMENT_OBJECT_SERIALIZE (NamedObject) +INSTANTIATE_TEMPLATE_TRANSFER_EXPORTED(NamedObject) \ No newline at end of file -- cgit v1.1-26-g67d0