public virtual void SetObjectData(ISerializationData dataHolder, ISerializationContext context)
{
Id = dataHolder.GetValue<uint>("Id");
Type = dataHolder.GetValue<Name>("Type");
Subject = dataHolder.GetValue<Name>("Subject");
Timestamp = dataHolder.GetValue<ulong>("Timestamp");
if (m_linkedEmotions == null)
m_linkedEmotions = new HashSet<string>();
else
m_linkedEmotions.Clear();
var le = dataHolder.GetValue<string[]>("LinkedEmotions");
if (le != null && le.Length > 0)
m_linkedEmotions.UnionWith(le);
EventName = BuildEventName();
}