HoverRace
2.0
|
#include <MazeElement.h>
Public Member Functions | |
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 const ShapeInterface * | GetReceivingContactEffectShape () |
Get the shape that gives an effect when touched by a moving element. 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... | |
![]() | |
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) |
virtual const ContactEffectList * | GetEffectList () |
void | Serialize (Parcel::ObjStream &) overridefinal |
![]() | |
ObjectFromFactory (const ObjectFromFactoryId &pId) noexcept | |
virtual | ~ObjectFromFactory () |
const ObjectFromFactoryId & | GetTypeId () const noexcept |
Public Attributes | |
MR_Angle | mOrientation |
MR_3DCoordinate | mPosition |
Private Types | |
using | SUPER = Element |
Additional Inherited Members | |
![]() | |
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... | |
|
private |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Assign a permanent hook number.
pNumber | The hook number. |
true
if accepted, false
otherwise. Reimplemented in HoverRace::ObjFac1::Mine, and HoverRace::ObjFac1::PowerUp.
|
inlinevirtual |
Get the shape that gives an effect when touching while moving.
nullptr
if none. Reimplemented in HoverRace::MainCharacter::MainCharacter, HoverRace::ObjFac1::TestElement, HoverRace::ObjFac1::Missile, HoverRace::ObjFac1::BumperGate, HoverRace::ObjFac1::Mine, and HoverRace::ObjFac1::PowerUp.
|
inlinevirtual |
|
inlinevirtual |
Get the shape that stops other elements' movement.
nullptr
if none. Reimplemented in HoverRace::MainCharacter::MainCharacter, and HoverRace::ObjFac1::TestElement.
|
inlinevirtual |
Get the shape that gives an effect when touched by a moving element.
nullptr
if none. Reimplemented in HoverRace::MainCharacter::MainCharacter, HoverRace::ObjFac1::TestElement, HoverRace::ObjFac1::Missile, HoverRace::ObjFac1::FinishLine, HoverRace::ObjFac1::BumperGate, HoverRace::ObjFac1::Mine, HoverRace::ObjFac1::PowerUp, HoverRace::ObjFac1::DoubleSpeedSource, and HoverRace::ObjFac1::FuelSource.
|
inlinevirtual |
Reimplemented in HoverRace::MainCharacter::MainCharacter, and HoverRace::ObjFac1::Missile.
|
inlinevirtual |
Reimplemented in HoverRace::MainCharacter::MainCharacter.
|
inlinevirtual |
Reimplemented in HoverRace::MainCharacter::MainCharacter, HoverRace::ObjFac1::Mine, and HoverRace::ObjFacTools::FreeElementBase.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in HoverRace::ObjFac1::Missile.
|
inlinevirtual |
Advance the simulation.
pTimeSlice | The time slice to simulate over. |
track | The track. |
pRoom | The room number. |
Reimplemented in HoverRace::MainCharacter::MainCharacter, HoverRace::ObjFac1::Missile, HoverRace::ObjFac1::BumperGate, HoverRace::ObjFac1::Mine, HoverRace::ObjFac1::PowerUp, and HoverRace::ObjFac1::TestElement.
MR_Angle HoverRace::Model::FreeElement::mOrientation |
MR_3DCoordinate HoverRace::Model::FreeElement::mPosition |