Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
GameScene.impl.hpp
1
2#pragma once
3#include <Covellite/Expanse/IGameScene.hpp>
4#include <Covellite/Api/Component.hpp>
5#include "Id.impl.hpp"
6
7namespace covellite
8{
9
10namespace expanse
11{
12
13class IProduce3DObject;
14
32class GameScene final :
33 public IGameScene
34{
35 using RendersPtr_t = ::std::shared_ptr<api::Component::Renders>;
36
37public:
38 // Интерфейс IGameScene:
39 ObjectId_t CreateObject(const GameObject_t &) override;
40 void RemoveObject(const ObjectId_t) override;
41
42public:
43 void Update(void) const;
44
45private:
46 const RendersPtr_t m_pRenders;
47 IProduce3DObject & m_Produce3DObject;
48 Id m_Id;
49 ::std::vector<GameObject_t> m_GameObjects;
50 ::std::vector<::std::pair<ObjectId_t, Render_t>> m_Updaters;
51
52public:
53 GameScene(const RendersPtr_t &, IProduce3DObject &) noexcept;
54 GameScene(const GameScene &) = delete;
55 GameScene(GameScene &&) = delete;
56 GameScene & operator= (const GameScene &) = delete;
57 GameScene & operator= (GameScene &&) = delete;
58 ~GameScene(void);
59};
60
61} // namespace expanse
62
63} // namespace covellite
Класс входит в проект Covellite.Expanse Класс-контейнер для объектов, которые должны обновляться в ...
Definition GameScene.impl.hpp:34
ObjectId_t CreateObject(const GameObject_t &) override
Функция создания объекта.
Definition GameScene.cpp:64
void RemoveObject(const ObjectId_t) override
Функция удаления объекта.
Definition GameScene.cpp:103
void Update(void) const
Функция обновления сцены.
Definition GameScene.cpp:136
Класс входит в проект Covellite.Expanse Класс идентификатора объекта.
Definition Id.impl.hpp:34
Класс входит в проект Covellite.Expanse Интерфейс класса игровой сцены.
Definition IGameScene.hpp:27
Класс входит в проект Covellite.Expanse Интерфейсный класс создания/удаления 3D объектов.
Definition IProduce3DObject.impl.hpp:27