Replace hardcoded scene values to enum
parent
0c461d3167
commit
33de816841
10
main.c
10
main.c
|
@ -80,11 +80,11 @@ int main(void)
|
||||||
level_sel_scene.data.level_pack = pack;
|
level_sel_scene.data.level_pack = pack;
|
||||||
init_level_select_scene(&level_sel_scene);
|
init_level_select_scene(&level_sel_scene);
|
||||||
|
|
||||||
scenes[0] = &menu_scene.scene;
|
scenes[MAIN_MENU_SCENE] = &menu_scene.scene;
|
||||||
scenes[1] = &level_sel_scene.scene;
|
scenes[LEVEL_SELECT_SCENE] = &level_sel_scene.scene;
|
||||||
scenes[2] = &level_scene.scene;
|
scenes[GAME_SCENE] = &level_scene.scene;
|
||||||
scenes[3] = &sandbox_scene.scene;
|
scenes[SANDBOX_SCENE] = &sandbox_scene.scene;
|
||||||
change_scene(&engine, 0);
|
change_scene(&engine, MAIN_MENU_SCENE);
|
||||||
|
|
||||||
const float DT = 1.0f/60.0f;
|
const float DT = 1.0f/60.0f;
|
||||||
while (!WindowShouldClose())
|
while (!WindowShouldClose())
|
||||||
|
|
|
@ -35,9 +35,11 @@ typedef enum SFXTag {
|
||||||
COIN_SFX,
|
COIN_SFX,
|
||||||
} SFXTag_t;
|
} SFXTag_t;
|
||||||
|
|
||||||
//typedef enum SceneType {
|
typedef enum SceneType {
|
||||||
// LEVEL_SCENE = 0,
|
MAIN_MENU_SCENE = 0,
|
||||||
// MENU_SCENE,
|
LEVEL_SELECT_SCENE,
|
||||||
//}SceneType_t;
|
GAME_SCENE,
|
||||||
|
SANDBOX_SCENE,
|
||||||
|
}SceneType_t;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -89,7 +89,7 @@ static void level_do_action(Scene_t* scene, ActionType_t action, bool pressed)
|
||||||
case ACTION_EXIT:
|
case ACTION_EXIT:
|
||||||
if(scene->engine != NULL)
|
if(scene->engine != NULL)
|
||||||
{
|
{
|
||||||
change_scene(scene->engine, 0);
|
change_scene(scene->engine, MAIN_MENU_SCENE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "scene_impl.h"
|
#include "scene_impl.h"
|
||||||
|
#include "assets_tag.h"
|
||||||
#include "raymath.h"
|
#include "raymath.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -42,6 +43,12 @@ static void level_select_do_action(Scene_t* scene, ActionType_t action, bool pre
|
||||||
data->scroll = Clamp(data->scroll, 0, 400);
|
data->scroll = Clamp(data->scroll, 0, 400);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ACTION_EXIT:
|
||||||
|
if(scene->engine != NULL)
|
||||||
|
{
|
||||||
|
change_scene(scene->engine, MAIN_MENU_SCENE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -84,6 +91,7 @@ void init_level_select_scene(LevelSelectScene_t* scene)
|
||||||
sc_array_add(&scene->scene.systems, &level_select_render_func);
|
sc_array_add(&scene->scene.systems, &level_select_render_func);
|
||||||
sc_map_put_64(&scene->scene.action_map, KEY_UP, ACTION_UP);
|
sc_map_put_64(&scene->scene.action_map, KEY_UP, ACTION_UP);
|
||||||
sc_map_put_64(&scene->scene.action_map, KEY_DOWN, ACTION_DOWN);
|
sc_map_put_64(&scene->scene.action_map, KEY_DOWN, ACTION_DOWN);
|
||||||
|
sc_map_put_64(&scene->scene.action_map, KEY_Q, ACTION_EXIT);
|
||||||
}
|
}
|
||||||
void free_level_select_scene(LevelSelectScene_t* scene)
|
void free_level_select_scene(LevelSelectScene_t* scene)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "scene_impl.h"
|
#include "scene_impl.h"
|
||||||
|
#include "assets_tag.h"
|
||||||
#include "raymath.h"
|
#include "raymath.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -21,10 +22,10 @@ static void exec_component_function(Scene_t* scene, int sel)
|
||||||
switch(sel)
|
switch(sel)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
change_scene(scene->engine, 1);
|
change_scene(scene->engine, LEVEL_SELECT_SCENE);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
change_scene(scene->engine, 2);
|
change_scene(scene->engine, SANDBOX_SCENE);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
scene->state = 0;
|
scene->state = 0;
|
||||||
|
|
Loading…
Reference in New Issue