Id: To index
Original: Legend
Status:
Mutant: Show

Testcases to display

Filter by kind

Filter by status

1:
#
ifndef
 
rendersystem_hpp
2:
#
define
 
rendersystem_hpp
3:
4:
#
include
 
<
stdint
.
h
>
5:
6:
#
include
 
"entity.h"
7:
#
include
 
"system.h"
8:
#
include
 
"termbox.h"
9:
#
include
 
"util.h"
10:
11:
enum
 
class
 
RenderLayer
 
{
12:    
Ground
,
13:    
GroundCover
,
14:    
Particles
,
15:    
MobBelow
,
16:    
Mob
,
17:    
MobAbove
,
18:
}
;
19:
20:
class
 
Sprite
 
:
 
public
 
Component
 
{
21:
public
:
22:    
vec2i
 
position
{
0
,
 
0
}
;
23:    
RenderLayer
 
renderLayer
{
RenderLayer
:
:
Ground
}
;
24:
25:    
// Colour
26:    
uint16_t
 
fg
 
=
 
TB_WHITE
;
27:    
uint16_t
 
bg
 
=
 
TB_BLACK
;
28:
29:    
// Animation
30:    
std
:
:
string
 
frames
{
}
;
31:    
bool
 
animated
 
=
 
false
;
32:    
int
 
frame
 
=
 
0
;
33:    
int
 
frameRate
 
=
 
1
;
34:    
int
 
frameCounter
 
=
 
0
;
35:
36:    
// Effects
37:    
int
 
flashTimer
 
=
 
0
;
38:
39:    
Sprite
(
)
 
=
 
default
;
40:    
Sprite
(
std
:
:
string
 
frames
,
 
bool
 
animated
,
 
int
 
frameRate
,
 
uint16_t
 
fg
,
 
uint16_t
 
bg
,
41:           
vec2i
 
position
,
 
RenderLayer
 
layer
)
42:        
:
 
frames
(
frames
)
,
 
position
(
position
)
,
 
animated
(
animated
)
,
 
frameRate
(
frameRate
)
,
 
fg
(
fg
)
,
43:          
bg
(
bg
)
,
 
renderLayer
(
layer
)
 
{
44:        
if
 
(
animated
)
 
{
45:            
frame
 
=
 
randInt
(
0
,
 
1
)
;
46:            
frameCounter
 
=
 
randInt
(
0
,
 
frameRate
)
;
47:        
}
48:    
}
49:
}
;
50:
51:
class
 
Game
;
52:
class
 
RenderSystem
 
:
 
public
 
System
 
{
53:
public
:
54:    
RenderSystem
(
Game
&
 
game
)
;
55:    
void
 
update
(
)
 
final
;
56:    
void
 
handleEvent
(
const
 
EvAny
&
)
 
final
 
{
}
57:
58:    
void
 
render
(
)
;
59:
60:
protected
:
61:    
void
 
renderGround
(
)
;
62:    
void
 
renderOcean
(
)
;
63:
64:
protected
:
65:    
Game
&
 
game_
;
66:    
int32_t
 
tick_
 
=
 
0
;
67:    
Array2D
<
int32_t
>
 
randomArray2D_
;
68:
}
;
69:
70:
#
endif
 
/* rendersystem_hpp */