12#ifndef TT_INCLUDE_BEACONGAMEOBJ_H
13#define TT_INCLUDE_BEACONGAMEOBJ_H
14#include "SimpleGameObj.h"
15class AudibleSoundClass;
16class WeaponDefinitionClass;
18class BeaconGameObjDef;
19class BaseControllerClass;
32 ReferencerClass Owner;
35 float PreDetonateCinematicDelay;
37 float BroadcastToAllTime;
38 AudibleSoundClass* ArmedSound;
39 AudibleSoundClass* CurrentMessageSound;
40 bool PreDetonateCinematicActive;
41 const WeaponDefinitionClass* WeaponDef;
42 ReferencerClass CinematicObj;
43 PlayerDataClass* Player;
46 virtual ~BeaconGameObj();
47 virtual const PersistFactoryClass& Get_Factory()
const;
49 void Init(
const BeaconGameObjDef &);
50 SCRIPTS_API
const BeaconGameObjDef & Get_Definition(
void )
const ;
51 void Init_Beacon(
const WeaponDefinitionClass* definition, SoldierGameObj* owner,
const Vector3& position);
52 virtual bool Save(ChunkSaveClass& chunks);
53 virtual bool Load(ChunkLoadClass& chunks);
54 bool Load_Variables(ChunkLoadClass&);
56 virtual void Get_Information(StringClass& information);
57 void Start_Cinematic(
int);
58 void Stop_Armed_Sound();
59 void Set_State(
int _state);
61 BaseControllerClass* Get_Enemy_Base();
62 bool Can_Place_Here(
const Vector3& position);
63 bool Is_In_Enemy_Base();
64 void Stop_Current_Message_Sound();
65 void Display_Message(
int);
67 void Start_Owner_Animation();
68 void Stop_Owner_Animation();
69 bool Was_Owner_Interrupted();
70 SoldierGameObj* Get_Owner();
71 virtual void Completely_Damaged(
const OffenseObjectClass& offense);
72 void Create_Explosion();
73 virtual void Export_Rare(BitStreamClass& stream);
74 virtual void Import_Rare(BitStreamClass& stream);
75 SoldierGameObj* Restore_Owner();
76 virtual BeaconGameObj* As_BeaconGameObj() {
return this; }
77 PlayerDataClass *Get_Player_Data() {
return Player;}
78 int Get_State() {
return State; }
79 float Get_Arm_Time() {
return ArmTime; }
80 float Get_Detonate_Time() {
return DetonateTime; }
81 const WeaponDefinitionClass *Get_WeaponDef() {
return WeaponDef; }