Tiberian Technologies Scripts Reference Revision: 9000
Loading...
Searching...
No Matches
TDBObjClass.h
1/* Renegade Scripts.dll
2 Copyright 2013 Tiberian Technologies
3
4 This file is part of the Renegade scripts.dll
5 The Renegade scripts.dll is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version. See the file COPYING for more details.
9 In addition, an exemption is given to allow Run Time Dynamic Linking of this code with any closed source module that does not contain code covered by this licence.
10 Only the source code to the module(s) containing the licenced code has to be released.
11*/
12#ifndef TT_INCLUDE__TDBOBJCLASS_H
13#define TT_INCLUDE__TDBOBJCLASS_H
14
15#include "Persist.h"
16#include "engine_string.h"
17#include "engine_vector.h"
18class StringTwiddlerClass;
19
20class TDBObjClass : public PersistClass
21{
22public:
23 TDBObjClass (void);
24 TDBObjClass (const TDBObjClass &src);
25 virtual ~TDBObjClass (void);
26 const TDBObjClass & operator= (const TDBObjClass &src);
27 virtual StringTwiddlerClass * As_StringTwiddlerClass (void) { return NULL; }
28 const PersistFactoryClass & Get_Factory (void) const;
29 bool Save (ChunkSaveClass &csave);
30 bool Load (ChunkLoadClass &cload);
31 virtual TDBObjClass * Clone (void) const { return new TDBObjClass (*this); }
32 virtual const WideStringClass & Get_String (uint32 lang_id);
33 virtual const WideStringClass & Get_String (void);
34 virtual const StringClass & Get_English_String (void) { return EnglishString; }
35 virtual uint32 Get_ID (void) { return ID; }
36 virtual const StringClass & Get_ID_Desc (void) { return IDDesc; }
37 virtual uint32 Get_Sound_ID (void) { return SoundID; }
38 virtual const StringClass & Get_Animation_Name (void) { return AnimationName; }
39 virtual uint32 Get_Category_ID (void) { return CategoryID; }
40 virtual void Set_String (uint32 lang_id, const wchar_t *string);
41 virtual void Set_English_String (const char *string);
42 virtual void Set_ID (uint32 id);
43 virtual void Set_ID_Desc (const char *desc);
44 virtual void Set_Animation_Name (const char *name) { AnimationName = name; }
45 virtual void Set_Sound_ID (uint32 id) { SoundID = id; }
46 virtual void Set_Category_ID (uint32 id) { CategoryID = id; }
47 virtual bool Contains_Translation (uint32 lang_id);
48protected:
49 void Save_Variables (ChunkSaveClass &csave);
50 void Load_Variables (ChunkLoadClass &cload);
51 StringClass EnglishString;
52 StringClass IDDesc;
53 uint32 ID;
54 uint32 SoundID;
55 uint32 CategoryID;
56 StringClass AnimationName;
57 DynamicVectorClass<WideStringClass> TranslatedStrings;
58};
59
60#endif