12#ifndef TT_INCLUDE__BUILDINGGAMEOBJDEF_H
13#define TT_INCLUDE__BUILDINGGAMEOBJDEF_H
16#include "engine_common.h"
17#include "engine_vector.h"
18#include "engine_threading.h"
19#include "engine_string.h"
20#include "DamageableGameObjDef.h"
21typedef unsigned int ArmorType;
22namespace BuildingConstants
54class BuildingGameObjDef :
public DamageableGameObjDef
57 BuildingGameObjDef(
void );
58 virtual uint32 Get_Class_ID(
void )
const;
59 virtual PersistClass * Create(
void )
const ;
60 virtual bool Save( ChunkSaveClass &csave );
61 virtual bool Load( ChunkLoadClass &cload );
62 virtual const PersistFactoryClass & Get_Factory(
void )
const;
64 virtual void Dump (FileClass &file);
66 DECLARE_EDITABLE( BuildingGameObjDef, DamageableGameObjDef );
67 void Set_Type (BuildingConstants::BuildingType type) { Type = type; }
68 BuildingConstants::BuildingType Get_Type (
void)
const {
return Type; }
69 const StringClass & Get_Mesh_Prefix (
void)
const {
return MeshPrefix; }
70 int Get_Damage_Report(
int team)
const;
71 int Get_Destroy_Report(
int team)
const;
72 bool Get_Hide_Team_Battlefield_Information()
const;
74 StringClass MeshPrefix;
76 BuildingConstants::BuildingType Type;
77 int GDIDamageReportID;
78 int NodDamageReportID;
79 int GDIDestroyReportID;
80 int NodDestroyReportID;
81 friend class BuildingGameObj;
82 friend class PresetDump;
83 bool HideTeamBattlefieldInformation;