RType
src
lib
r_type
Scenes
AScene.hpp
Go to the documentation of this file.
1
/*
2
** EPITECH PROJECT, 2023
3
** R-type
4
** File description:
5
** R-type
6
*/
7
8
#
pragma
once
9
10
#
include
"../components/Drawable.hpp"
11
#
include
"../components/IComponent.hpp"
12
#
include
"IScene.hpp"
13
14
class
AScene
:
public
ISceneRType
15
{
16
public
:
17
18
/**
19
* @brief Construct a new AScene:: AScene object
20
* @param serverSocket
21
*/
22
explicit
AScene
(std::shared_ptr<
ServerSocket
> serverSocket);
23
24
/**
25
* @brief Destroy the AScene:: AScene object
26
*/
27
~
AScene
()
override
=
default
;
28
29
/**
30
* @brief addEntity, add an entity
31
* @param entity
32
*/
33
void
addEntity
(std::shared_ptr<
IEntity
> entity)
override
;
34
35
/**
36
* @brief getEntities, get the entities
37
* @return entities (std::vector<std::shared_ptr<IEntity>>)
38
*/
39
std
::
vector
<
std
::
shared_ptr
<
IEntity
>>
getEntities
()
override
;
40
41
/**
42
* @brief addService, add a service
43
* @param service
44
*/
45
void
addService
(std::shared_ptr<
IService
> service)
override
;
46
47
/**
48
* @brief getServices, get the services
49
* @return services (std::vector<std::shared_ptr<IService>>)
50
*/
51
std
::
vector
<
std
::
shared_ptr
<
IService
>>
getServices
()
override
;
52
53
/**
54
* @brief display, display the scene
55
*/
56
void
display
()
override
;
57
58
/**
59
* @brief pauseScene, pause the scene
60
*/
61
void
pauseScene
()
override
;
62
63
/**
64
* @brief resumeScene, resume the scene
65
*/
66
void
resumeScene
()
override
;
67
68
/**
69
* @brief stopScene, stop the scene
70
*/
71
void
stopScene
()
override
;
72
73
/**
74
* @brief restartScene, restart the scene
75
*/
76
void
restartScene
()
override
;
77
78
79
/**
80
* @brief sendGameState, send the game state
81
*/
82
void
sendGameState
(
int
clientID)
override
;
83
84
/**
85
* @brief broadcastGameState, broadcast the game state
86
*/
87
void
broadcastGameState
()
override
;
88
89
protected
:
90
};
Generated by
1.9.1