12#ifndef TT_INCLUDE__REFERENCERCLASS_H
13#define TT_INCLUDE__REFERENCERCLASS_H
15#include "PostLoadableClass.h"
16#include "ReferenceableClass.h"
17template <
class T>
class ReferenceableClass;
18class SCRIPTS_API ReferencerClass :
public PostLoadableClass
22 ReferenceableClass<ScriptableGameObj>* ReferenceTarget;
23 ReferencerClass* TargetReferencerListNext;
26 friend class ReferenceableClass<ScriptableGameObj>;
29 bool Save (ChunkSaveClass& chunkSaver);
30 bool Load (ChunkLoadClass& chunkLoader);
33 ReferencerClass& operator = (ScriptableGameObj*
object);
34 ReferencerClass& operator = (
const ReferencerClass& referencer);
36 operator ScriptableGameObj* ()
const;
37 inline ScriptableGameObj* operator ->() {
return Get_Ptr(); }
39 inline ReferencerClass()
40 : ReferenceTarget(0), TargetReferencerListNext(0)
45 inline ReferencerClass
46 (ScriptableGameObj*
object)
47 : ReferenceTarget(0), TargetReferencerListNext(0)
53 inline ScriptableGameObj* Get_Ptr()
const
55 return ReferenceTarget ? ReferenceTarget->Get_Data() : NULL;
60 (ScriptableGameObj*
object)