]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor.h
(#819) Integrate LevelEditor Regions with Level
[nothing.git] / src / game / level / level_editor.h
1 #ifndef LEVEL_EDITOR_H_
2 #define LEVEL_EDITOR_H_
3
4 typedef struct LevelEditor LevelEditor;
5 typedef struct RectLayer RectLayer;
6 typedef struct PointLayer PointLayer;
7
8 // TODO(#820): LevelEditor cannot generate a level file
9
10 LevelEditor *create_level_editor(RectLayer *boxes_layer,
11                                  RectLayer *platforms_layer,
12                                  RectLayer *back_platforms_layer,
13                                  PointLayer *goals_layer,
14                                  PlayerLayer *player_layer_render,
15                                  RectLayer *lava_editor,
16                                  RectLayer *regions_layer);
17 void destroy_level_editor(LevelEditor *level_editor);
18
19 int level_editor_render(const LevelEditor *level_editor,
20                         Camera *camera);
21 int level_editor_event(LevelEditor *level_editor,
22                        const SDL_Event *event,
23                        const Camera *camera);
24 int level_editor_focus_camera(LevelEditor *level_editor,
25                               Camera *camera);
26
27 const RectLayer *level_editor_boxes(const LevelEditor *level_editor);
28 const RectLayer *level_editor_platforms(const LevelEditor *level_editor);
29 const RectLayer *level_editor_back_platforms(const LevelEditor *level_editor);
30 const PointLayer *level_editor_goals_layer(const LevelEditor *level_editor);
31 const PlayerLayer *level_editor_player_layer(const LevelEditor *level_editor);
32 const RectLayer *level_editor_lava_layer(const LevelEditor *level_editor);
33 const RectLayer *level_editor_regions_layer(const LevelEditor *level_editor);
34
35 #endif  // LEVEL_EDITOR_H_