Fix main game collision issue

Changelog:
- Add the refactored system to main game
- Reset coin counter to zero on (re-)start
scene_man
En Yi 2023-09-23 14:16:57 +08:00
parent e6784a4d71
commit d54fee8935
3 changed files with 4 additions and 0 deletions

View File

@ -676,6 +676,8 @@ static void toggle_block_system(Scene_t* scene)
static void restart_editor_level(Scene_t* scene)
{
LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data);
memset(&data->coins, 0, sizeof(data->coins));
TileGrid_t tilemap = data->tilemap;
for (size_t i = 0; i < tilemap.n_tiles;i++)
{

View File

@ -398,6 +398,7 @@ void init_game_scene(LevelScene_t* scene)
sc_array_add(&scene->scene.systems, &hitbox_update_system);
sc_array_add(&scene->scene.systems, &player_crushing_system);
sc_array_add(&scene->scene.systems, &spike_collision_system);
sc_array_add(&scene->scene.systems, &edge_velocity_check_system);
sc_array_add(&scene->scene.systems, &state_transition_update_system);
sc_array_add(&scene->scene.systems, &player_ground_air_transition_system);
sc_array_add(&scene->scene.systems, &lifetimer_update_system);

View File

@ -38,6 +38,7 @@ void init_level_scene_data(LevelSceneData_t* data, uint32_t max_tiles, Tile_t* t
sc_map_init_64v(&data->tilemap.tiles[i].entities_set, 16, 0);
data->tilemap.tiles[i].size = (Vector2){TILE_SIZE, TILE_SIZE};
}
memset(&data->coins, 0, sizeof(data->coins));
}
void term_level_scene_data(LevelSceneData_t* data)