- for( int y = 0; y < grid->dims[1]; y ++ )
- {
- if( j < grid->count )
- {
- struct cmp_level *lvl = &grid->pack[ j ];
-
- // Determine colour
- if( lvl->unlocked )
- {
- if( lvl->is_tutorial )
- v3_copy( tutorial_colour, final_colour );
- else
- v3_copy( grid->primary_colour, final_colour );
-
- if( lvl->completed_score )
- final_colour[3] = 0.8f;
- else
- final_colour[3] = 0.2f;
- }
- else
- {
- v3_copy( locked_colour, final_colour );
- final_colour[3] = 0.2f;
- }
-
- v2i_add( grid->origin, (v2i){ x,y }, button_pos );
- int is_hovering = v2i_eq( (v2i){world.tile_x, world.tile_y}, button_pos );
-
- if( is_hovering )
- {
- final_colour[3] += 0.1f;
-
- // Up click
- if( vg_get_button_up( "primary" ) )
- if( select_from == lvl && lvl->unlocked )
- {
- switch_level_to = lvl;
- sfx_set_play( &audio_clicks, &audio_system_ui, 1 );
- }
-
- // Start click
- if( vg_get_button_down( "primary" ) )
- select_from = lvl;
-
- if( vg_get_button( "primary" ) )
- final_colour[3] += 0.2f;
- }
-
- if( world.pCmpLevel == lvl )
- {
- final_colour[3] += 0.15f + fabsf(sinf( vg_time * 2.0f )) * 0.05f;
-
- if( lvl->completed_score )
- final_colour[3] += 0.1f;
- }
-
- //wbutton_draw( (v2i){ grid->origin[0] + x, grid->origin[1] + y }, tex_coord, final_colour );
- }
- else break;