Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Landscape.hpp
1
2#pragma once
3#include "Defines.hpp"
4#include "GameObject.hpp"
5#include "CubeCoords.hpp"
6
7namespace basement
8{
9
10namespace model
11{
12
30class Landscape final :
31 public GameObject
32{
33public:
34 Objects_t GetObject(const Any_t &) const override;
35
36public:
37 class Mesh final :
38 public GameObject::Mesh
39 {
40 class MeshStreamBuffer;
41
42 private:
43 void LoadMesh(const Path_t &, const Rect &);
44 void BuildGrass(const int, const float, const Rect &);
45 // cppcheck-suppress unusedPrivateFunction
46 // cppcheck-suppress functionStatic
47 void BuildTriplex6Object(const Point &, const float, const float,
48 const float, const Rect &);
49 void BuildTriplex12Object(const Point &, const float, const float,
50 const float, const Rect &);
51
52 public:
53 Mesh(const size_t, const float, const Rect &);
54 Mesh(const int, const float, const Rect &);
55 Mesh(const Path_t &, const float, const Rect &);
56 };
57
58private:
59 Object_t GetTransform(const CubeCoords &, String_t &) const;
60 Object_t GetPointLight(const CubeCoords &) const;
61 Object_t GetUserConstantBuffer(const CubeCoords &) const;
62
63private:
64 bool m_IsUsingRotate = true;
65 float m_ScaleFactor = 1.25f;
66 const IGameWorld & m_GameWorld;
67 ::std::vector<::std::vector<::std::pair<size_t, size_t>>> m_Models;
68
69private:
70 Landscape(const GameObject::Landscape::Value, const IGameWorld &);
71 friend GameObject;
72};
73
74} // namespace model
75
76} // namespace basement
Definition Common.hpp:10
Класс входит в проект Example Класс манипуляции кубическими координатами.
Definition CubeCoords.hpp:26
Класс входит в проект Example Общий базовый класс игрового объекта.
Definition GameObject.hpp:34
Класс входит в проект Example Интерфейсный класс игрового мира.
Definition IGameWorld.hpp:34
Objects_t GetObject(const Any_t &) const override
Функция получения уникального набора компонентов игрового объекта.
Definition Landscape.cpp:153