/*
 * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
 */

#ifndef _Entities_GhostBusterRay_INCLUDED
#define _Entities_GhostBusterRay_INCLUDED 1
#include <Entities/Light.h>
#include <Entities/Bullet.h>
#include <Entities/PlayerWeapons.h>
#include <Engine/Classes/MovableEntity.h>
#define EVENTCODE_EGhostBusterRay 0x01f90000
class DECL_DLL EGhostBusterRay : public CEntityEvent {
public:
EGhostBusterRay();
CEntityEvent *MakeCopy(void);
CEntityPointer penOwner;
};
DECL_DLL inline void ClearToDefault(EGhostBusterRay &e) { e = EGhostBusterRay(); } ;
extern "C" DECL_DLL CDLLEntityClass CGhostBusterRay_DLLClass;
class CGhostBusterRay : public CMovableModelEntity {
public:
virtual CEntity *GetPredictionPair(void) { return m_penPrediction; };
virtual void SetPredictionPair(CEntity *penPair) { m_penPrediction = penPair; };
  DECL_DLL virtual void SetDefaultProperties(void);
  CEntityPointer m_penOwner;
  BOOL m_bRender;
  FLOAT3D m_vSrcOld;
  FLOAT3D m_vDstOld;
  FLOAT3D m_vSrc;
  FLOAT3D m_vDst;
  FLOAT3D m_iLastBulletPosition;
  CAnimObject m_aoLightAnim;
  INDEX m_ctPasses;
  CEntityPointer m_penPrediction;
CLightSource m_lsLightSource;
CEntity * penBullet;
const CPlacement3D * pplSource;
   
#line 61 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void AddDependentsToPrediction(void);
   
#line 66 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void RenderParticles(void);
   
#line 77 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void Read_t(CTStream * istr);
   
#line 84 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
CLightSource * GetLightSource(void);
   
#line 94 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void SetupLightSource(void);
   
#line 115 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void DoMoving(void);
   
#line 119 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void PostMoving(void);
   
#line 165 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void PrepareBullet(const CPlacement3D & plBullet);
   
#line 177 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void Fire(const CPlacement3D & plSource);
   
#line 190 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
void DestroyGhostBusterRay(void);
#define  STATE_CGhostBusterRay_Main 1
  BOOL 
#line 201 "/home/seb/git/Serious-Seb/Sources/Entities/GhostBusterRay.es"
Main(const CEntityEvent &__eeInput);
};
#endif // _Entities_GhostBusterRay_INCLUDED
