12#ifndef TT_INCLUDE_POWERUPGAMEOBJ_H
13#define TT_INCLUDE_POWERUPGAMEOBJ_H
14#include "SimpleGameObj.h"
15class AudibleSoundClass;
18class PowerUpGameObjDef;
19class PowerUpGameObj :
public SimpleGameObj {
21 PowerUpGameObj(
void );
22 virtual ~PowerUpGameObj(
void );
23 virtual void Init(
void );
24 void Init(
const PowerUpGameObjDef & definition );
25 const PowerUpGameObjDef SCRIPTS_API & Get_Definition(
void )
const ;
26 virtual bool Save( ChunkSaveClass & csave );
27 virtual bool Load( ChunkLoadClass & cload );
28 virtual void On_Post_Load(
void );
29 virtual const PersistFactoryClass & Get_Factory(
void )
const;
30 virtual void Think(
void );
31 void SCRIPTS_API Grant( SmartGameObj * obj );
32 virtual PowerUpGameObj *As_PowerUpGameObj() {
return this; }
33 static PowerUpGameObj * Create_Backpack( ArmedGameObj * provider );
34 virtual bool Is_Always_Dirty(
void ) {
return false; }
35 virtual void Get_Description( StringClass & description );
40 STATE_BECOMING_IDLE = 0,
45 void Set_State(
int state );
46 void Update_State(
void );
47 AudibleSoundClass * IdleSoundObj;
50 WeaponBagClass * WeaponBag;
51 friend class PowerUpGameObjDef;