Covellite++  Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Model.hpp
1
2#pragma once
3#include "GameWorld.hpp"
4#include "DbComponents.hpp"
5
6namespace basement
7{
8
9namespace model
10{
11
27class Model final :
28 public IDbComponents,
29 public IGameWorld
30{
31 using Events_t = ::covellite::events::Events;
32
33public:
34 // Интерфейс IDbComponents
35 const Object_t & GetObject(const Id_t) const override;
36 ComponentPtr_t GetComponent(const ComponentId_t &) const override;
37
38public:
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
47private:
48 DbComponents m_DbComponents;
49 GameWorld m_GameWorld;
50
51public:
52 explicit Model(const Events_t &);
53};
54
55} // namespace model
56
57} // namespace basement
Определения Common.hpp:10
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Определения Events.hpp:36
Класс входит в проект Example Класс манипуляции кубическими координатами.
Определения CubeCoords.hpp:26
Класс входит в проект Example Класс реализации базы данных компонентов.
Определения DbComponents.hpp:28
Класс входит в проект Example Класс реализации логики игрового мира.
Определения GameWorld.hpp:36
Класс входит в проект Example Интерфейсный класс базы данных компонентов.
Определения IDbComponents.hpp:29
Класс входит в проект Example Интерфейсный класс игрового мира.
Определения IGameWorld.hpp:34
const Object_t & GetObject(const Id_t) const override
Функция получения игрового объекта по его иденитфикатору.
Определения Model.cpp:26
ComponentPtr_t GetComponent(const ComponentId_t &) const override
Функция получения объекта компонента по его идентификатору.
Определения Model.cpp:31
Класс входит в проект Example Класс набора точечных источников света сцены.
Определения PointLights.hpp:29