Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
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 
7 namespace covellite
8 {
9 
10 namespace expanse
11 {
12 
13 class IProduce3DObject;
14 
32 class GameScene final :
33  public IGameScene
34 {
35  using RendersPtr_t = ::std::shared_ptr<api::Component::Renders>;
36 
37 public:
38  // Интерфейс IGameScene:
39  ObjectId_t CreateObject(const GameObject_t &) override;
40  void RemoveObject(const ObjectId_t) override;
41 
42 public:
43  void Update(void) const;
44 
45 private:
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 
52 public:
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::IGameScene
Класс входит в проект Covellite.Expanse Интерфейс класса игровой сцены.
Definition: IGameScene.hpp:27
covellite::expanse::GameScene::CreateObject
ObjectId_t CreateObject(const GameObject_t &) override
Функция создания объекта.
Definition: GameScene.cpp:64
covellite::expanse::Id::AddRemovedObjectId
void AddRemovedObjectId(const ObjectId_t &_Id)
Функция возврата идентификатора удаленного объекта.
Definition: Id.cpp:27
covellite::expanse::Id
Класс входит в проект Covellite.Expanse Класс идентификатора объекта.
Definition: Id.impl.hpp:34
covellite::expanse::GameScene
Класс входит в проект Covellite.Expanse Класс-контейнер для объектов, которые должны обновляться в ...
Definition: GameScene.impl.hpp:34
covellite::expanse::GameScene::Update
void Update(void) const
Функция обновления сцены.
Definition: GameScene.cpp:136
covellite::expanse::IProduce3DObject
Класс входит в проект Covellite.Expanse Интерфейсный класс создания/удаления 3D объектов.
Definition: IProduce3DObject.impl.hpp:27
basement
Definition: Common.hpp:10
covellite::expanse::GameScene::RemoveObject
void RemoveObject(const ObjectId_t) override
Функция удаления объекта.
Definition: GameScene.cpp:103