Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Model.hpp
1 
2 #pragma once
3 #include "GameWorld.hpp"
4 #include "DbComponents.hpp"
5 
6 namespace basement
7 {
8 
9 namespace model
10 {
11 
27 class Model final :
28  public IDbComponents,
29  public IGameWorld
30 {
32 
33 public:
34  // Интерфейс IDbComponents
35  const Object_t & GetObject(const Id_t) const override;
36  ComponentPtr_t GetComponent(const ComponentId_t &) const override;
37 
38 public:
39  // Интерфейс IGameWorld
40  GameScenePtr_t CreateGameScene(void) override;
41  float GetLandscapeHeight(const CubeCoords &) const override;
42  IGameObject::Landscape::Value GetGameObjectType(const CubeCoords &) const override;
43  const PointLights & GetPointLights(void) const override;
44  SoundDevice & GetSoundDevice(void) override;
45  const IDbComponents & GetDbComponents(void) const override;
46 
47 private:
48  DbComponents m_DbComponents;
49  GameWorld m_GameWorld;
50 
51 public:
52  explicit Model(const Events_t &);
53 };
54 
55 } // namespace model
56 
57 } // namespace basement
basement::model::DbComponents
Класс входит в проект Example Класс реализации базы данных компонентов.
Definition: DbComponents.hpp:28
basement::model::Model::GetComponent
ComponentPtr_t GetComponent(const ComponentId_t &) const override
Функция получения объекта компонента по его идентификатору.
Definition: Model.cpp:31
basement::model::PointLights
Класс входит в проект Example Класс набора точечных источников света сцены.
Definition: PointLights.hpp:29
basement::model::GameWorld
Класс входит в проект Example Класс реализации логики игрового мира.
Definition: GameWorld.hpp:36
basement::model::Model
Класс входит в проект Example Класс реализации модели паттерна MVC.
Definition: Model.hpp:30
basement::model::Model::GetObject
const Object_t & GetObject(const Id_t) const override
Функция получения игрового объекта по его иденитфикатору.
Definition: Model.cpp:26
covellite::events::Events
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition: Events.hpp:36
basement
Definition: Common.hpp:10
basement::model::IGameWorld
Класс входит в проект Example Интерфейсный класс игрового мира.
Definition: IGameWorld.hpp:34
basement::model::CubeCoords
Класс входит в проект Example Класс манипуляции кубическими координатами.
Definition: CubeCoords.hpp:26
basement::model::IDbComponents
Класс входит в проект Example Интерфейсный класс базы данных компонентов.
Definition: IDbComponents.hpp:29