12#ifndef TT_INCLUDE__AIRFACTORYGAMEOBJ_H
13#define TT_INCLUDE__AIRFACTORYGAMEOBJ_H
14#include "BuildingGameObj.h"
15class AirFactoryGameObjDef;
17class AirFactoryGameObj :
public BuildingGameObj
20 AirFactoryGameObj (
void);
21 ~AirFactoryGameObj (
void);
22 virtual void Init(
void );
23 void Init (
const AirFactoryGameObjDef & definition);
24 SCRIPTS_API
const AirFactoryGameObjDef & Get_Definition (
void)
const;
25 AirFactoryGameObj * As_AirFactoryGameObj (
void) {
return this; }
26 bool Save (ChunkSaveClass &csave);
27 bool Load (ChunkLoadClass &cload);
28 const PersistFactoryClass & Get_Factory (
void)
const;
29 void CnC_Initialize (BaseControllerClass *base);
30 void On_Destroyed (
void);
31 void On_Revived (
void);
33 bool Is_Available (
void)
const {
return (IsBusy ==
false) && (IsDestroyed ==
false) && (IsDisabled ==
false); }
34 bool Is_Available_For_Purchase (
void)
const;
35 bool Is_Busy (
void)
const {
return IsBusy; }
36 bool Is_Disabled (
void)
const {
return IsDisabled; }
37 void Set_Disabled(
bool disabled) { IsDisabled = disabled; Set_Object_Dirty_Bit (BIT_RARE,
true);}
38 int Get_Team_Vehicle_Count(
void)
const;
39 static void Set_Max_Vehicles_Per_Team(
int max) { MaxVehiclesPerTeam = max; }
40 static int Get_Max_Vehicles_Per_Team(
void) {
return MaxVehiclesPerTeam; }
41 void Import_Rare (BitStreamClass &packet);
42 void Export_Rare (BitStreamClass &packet);
43 void Create_Vehicle(
int defintion_id,SoldierGameObj * player);
44 void Set_Busy(
bool busy)
47 Set_Object_Dirty_Bit(NetworkObjectClass::BIT_RARE,
true);
50 void Load_Variables (ChunkLoadClass &cload);
51 ReferencerClass Vehicle;
55 ReferencerClass Purchaser;
56 DynamicVectorClass<PhysicalGameObj *> LandingPositions;
57 int CurrentLandingPosition;
58 Collision_Group_Type CollisionGroup;
59 static int MaxVehiclesPerTeam;