comparison engine/core/model/model.h @ 422:9d94f4676d17

Moved the management of cameras into the Map class. The View class no longer exists since it now serves no purpose. The engine class itself holds the renderers and these get passed to each map that is loaded and then passed to each camera on each map. This change makes it possible for multiple maps to be loaded at the same time with the same camera id without a name clash. fixes[t:342]
author vtchill@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 12 Feb 2010 06:34:50 +0000
parents 16ea97290dbc
children 69ef061db940
comparison
equal deleted inserted replaced
421:293e812316c0 422:9d94f4676d17
39 #include "model/structures/map.h" 39 #include "model/structures/map.h"
40 #include "model/metamodel/timeprovider.h" 40 #include "model/metamodel/timeprovider.h"
41 41
42 namespace FIFE { 42 namespace FIFE {
43 43
44 class RenderBackend;
45 class RendererBase;
46 class ImagePool;
47 class AnimationPool;
44 class MetaModel; 48 class MetaModel;
45 class AbstractPather; 49 class AbstractPather;
46 class Object; 50 class Object;
47 51
48 /** 52 /**
52 public: 56 public:
53 57
54 /** Constructor 58 /** Constructor
55 * 59 *
56 */ 60 */
57 Model(); 61 Model(RenderBackend* renderbackend, const std::vector<RendererBase*>& renderers,
62 ImagePool* imagepool, AnimationPool* animpool);
58 63
59 /** Destructor 64 /** Destructor
60 * 65 *
61 */ 66 */
62 ~Model(); 67 ~Model();
167 172
168 std::vector<AbstractPather*> m_pathers; 173 std::vector<AbstractPather*> m_pathers;
169 std::vector<CellGrid*> m_adopted_grids; 174 std::vector<CellGrid*> m_adopted_grids;
170 std::vector<CellGrid*> m_created_grids; 175 std::vector<CellGrid*> m_created_grids;
171 TimeProvider m_timeprovider; 176 TimeProvider m_timeprovider;
177
178 RenderBackend* m_renderbackend;
179 ImagePool* m_imagepool;
180 AnimationPool* m_animpool;
181
182 std::vector<RendererBase*> m_renderers;
172 }; 183 };
173 184
174 }; //FIFE 185 }; //FIFE
175 #endif 186 #endif