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

#include <BumperGate.h>

+ Inheritance diagram for HoverRace::ObjFac1::BumperGate:

Public Member Functions

 BumperGate (ObjFacTools::ResourceLib &resourceLib)
 
 ~BumperGate ()
 
- 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 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 SetNetState (int pDataLen, const MR_UInt8 *pData)
 
virtual void SetOwnerId (int pOwnerId)
 
- 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 ObjectFromFactoryId & GetTypeId () 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 &track) override
 
MR_Int32 AxisX () const override
 
MR_Int32 AxisY () const override
 
const Model::ContactEffectList * GetEffectList () override
 
const Model::ShapeInterface * GetGivingContactEffectShape () override
 Get the shape that gives an effect when touching while moving. More...
 
const Model::ShapeInterface * GetReceivingContactEffectShape () override
 Get the shape that gives an effect when touched by a moving element. More...
 
MR_Int32 RayLen () const 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

Model::PhysicalCollision mCollisionEffect
 
Model::ContactEffectList mEffectList
 
int mLastState
 
MR_SimulationTime mTimeSinceLastCollision
 

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 ResActor * mActor
 
int mCurrentFrame
 
int mCurrentSequence
 

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::ObjFac1::BumperGate::BumperGate ( ObjFacTools::ResourceLib &  resourceLib)
HoverRace::ObjFac1::BumperGate::~BumperGate ( )
inline

Member Function Documentation

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

Reimplemented from HoverRace::Model::Element.

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

Reimplemented from HoverRace::Model::Element.

const Model::ShapeInterface * HoverRace::ObjFac1::BumperGate::GetGivingContactEffectShape ( )
overrideprotectedvirtual

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

Returns
The shape, or nullptr if none.

Reimplemented from HoverRace::Model::FreeElement.

const Model::ShapeInterface * HoverRace::ObjFac1::BumperGate::GetReceivingContactEffectShape ( )
overrideprotectedvirtual

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::BumperGate::RayLen ( ) const
overrideprotectedvirtual
int HoverRace::ObjFac1::BumperGate::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::BumperGate::ZMax ( ) const
overrideprotectedvirtual
MR_Int32 HoverRace::ObjFac1::BumperGate::ZMin ( ) const
overrideprotectedvirtual

Member Data Documentation

Model::PhysicalCollision HoverRace::ObjFac1::BumperGate::mCollisionEffect
private
Model::ContactEffectList HoverRace::ObjFac1::BumperGate::mEffectList
private
int HoverRace::ObjFac1::BumperGate::mLastState
private
MR_SimulationTime HoverRace::ObjFac1::BumperGate::mTimeSinceLastCollision
private

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