25 #include "../Util/DllObjectFactory.h" 26 #include "../VideoServices/Viewport3D.h" 30 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 32 # define MR_DllDeclare __declspec( dllexport ) 34 # define MR_DllDeclare __declspec( dllimport ) 37 # define MR_DllDeclare 50 class MR_FreeElementHandleClass;
96 BOOL pValidDirection,
MR_Angle pHorizontalDirection,
100 HR_UNUSED(pEffect, pTime, pDuration,
101 pValidDirection, pHorizontalDirection,
102 pZMin, pZMax, track);
110 BOOL pValidDirection,
MR_Angle pHorizontalDirection,
115 for (
auto lEffect : *pList) {
116 ApplyEffect(lEffect, pTime, pDuration,
117 pValidDirection, pHorizontalDirection,
118 pZMin, pZMax, track);
140 HR_UNUSED(pDest, pUpperLeft, pLowerRight, pLen, pTime);
147 HR_UNUSED(pDest, pNbVertex, pVertexList, pLevel, pTop, pTime);
153 public std::enable_shared_from_this<FreeElement>
167 HR_UNUSED(pDest, pTime);
175 return { 0,
nullptr };
180 HR_UNUSED(pDataLen, pData);
181 assert(pDataLen == 0);
197 HR_UNUSED(pTimeSlice, track);
232 virtual void SetOwnerId(
int pOwnerId) { HR_UNUSED(pOwnerId); }
Unique identifier for a Factory Object.
Definition: DllObjectFactory.h:54
virtual ~FreeElement()
Definition: MazeElement.h:162
std::vector< ContactEffect * > ContactEffectList
Definition: ContactEffect.h:56
virtual void Render(VideoServices::Viewport3D *pDest, MR_SimulationTime pTime)
Definition: MazeElement.h:164
Level
Definition: Log.h:62
void ApplyEffects(const ContactEffectList *pList, MR_SimulationTime pTime, MR_SimulationTime pDuration, BOOL pValidDirection, MR_Angle pHorizontalDirection, MR_Int32 pZMin, MR_Int32 pZMax, Track &track)
Definition: MazeElement.h:108
Definition: WorldCoordinates.h:46
virtual bool AssignPermNumber(int pNumber)
Assign a permanent hook number.
Definition: MazeElement.h:226
virtual ~SurfaceElement()
Definition: MazeElement.h:134
const MR_UInt8 * mData
Definition: MazeElement.h:59
virtual const ContactEffectList * GetEffectList()
Definition: MazeElement.h:105
Definition: Viewport3D.h:53
virtual void RenderWallSurface(VideoServices::Viewport3D *pDest, const MR_3DCoordinate &pUpperLeft, const MR_3DCoordinate &pLowerRight, MR_Int32 pLen, MR_SimulationTime pTime)
Definition: MazeElement.h:136
Definition: MazeElement.h:128
Definition: WorldCoordinates.h:75
virtual void PlayInternalSounds()
Definition: MazeElement.h:170
MR_Int16 MR_Angle
Definition: WorldCoordinates.h:96
SurfaceElement(const Util::ObjectFromFactoryId &id)
Definition: MazeElement.h:133
MR_Angle mOrientation
Definition: MazeElement.h:236
virtual void SetNetState(int pDataLen, const MR_UInt8 *pData)
Definition: MazeElement.h:178
MR_Int32 MR_SimulationTime
Definition: WorldCoordinates.h:106
Definition: MazeElement.h:151
virtual ElementNetState GetNetState() const
Definition: MazeElement.h:173
virtual void RenderHorizontalSurface(VideoServices::Viewport3D *pDest, int pNbVertex, const MR_2DCoordinate *pVertexList, MR_Int32 pLevel, BOOL pTop, MR_SimulationTime pTime)
Definition: MazeElement.h:143
int mDataLen
Definition: MazeElement.h:58
Base class for parcel serializers.
Definition: ObjStream.h:58
A track level.
Definition: Track.h:57
virtual const ShapeInterface * GetObstacleShape()
Get the shape that stops other elements' movement.
Definition: MazeElement.h:205
virtual void SetOwnerId(int pOwnerId)
Definition: MazeElement.h:232
virtual const ShapeInterface * GetGivingContactEffectShape()
Get the shape that gives an effect when touching while moving.
Definition: MazeElement.h:217
int32_t MR_Int32
Definition: MR_Types.h:43
#define MR_DllDeclare
Definition: MazeElement.h:37
MR_3DCoordinate mPosition
Definition: MazeElement.h:235
Element(const Util::ObjectFromFactoryId &id)
Definition: MazeElement.h:88
FreeElement(const Util::ObjectFromFactoryId &id={0, 0})
Definition: MazeElement.h:159
Base class for object created with a Dll Factory.
Definition: DllObjectFactory.h:86
virtual void AddRenderer()
Definition: MazeElement.h:91
Represents all objects (wall, floor, ceiling, etc.) that can be found in a maze.
Definition: MazeElement.h:83
virtual int Simulate(MR_SimulationTime pTimeSlice, Track &track, int pRoom)
Advance the simulation.
Definition: MazeElement.h:195
virtual void PlayExternalSounds(int pDB, int pPan)
Definition: MazeElement.h:171
MR_FreeElementHandleClass * MR_FreeElementHandle
Definition: MazeElement.h:51
virtual const ShapeInterface * GetReceivingContactEffectShape()
Get the shape that gives an effect when touched by a moving element.
Definition: MazeElement.h:211
Definition: Announcement.h:24
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)
Definition: MazeElement.h:94
uint8_t MR_UInt8
Definition: MR_Types.h:40
virtual ~Element()
Definition: MazeElement.h:89
void Serialize(Parcel::ObjStream &) overridefinal
Definition: MazeElement.h:125
Definition: MazeElement.h:56