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

#include <DoubleSpeedSource.h>

+ Inheritance diagram for HoverRace::ObjFac1::DoubleSpeedSource:

Public Member Functions

 DoubleSpeedSource ()
 
 ~DoubleSpeedSource ()
 
- 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 ShapeInterface * GetGivingContactEffectShape ()
 Get the shape that gives an effect when touching while moving. More...
 
virtual ElementNetState GetNetState () const
 
virtual const ShapeInterface * GetObstacleShape ()
 Get the shape that stops other elements' movement. More...
 
virtual void PlayExternalSounds (int pDB, int pPan)
 
virtual void PlayInternalSounds ()
 
virtual void Render (VideoServices::Viewport3D *pDest, MR_SimulationTime pTime)
 
virtual void SetNetState (int pDataLen, const MR_UInt8 *pData)
 
virtual void SetOwnerId (int pOwnerId)
 
virtual int Simulate (MR_SimulationTime pTimeSlice, Track &track, int pRoom)
 Advance the simulation. More...
 
- Public Member Functions inherited from HoverRace::Model::Element
 Element (const Util::ObjectFromFactoryId &id)
 
virtual ~Element ()
 
virtual void AddRenderer ()
 
virtual void ApplyEffect (const ContactEffect *pEffect, MR_SimulationTime pTime, MR_SimulationTime pDuration, BOOL pValidDirection, MR_Angle pHorizontalDirection, MR_Int32 pZMin, MR_Int32 pZMax, Track &track)
 
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 ObjectFromFactoryId & GetTypeId () const noexcept
 

Protected Member Functions

MR_Int32 AxisX () const override
 
MR_Int32 AxisY () const override
 
const Model::ContactEffectList * GetEffectList () override
 
const Model::ShapeInterface * GetReceivingContactEffectShape () override
 Get the shape that gives an effect when touched by a moving element. More...
 
MR_Int32 RayLen () const override
 
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 = Model::FreeElement
 

Private Attributes

Model::ContactEffectList mContactEffectList
 
Model::SpeedDoubler mSpeedEffect
 

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 }
 

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::ObjFac1::DoubleSpeedSource::DoubleSpeedSource ( )
HoverRace::ObjFac1::DoubleSpeedSource::~DoubleSpeedSource ( )
inline

Member Function Documentation

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

Reimplemented from HoverRace::Model::Element.

const Model::ShapeInterface* HoverRace::ObjFac1::DoubleSpeedSource::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.

MR_Int32 HoverRace::ObjFac1::DoubleSpeedSource::RayLen ( ) const
overrideprotectedvirtual
MR_Int32 HoverRace::ObjFac1::DoubleSpeedSource::ZMax ( ) const
overrideprotectedvirtual
MR_Int32 HoverRace::ObjFac1::DoubleSpeedSource::ZMin ( ) const
overrideprotectedvirtual

Member Data Documentation

Model::ContactEffectList HoverRace::ObjFac1::DoubleSpeedSource::mContactEffectList
private
Model::SpeedDoubler HoverRace::ObjFac1::DoubleSpeedSource::mSpeedEffect
private

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