Isle
Loading...
Searching...
No Matches
legoobjectfactory.h
Go to the documentation of this file.
1#ifndef LEGOOBJECTFACTORY_H
2#define LEGOOBJECTFACTORY_H
3
4#include "mxobjectfactory.h"
5
11#define FOR_LEGOOBJECTFACTORY_OBJECTS(X) \
12 X(LegoEntityPresenter) \
13 X(LegoActorPresenter) \
14 X(LegoWorldPresenter) \
15 X(LegoWorld) \
16 X(LegoModelPresenter) \
17 X(LegoTexturePresenter) \
18 X(LegoPhonemePresenter) \
19 X(LegoFlcTexturePresenter) \
20 X(LegoPalettePresenter) \
21 X(LegoPathPresenter) \
22 X(LegoAnimPresenter) \
23 X(LegoLoopingAnimPresenter) \
24 X(LegoLocomotionAnimPresenter) \
25 X(LegoHideAnimPresenter) \
26 X(LegoPartPresenter) \
27 X(LegoCarBuildAnimPresenter) \
28 X(LegoActionControlPresenter) \
29 X(LegoMeterPresenter) \
30 X(LegoLoadCacheSoundPresenter) \
31 X(Lego3DWavePresenter) \
32 X(LegoActor) \
33 X(LegoPathActor) \
34 X(LegoRaceCar) \
35 X(LegoJetski) \
36 X(JetskiRace) \
37 X(LegoEntity) \
38 X(LegoCarRaceActor) \
39 X(LegoJetskiRaceActor) \
40 X(LegoCarBuild) \
41 X(Infocenter) \
42 X(LegoAnimActor) \
43 X(MxControlPresenter) \
44 X(RegistrationBook) \
45 X(HistoryBook) \
46 X(ElevatorBottom) \
47 X(InfocenterDoor) \
48 X(Score) \
49 X(ScoreState) \
50 X(Hospital) \
51 X(Isle) \
52 X(Police) \
53 X(GasStation) \
54 X(LegoAct2) \
55 X(LegoAct2State) \
56 X(CarRace) \
57 X(LegoRaceCarBuildState) \
58 X(LegoCopterBuildState) \
59 X(LegoDuneCarBuildState) \
60 X(LegoJetskiBuildState) \
61 X(HospitalState) \
62 X(InfocenterState) \
63 X(PoliceState) \
64 X(GasStationState) \
65 X(SkateBoard) \
66 X(Helicopter) \
67 X(HelicopterState) \
68 X(DuneBuggy) \
69 X(Pizza) \
70 X(PizzaMissionState) \
71 X(Act2Actor) \
72 X(Act2Brick) \
73 X(Act2GenActor) \
74 X(Act2PoliceStation) \
75 X(Act3) \
76 X(Act3State) \
77 X(Doors) \
78 X(LegoAnimMMPresenter) \
79 X(RaceCar) \
80 X(Jetski) \
81 X(Bike) \
82 X(Motocycle) \
83 X(Ambulance) \
84 X(AmbulanceMissionState) \
85 X(TowTrack) \
86 X(TowTrackMissionState) \
87 X(Act3Cop) \
88 X(Act3Brickster) \
89 X(Act3Shark) \
90 X(BumpBouy) \
91 X(Act3Actor) \
92 X(JetskiRaceState) \
93 X(CarRaceState) \
94 X(Act1State) \
95 X(Pizzeria) \
96 X(PizzeriaState) \
97 X(InfoCenterEntity) \
98 X(HospitalEntity) \
99 X(GasStationEntity) \
100 X(PoliceEntity) \
101 X(BeachHouseEntity) \
102 X(RaceStandsEntity) \
103 X(JukeBoxEntity) \
104 X(RadioState) \
105 X(CaveEntity) \
106 X(JailEntity) \
107 X(MxCompositeMediaPresenter) \
108 X(JukeBox) \
109 X(JukeBoxState) \
110 X(RaceSkel) \
111 X(AnimState)
112
123public:
129
137 MxCore* Create(const char* p_name) override; // vtable+0x14
138
144 void Destroy(MxCore* p_object) override; // vtable+0x18
145
146 // SYNTHETIC: LEGO1 0x10009000
147 // LegoObjectFactory::`scalar deleting destructor'
148 // @brief [AI] Standard compiler-generated scalar deleting destructor. Handles deletion of an array or single object via operator delete.
149
150 // SYNTHETIC: LEGO1 0x10009170
151 // LegoObjectFactory::~LegoObjectFactory
152 // @brief [AI] Default virtual destructor for LegoObjectFactory. Ensures that all derived destructors are called in correct order.
153
154private:
160#define X(V) MxAtomId m_id##V;
162#undef X
163};
164
165#endif // LEGOOBJECTFACTORY_H
[AI] Object factory for the LEGO Island game, responsible for instantiating all game-specific entitie...
void Destroy(MxCore *p_object) override
[AI] Destroys an object that was previously created by this factory.
MxCore * Create(const char *p_name) override
[AI] Creates an object by name.
LegoObjectFactory()
[AI] Constructs a new LegoObjectFactory; initializes all known type names as MxAtomId for rapid looku...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
Definition: mxcore.h:15
[AI] Forward declaration for the factory responsible for constructing core objects from atom or type ...
#define X(V)
#define FOR_LEGOOBJECTFACTORY_OBJECTS(X)
[AI] Macro that lists all object types that LegoObjectFactory is capable of constructing and managing...