12#ifndef TT_INCLUDE_DEFINITION_H
13#define TT_INCLUDE_DEFINITION_H
16class DefinitionClass :
public EditableClass {
18 DefinitionClass (
void);
19 virtual ~DefinitionClass (
void);
20 virtual uint32 Get_Class_ID (
void)
const = 0;
21 virtual uint32 Get_ID (
void)
const;
22 virtual void Set_ID (uint32
id);
23 virtual PersistClass * Create (
void)
const = 0;
24 virtual const char * Get_Name (
void)
const;
25 virtual void Set_Name (
const char *new_name);
26 virtual bool Is_Valid_Config (StringClass &message);
27 virtual bool Save (ChunkSaveClass &csave);
28 virtual bool Load (ChunkLoadClass &cload);
29 uint32 Get_User_Data (
void)
const {
return m_GenericUserData; }
30 void Set_User_Data (uint32 data) { m_GenericUserData = data; }
31 bool Is_Save_Enabled (
void)
const {
return m_SaveEnabled; }
32 void Enable_Save (
bool onoff) { m_SaveEnabled = onoff; }
34 virtual void Dump (FileClass &file);
35 virtual void DumpPhys (FileClass &file);
37 DECLARE_EDITABLE(DefinitionClass, EditableClass);
39 int m_DefinitionMgrLink;
41 bool Save_Variables (ChunkSaveClass &csave);
42 bool Load_Variables (ChunkLoadClass &cload);
45 uint32 m_GenericUserData;
47 friend class DefinitionMgrClass;
50inline DefinitionClass::DefinitionClass (
void)
53 m_DefinitionMgrLink (-1)
58inline DefinitionClass::~DefinitionClass (
void)
63inline const char *DefinitionClass::Get_Name (
void)
const
68inline void DefinitionClass::Set_Name (
const char *new_name)
74inline uint32 DefinitionClass::Get_ID (
void)
const
79inline bool DefinitionClass::Is_Valid_Config (StringClass &message)