Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
IGameObject.hpp
1
2
#pragma once
3
#include "Defines.hpp"
4
5
namespace
basement
6
{
7
8
namespace
model
9
{
10
26
class
IGameObject
27
{
28
protected
:
29
using
Objects_t = ::std::vector<Object_t>;
30
31
public
:
32
class
Support final
33
{
34
public
:
35
enum
Value
36
{
37
Skybox
= 0,
// Перед камерой основной сцены!
38
Camera
,
39
40
Invalid,
41
};
42
};
43
44
class
Landscape final
45
{
46
public
:
47
enum
Value
48
{
49
// Объекты поверхности, не содержащие прозрачных пикселей
50
None = Support::Invalid,
// После камеры!
51
Sand,
52
Rock,
53
Well,
54
55
// Объекты поверхности, содержащие прозрачные пиксели
56
Grass,
57
Bush,
58
Tree,
59
60
Invalid,
61
};
62
};
63
64
class
Extra final
65
{
66
public
:
67
enum
Value
68
{
69
Water
= Landscape::Invalid,
// Вода - после объектов поверхности!
70
Loader
,
// Должен рендерится последним, т.к. его updater удаляет
71
// объекты, которые еще находятся в списке рендеринга.
72
73
Invalid,
74
};
75
};
76
77
class
Another final
78
{
79
public
:
80
enum
Value
81
{
82
Animated
= Extra::Invalid,
83
Particles
,
84
ShadowsWindow,
85
ShadowsScale,
86
ShadowsFixSize,
87
88
Invalid,
89
};
90
91
public
:
92
static
bool
IsShadow(
const
Another::Value _Value)
93
{
94
return
_Value >= Another::ShadowsWindow &&
95
_Value <= Another::ShadowsFixSize;
96
}
97
};
98
99
public
:
104
virtual
size_t
GetType
(
void
)
const
= 0;
105
110
virtual
Objects_t
GetObject
(
const
Any_t & = {})
const
= 0;
111
112
public
:
113
virtual
~IGameObject
(
void
) =
default
;
114
};
115
116
}
// namespace model
117
118
}
// namespace basement
basement
Определения
Common.hpp:10
basement::model::Animated
Класс входит в проект Example Класс рендеринга анимированного объекта.
Определения
Animated.hpp:31
basement::model::Camera
Класс входит в проект Example Класс главной камеры сцены.
Определения
Camera.hpp:28
basement::model::IGameObject
Класс входит в проект Example Интерфейсный класс игрового объекта.
Определения
IGameObject.hpp:27
basement::model::IGameObject::GetObject
virtual Objects_t GetObject(const Any_t &={}) const =0
Функция получения уникального набора компонентов игрового объекта.
basement::model::IGameObject::GetType
virtual size_t GetType(void) const =0
Функция получения типа игрового объекта.
basement::model::Loader
Класс входит в проект Example Класс загрузчика сцены.
Определения
Loader.hpp:28
basement::model::Particles
Класс входит в проект Example Класс системы частиц.
Определения
Particles.hpp:44
basement::model::Skybox
Класс входит в проект Example Класс скайбокса.
Определения
Skybox.hpp:28
basement::model::Water
Класс входит в проект Example Класс объекта отрисовки воды.
Определения
Water.hpp:28
Solution
Solution
Example
Example
Basements
Demo
IGameObject.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0