HoverRace  2.0
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
HoverRace::ObjFac1::Missile Class Reference

#include <Missile.h>

+ Inheritance diagram for HoverRace::ObjFac1::Missile:

Public Member Functions

 Missile ()
 
 ~Missile ()
 
- Public Member Functions inherited from HoverRace::ObjFacTools::FreeElementBase
 FreeElementBase (const Util::ObjectFromFactoryId &id)
 
 ~FreeElementBase ()
 
void Render (VideoServices::Viewport3D *pDest, MR_SimulationTime pTime) override
 
- Public Member Functions inherited from HoverRace::Model::FreeElement
 FreeElement (const Util::ObjectFromFactoryId &id={0, 0})
 
virtual ~FreeElement ()
 
virtual bool AssignPermNumber (int pNumber)
 Assign a permanent hook number. More...
 
virtual const ShapeInterfaceGetObstacleShape ()
 Get the shape that stops other elements' movement. More...
 
virtual void PlayInternalSounds ()
 
- Public Member Functions inherited from HoverRace::Model::Element
 Element (const Util::ObjectFromFactoryId &id)
 
virtual ~Element ()
 
virtual void AddRenderer ()
 
void ApplyEffects (const ContactEffectList *pList, MR_SimulationTime pTime, MR_SimulationTime pDuration, BOOL pValidDirection, MR_Angle pHorizontalDirection, MR_Int32 pZMin, MR_Int32 pZMax, Track &track)
 
void Serialize (Parcel::ObjStream &) overridefinal
 
- Public Member Functions inherited from HoverRace::Util::ObjectFromFactory
 ObjectFromFactory (const ObjectFromFactoryId &pId) noexcept
 
virtual ~ObjectFromFactory ()
 
const ObjectFromFactoryIdGetTypeId () const noexcept
 

Protected Member Functions

void ApplyEffect (const Model::ContactEffect *pEffect, MR_SimulationTime pTime, MR_SimulationTime pDuration, BOOL pValidDirection, MR_Angle pHorizontalDirection, MR_Int32 pZMin, MR_Int32 pZMax, Model::Track &pLevel) override
 
MR_Int32 AxisX () const override
 
MR_Int32 AxisY () const override
 
const Model::ContactEffectListGetEffectList () override
 
const Model::ShapeInterfaceGetGivingContactEffectShape () override
 Get the shape that gives an effect when touching while moving. More...
 
Model::ElementNetState GetNetState () const override
 
const Model::ShapeInterfaceGetReceivingContactEffectShape () override
 Get the shape that gives an effect when touched by a moving element. More...
 
int InternalSimulate (MR_SimulationTime pDuration, Model::Track &track, int pRoom)
 
void PlayExternalSounds (int pDB, int pPan) override
 
MR_Int32 RayLen () const override
 
void SetNetState (int pDataLen, const MR_UInt8 *pData) override
 
void SetOwnerId (int pOwner) override
 
int Simulate (MR_SimulationTime pTimeSlice, Model::Track &track, int pRoom) override
 Advance the simulation. More...
 
MR_Int32 ZMax () const override
 
MR_Int32 ZMin () const override
 
- Protected Member Functions inherited from HoverRace::Model::CylinderShape
eShape ShapeType () const override
 
MR_Int32 XMax () const override
 
MR_Int32 XMin () const override
 
MR_Int32 XPos () const override
 
MR_Int32 YMax () const override
 
MR_Int32 YMin () const override
 
MR_Int32 YPos () const override
 
- Protected Member Functions inherited from HoverRace::Model::ShapeInterface
virtual ~ShapeInterface ()
 

Private Types

using SUPER = ObjFacTools::FreeElementBase
 

Private Attributes

VideoServices::ShortSoundmBounceSound
 
bool mBounceSoundEvent
 
Model::PhysicalCollision mCollisionEffect
 
Model::ContactEffectList mEffectList
 
int mHoverId
 
MR_SimulationTime mLived
 
Model::LostOfControl mLostOfControlEffect
 
VideoServices::ContinuousSoundmMotorSound
 
double mXSpeed
 
double mYSpeed
 

Additional Inherited Members

- Static Public Member Functions inherited from HoverRace::Util::ObjectFromFactory
template<class T >
static void SerializeShared (Parcel::ObjStream &archive, typename std::enable_if< std::is_base_of< ObjectFromFactory, T >::value, std::shared_ptr< T >>::type &obj)
 Serialize a shared pointer to a serializable object. More...
 
- Public Attributes inherited from HoverRace::Model::FreeElement
MR_Angle mOrientation
 
MR_3DCoordinate mPosition
 
- Protected Types inherited from HoverRace::Model::ShapeInterface
enum  eShape { eCylinder = 0, eLineSegment = 1, ePolygon = 2 }
 
- Protected Attributes inherited from HoverRace::ObjFacTools::FreeElementBase
const ResActormActor
 
int mCurrentFrame
 
int mCurrentSequence
 

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::ObjFac1::Missile::Missile ( )
HoverRace::ObjFac1::Missile::~Missile ( )
inline

Member Function Documentation

void HoverRace::ObjFac1::Missile::ApplyEffect ( const Model::ContactEffect pEffect,
MR_SimulationTime  pTime,
MR_SimulationTime  pDuration,
BOOL  pValidDirection,
MR_Angle  pHorizontalDirection,
MR_Int32  pZMin,
MR_Int32  pZMax,
Model::Track pLevel 
)
overrideprotectedvirtual

Reimplemented from HoverRace::Model::Element.

MR_Int32 HoverRace::ObjFac1::Missile::AxisX ( ) const
overrideprotectedvirtual
MR_Int32 HoverRace::ObjFac1::Missile::AxisY ( ) const
overrideprotectedvirtual
const Model::ContactEffectList * HoverRace::ObjFac1::Missile::GetEffectList ( )
overrideprotectedvirtual

Reimplemented from HoverRace::Model::Element.

const Model::ShapeInterface* HoverRace::ObjFac1::Missile::GetGivingContactEffectShape ( )
inlineoverrideprotectedvirtual

Get the shape that gives an effect when touching while moving.

Returns
The shape, or nullptr if none.

Reimplemented from HoverRace::Model::FreeElement.

Model::ElementNetState HoverRace::ObjFac1::Missile::GetNetState ( ) const
overrideprotectedvirtual

Reimplemented from HoverRace::Model::FreeElement.

const Model::ShapeInterface* HoverRace::ObjFac1::Missile::GetReceivingContactEffectShape ( )
inlineoverrideprotectedvirtual

Get the shape that gives an effect when touched by a moving element.

Returns
The shape, or nullptr if none.

Reimplemented from HoverRace::Model::FreeElement.

int HoverRace::ObjFac1::Missile::InternalSimulate ( MR_SimulationTime  pDuration,
Model::Track track,
int  pRoom 
)
protected
void HoverRace::ObjFac1::Missile::PlayExternalSounds ( int  pDB,
int  pPan 
)
overrideprotectedvirtual

Reimplemented from HoverRace::Model::FreeElement.

MR_Int32 HoverRace::ObjFac1::Missile::RayLen ( ) const
overrideprotectedvirtual
void HoverRace::ObjFac1::Missile::SetNetState ( int  pDataLen,
const MR_UInt8 pData 
)
overrideprotectedvirtual

Reimplemented from HoverRace::Model::FreeElement.

void HoverRace::ObjFac1::Missile::SetOwnerId ( int  pOwner)
overrideprotectedvirtual

Reimplemented from HoverRace::Model::FreeElement.

int HoverRace::ObjFac1::Missile::Simulate ( MR_SimulationTime  pTimeSlice,
Model::Track track,
int  pRoom 
)
overrideprotectedvirtual

Advance the simulation.

Parameters
pTimeSliceThe time slice to simulate over.
trackThe track.
pRoomThe room number.
Returns
The new room number.

Reimplemented from HoverRace::Model::FreeElement.

MR_Int32 HoverRace::ObjFac1::Missile::ZMax ( ) const
overrideprotectedvirtual
MR_Int32 HoverRace::ObjFac1::Missile::ZMin ( ) const
overrideprotectedvirtual

Member Data Documentation

VideoServices::ShortSound* HoverRace::ObjFac1::Missile::mBounceSound
private
bool HoverRace::ObjFac1::Missile::mBounceSoundEvent
private
Model::PhysicalCollision HoverRace::ObjFac1::Missile::mCollisionEffect
private
Model::ContactEffectList HoverRace::ObjFac1::Missile::mEffectList
private
int HoverRace::ObjFac1::Missile::mHoverId
private
MR_SimulationTime HoverRace::ObjFac1::Missile::mLived
private
Model::LostOfControl HoverRace::ObjFac1::Missile::mLostOfControlEffect
private
VideoServices::ContinuousSound* HoverRace::ObjFac1::Missile::mMotorSound
private
double HoverRace::ObjFac1::Missile::mXSpeed
private
double HoverRace::ObjFac1::Missile::mYSpeed
private

The documentation for this class was generated from the following files: