summaryrefslogtreecommitdiff
path: root/Runtime/BaseClasses/NamedObject.cpp
blob: 41acc3ac487e222c7f17ddf662a4819e2db6ccaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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<class TransferFunction>
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)