]> git.lizzy.rs Git - nothing.git/blob - src/game/level/goals.h
203c643bd99610de154317a1d2d3a2077667a990
[nothing.git] / src / game / level / goals.h
1 #ifndef GOALS_H_
2 #define GOALS_H_
3
4 #include <SDL.h>
5
6 #include "game/camera.h"
7 #include "game/level/player.h"
8 #include "game/sound_samples.h"
9 #include "config.h"
10
11 typedef struct Goals Goals;
12 typedef struct LineStream LineStream;
13 typedef struct PointLayer PointLayer;
14
15 Goals *create_goals_from_line_stream(LineStream *line_stream);
16 Goals *create_goals_from_point_layer(const PointLayer *point_layer);
17 void destroy_goals(Goals *goals);
18
19 Rect goals_hitbox(const Goals *goals);
20
21 int goals_render(const Goals *goals,
22                  const Camera *camera);
23 int goals_sound(Goals *goals,
24                 Sound_samples *sound_samples);
25 void goals_update(Goals *goals,
26                   float delta_time);
27 void goals_checkpoint(const Goals *goals,
28                       Player *player);
29 void goals_cue(Goals *goals,
30                const Camera *camera);
31
32 void goals_hide(Goals *goals, char goal_id[ENTITY_MAX_ID_SIZE]);
33 void goals_show(Goals *goals, char goal_id[ENTITY_MAX_ID_SIZE]);
34
35 #endif  // GOALS_H_