12#ifndef TT_INCLUDE__GAMEOBJMANAGER_H
13#define TT_INCLUDE__GAMEOBJMANAGER_H
26class ScriptableGameObj;
31class ScriptZoneGameObj;
38 static SCRIPTS_API REF_DECL(SList<BaseGameObj>, GameObjList);
39 static SCRIPTS_API REF_DECL(SList<BuildingGameObj>, BuildingGameObjList);
40 static SCRIPTS_API REF_DECL(SList<SoldierGameObj>, StarGameObjList);
41 static SCRIPTS_API REF_DECL(SList<SmartGameObj>, SmartGameObjList);
42 static SHARED_API SList<C4GameObj> C4GameObjList;
43 static SHARED_API SList<BeaconGameObj> BeaconGameObjList;
44 static SHARED_API SList<SoldierGameObj> SoldierGameObjList;
45 static SHARED_API SList<VehicleGameObj> VehicleGameObjList;
46 static SHARED_API SList<ScriptZoneGameObj> ScriptZoneGameObjList;
48 static REF_DECL(
bool, CinematicFreezeActive);
53 static void Generate_Control();
55 static void Post_Think();
56 static PhysicalGameObj* Find_PhysicalGameObj(
int);
57 SCRIPTS_API
static SmartGameObj* Find_SmartGameObj(
int);
59 static void Shutdown();
60 static bool Save(ChunkSaveClass&);
61 static bool Load(ChunkLoadClass&);
62 static void Add(BaseGameObj *obj)
64 GameObjList.Add_Head(obj);
66 static void Remove(BaseGameObj *obj)
68 GameObjList.Remove(obj);
70 static void Init_All();
71 static void Destroy_All();
72 static SoldierGameObj* Find_Soldier_Of_Client_ID(
int);
73 static SoldierGameObj* Find_Different_Player_Soldier(
int);
74 static SoldierGameObj* Find_Soldier_Of_Player_Type(
int);
75 static ScriptableGameObj* Find_ScriptableGameObj(
int);
76 static VehicleGameObj* Find_Vehicle_Occupied_By(SoldierGameObj*);
77 static void Init_Buildings();
78 static void Update_Building_Collection_Spheres();
79 static void Debug_Set_All_Building_States(
float,
bool);
80 static bool Is_In_Environment_Zone(Vector3&);
81 static void Add_Building(BuildingGameObj *obj) {BuildingGameObjList.Add_Tail(obj);}
82 static void Remove_Building(BuildingGameObj *obj) {BuildingGameObjList.Remove(obj);}