@@ -339,7 +339,7 @@ async fn main() {
339339 let mut cam_pos_x: f32 = 0.0 ;
340340 let mut current_obj: u16 = 1 ;
341341 let grid_size: u8 = 40 ;
342- let mut from_editor : bool = false ;
342+ let mut level_mode : u8 = 1 ;
343343
344344 println ! ( "Getting latest version..." ) ;
345345 let version: & str = "F-ALPHA" ;
@@ -356,7 +356,7 @@ async fn main() {
356356 "version:{};song:./Resources/Music/main-level-songs/0.mp3;cc_1001:0,0,0.2;cc_1002:0,0,0.3;;;x:400;y:480;rot:0;id:1" ,
357357 level_version
358358 ) ;
359- let main_levels: Vec < MainLevel > = vec ! [
359+ let mut main_levels: Vec < MainLevel > = vec ! [
360360 MainLevel :: new(
361361 "Plummet" ,
362362 1 ,
@@ -412,6 +412,7 @@ async fn main() {
412412 let mut on_pad_timer: Timer = Timer :: new ( 0.1 ) ;
413413 let mut on_pad: bool = false ;
414414 let mut player_trail: Vec < Vec2 > = vec ! [ ] ;
415+ let mut stars: u32 = 0 ;
415416
416417 let mut cc_1001: Color = Color :: new ( 0.0 , 0.0 , 0.2 , 1.0 ) ;
417418 let mut cc_1002: Color = Color :: new ( 0.0 , 0.0 , 0.3 , 1.0 ) ;
@@ -675,7 +676,11 @@ async fn main() {
675676 & mut cc_1002,
676677 & mut cc_1003,
677678 & game_state. 0 ,
678- & mut on_pad
679+ & mut on_pad,
680+ & mut stars,
681+ & mut main_levels,
682+ level_mode,
683+ current_level
679684 ) ;
680685
681686 match current_gamemode {
@@ -726,7 +731,7 @@ async fn main() {
726731 movement_speed. 0 . set ( default_movement_speed. 0 . get ( ) ) ;
727732 gravity. 0 . set ( default_gravity. 0 . get ( ) ) ;
728733 jump_force. 0 . set ( default_jump_force. 0 . get ( ) ) ;
729- from_editor = false ;
734+ level_mode = 1 ;
730735 kill_player = false ;
731736 player_trail. clear ( ) ;
732737 restart_audio ( & sink) ;
@@ -742,7 +747,7 @@ async fn main() {
742747 on_pad = false ;
743748 }
744749
745- if from_editor {
750+ if level_mode == 2 {
746751 player_trail. push ( vec2 (
747752 player. x + world_offset,
748753 player. y
@@ -758,7 +763,7 @@ async fn main() {
758763 movement_speed. 0 . set ( default_movement_speed. clone ( ) . 0 . get ( ) ) ;
759764 gravity. 0 . set ( default_gravity. 0 . get ( ) ) ;
760765 jump_force. 0 . set ( default_jump_force. 0 . get ( ) ) ;
761- from_editor = false ;
766+ level_mode = 1 ;
762767
763768 stop_audio ( & sink) ;
764769 play_audio_path ( "Resources/Music/menu-music.mp3" , master_volume, true , & sink) ;
@@ -847,7 +852,7 @@ async fn main() {
847852 }
848853
849854 if editor_playtest_button. is_clicked ( ) {
850- from_editor = true ;
855+ level_mode = 2 ;
851856 player_trail. clear ( ) ;
852857 stop_audio ( & sink) ;
853858 play_audio_path ( & current_song, master_volume, false , & sink) ;
@@ -918,7 +923,7 @@ async fn main() {
918923 movement_speed. 0 . set ( default_movement_speed. clone ( ) . 0 . get ( ) ) ;
919924 gravity. 0 . set ( default_gravity. 0 . get ( ) ) ;
920925 jump_force. 0 . set ( default_jump_force. 0 . get ( ) ) ;
921- from_editor = false ;
926+ level_mode = 1 ;
922927 player_trail. clear ( ) ;
923928
924929 stop_audio ( & sink) ;
@@ -1158,6 +1163,7 @@ async fn main() {
11581163 ) ;
11591164
11601165 if load_level_result == "ok" {
1166+ level_mode = 3 ;
11611167 game_state. 0 . set ( GameState :: Playing ) ;
11621168 } else {
11631169 println ! ( "Problem loading level: {}" , load_level_result) ;
@@ -1225,6 +1231,15 @@ async fn main() {
12251231 & font
12261232 ) ;
12271233
1234+ draw_text_pro (
1235+ & format ! ( "Stars: {}" , stars) ,
1236+ 20.0 ,
1237+ 120.0 ,
1238+ 20 ,
1239+ RED ,
1240+ & font
1241+ ) ;
1242+
12281243 if cfg ! ( debug_assertions) {
12291244 draw_text_pro (
12301245 "Developer Build" ,
@@ -1408,7 +1423,7 @@ async fn main() {
14081423 ) ;
14091424 }
14101425
1411- if from_editor {
1426+ if level_mode == 2 {
14121427 for point in & player_trail {
14131428 draw_circle ( point. x - world_offset, point. y , 5.0 , LIME ) ;
14141429 }
0 commit comments