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 ShapeInterfaceGetObstacleShape ()
 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 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 &track) 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...
 
const Model::ShapeInterfaceGetReceivingContactEffectShape () 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 ResActormActor
 
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: