]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor.h
(#816) Integrate Lava layer with Level and LevelEditor
[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 void destroy_level_editor(LevelEditor *level_editor);
17
18 int level_editor_render(const LevelEditor *level_editor,
19                         Camera *camera);
20 int level_editor_event(LevelEditor *level_editor,
21                        const SDL_Event *event,
22                        const Camera *camera);
23 int level_editor_focus_camera(LevelEditor *level_editor,
24                               Camera *camera);
25
26 const RectLayer *level_editor_boxes(const LevelEditor *level_editor);
27 const RectLayer *level_editor_platforms(const LevelEditor *level_editor);
28 const RectLayer *level_editor_back_platforms(const LevelEditor *level_editor);
29 const PointLayer *level_editor_goals_layer(const LevelEditor *level_editor);
30 const PlayerLayer *level_editor_player_layer(const LevelEditor *level_editor);
31 const RectLayer *level_editor_lava_layer(const LevelEditor *level_editor);
32
33 #endif  // LEVEL_EDITOR_H_