2
0
Эх сурвалжийг харах

Merge pull request #48 from groud/add_loading_bar

Adds a loading bar
Aaron Franke 5 жил өмнө
parent
commit
1cea8dc5b3
45 өөрчлөгдсөн 98 нэмэгдсэн , 19 устгасан
  1. BIN
      enemies/red_robot/Cannon-D.anim
  2. BIN
      enemies/red_robot/Cannon-L.anim
  3. BIN
      enemies/red_robot/Cannon-N.anim
  4. BIN
      enemies/red_robot/Cannon-R.anim
  5. BIN
      enemies/red_robot/Cannon-U.anim
  6. BIN
      enemies/red_robot/Cannon_Fire_Recoil.anim
  7. BIN
      enemies/red_robot/Damage_heavy.anim
  8. BIN
      enemies/red_robot/Damage_take1.anim
  9. BIN
      enemies/red_robot/Damage_take2.anim
  10. BIN
      enemies/red_robot/Idle-Eyes.anim
  11. BIN
      enemies/red_robot/Idle-cycle.anim
  12. BIN
      enemies/red_robot/TurnLeft-cycle.anim
  13. BIN
      enemies/red_robot/TurnRight-cycle.anim
  14. BIN
      enemies/red_robot/Walk-cycle.anim
  15. 36 6
      menu/menu.gd
  16. 62 13
      menu/menu.tscn
  17. BIN
      player/AIM-Center.anim
  18. BIN
      player/AIM-Down.anim
  19. BIN
      player/AIM-Up.anim
  20. BIN
      player/Cannon_Charge-cycle.anim
  21. BIN
      player/Cannon_Charge.anim
  22. BIN
      player/Idle-cycle.anim
  23. BIN
      player/Idlecombat-cycle.anim
  24. BIN
      player/Idlecombatrest-cycle.anim
  25. BIN
      player/eyes-cycle.anim
  26. BIN
      player/flinch1.anim
  27. BIN
      player/flinch1_001.anim
  28. BIN
      player/flinch2.anim
  29. BIN
      player/flinch_heavy.anim
  30. BIN
      player/jump_1_up.anim
  31. BIN
      player/jump_2_upwards-cycle.anim
  32. BIN
      player/jump_3_midair-cycle.anim
  33. BIN
      player/jump_4_falling-cycle.anim
  34. BIN
      player/jump_5_hardlanding.anim
  35. BIN
      player/lean_left-cycle.anim
  36. BIN
      player/lean_right-cycle.anim
  37. BIN
      player/running_aiming.anim
  38. BIN
      player/running_gun-cycle.anim
  39. BIN
      player/running_nogun-cycle.anim
  40. BIN
      player/strafe_back-cycle.anim
  41. BIN
      player/strafe_front-cycle.anim
  42. BIN
      player/strafe_left-cycle.anim
  43. BIN
      player/strafe_right-cycle.anim
  44. BIN
      player/walking_gun-cycle.anim
  45. BIN
      player/walking_nogun-cycle.anim

BIN
enemies/red_robot/Cannon-D.anim


BIN
enemies/red_robot/Cannon-L.anim


BIN
enemies/red_robot/Cannon-N.anim


BIN
enemies/red_robot/Cannon-R.anim


BIN
enemies/red_robot/Cannon-U.anim


BIN
enemies/red_robot/Cannon_Fire_Recoil.anim


BIN
enemies/red_robot/Damage_heavy.anim


BIN
enemies/red_robot/Damage_take1.anim


BIN
enemies/red_robot/Damage_take2.anim


BIN
enemies/red_robot/Idle-Eyes.anim


BIN
enemies/red_robot/Idle-cycle.anim


BIN
enemies/red_robot/TurnLeft-cycle.anim


BIN
enemies/red_robot/TurnRight-cycle.anim


BIN
enemies/red_robot/Walk-cycle.anim


+ 36 - 6
menu/menu.gd

@@ -1,12 +1,47 @@
 extends Spatial
 
+var res_loader : ResourceInteractiveLoader = null
+var loading_thread : Thread = null
+
 func _ready():
 	$ui/main/play.grab_focus()
 
+
+func interactive_load(loader):
+	while true:
+		var status = loader.poll()
+		if status == OK:
+			$ui/loading/progress.value = (loader.get_stage() * 100) / loader.get_stage_count()
+			continue
+		elif status == ERR_FILE_EOF:
+			$ui/loading/progress.value = 100
+			$ui/loading/loading_done_timer.start()
+			break
+		else:
+			print("Error while loading level: " + str(status))
+			$ui/main.show()
+			$ui/loading.hide()
+			break
+
+
+func loading_done(loader):
+	loading_thread.wait_to_finish()
+	#warning-ignore:return_value_discarded
+	get_tree().change_scene_to(loader.get_resource())
+
+
+func _on_loading_done_timer_timeout():
+	call_deferred("loading_done", res_loader)
+
+
 func _on_play_pressed():
 	$ui/main.hide()
 	$ui/loading.show()
-	$begin_load_timer.start()
+	res_loader = ResourceLoader.load_interactive("res://level/level.tscn")
+	loading_thread = Thread.new()
+	#warning-ignore:return_value_discarded
+	loading_thread.start(self, "interactive_load", res_loader)
+
 
 func _on_settings_pressed():
 	$ui/main.hide()
@@ -94,8 +129,3 @@ func _on_cancel_pressed():
 	$ui/main.show()
 	$ui/main/play.grab_focus()
 	$ui/settings.hide()
-
-
-func _on_begin_load_timer_timeout():
-	#warning-ignore:return_value_discarded
-	get_tree().change_scene("res://level/level.tscn")

+ 62 - 13
menu/menu.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=66 format=2]
+[gd_scene load_steps=68 format=2]
 
 [ext_resource path="res://menu/menu.gd" type="Script" id=1]
 [ext_resource path="res://menu/experiment.hdr" type="Texture" id=2]
@@ -58,7 +58,7 @@ nodes/Animation/position = Vector2( -120, 100 )
 nodes/Blend2/node = SubResource( 7 )
 nodes/Blend2/position = Vector2( 180, 120 )
 nodes/output/position = Vector2( 420, 120 )
-node_connections = [ "output", 0, "Blend2", "Blend2", 0, "Animation", "Blend2", 1, "Animation 2" ]
+node_connections = [ "Blend2", 0, "Animation", "Blend2", 1, "Animation 2", "output", 0, "Blend2" ]
 
 [sub_resource type="StyleBoxEmpty" id=9]
 
@@ -216,6 +216,30 @@ font_path = "res://menu/font/PT_Sans-Web-Bold.ttf"
 size = 40
 font_data = SubResource( 49 )
 
+[sub_resource type="StyleBoxFlat" id=51]
+bg_color = Color( 0.278431, 0.278431, 0.360784, 1 )
+border_width_left = 5
+border_width_top = 5
+border_width_right = 5
+border_width_bottom = 5
+border_color = Color( 0, 0, 0, 1 )
+corner_radius_top_left = 10
+corner_radius_top_right = 10
+corner_radius_bottom_right = 10
+corner_radius_bottom_left = 10
+
+[sub_resource type="StyleBoxFlat" id=52]
+bg_color = Color( 0.0901961, 0.0784314, 0.117647, 1 )
+border_width_left = 3
+border_width_top = 3
+border_width_right = 3
+border_width_bottom = 3
+border_color = Color( 0, 0, 0, 1 )
+corner_radius_top_left = 10
+corner_radius_top_right = 10
+corner_radius_bottom_right = 10
+corner_radius_bottom_left = 10
+
 [node name="main" type="Spatial"]
 script = ExtResource( 1 )
 
@@ -257,10 +281,14 @@ texture = ExtResource( 6 )
 [node name="ui" type="Control" parent="."]
 anchor_right = 1.0
 anchor_bottom = 1.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
 [node name="main" type="Control" parent="ui"]
+anchor_left = -0.000673103
 anchor_top = -0.00189865
-anchor_right = 1.0
+anchor_right = 0.999327
 anchor_bottom = 0.998101
 margin_left = -4.10107
 margin_top = 2.05054
@@ -613,26 +641,47 @@ custom_colors/font_color_hover = Color( 1, 1, 1, 1 )
 custom_colors/font_color_pressed = Color( 1, 1, 1, 1 )
 text = "Cancel"
 
-[node name="loading" type="Control" parent="ui"]
+[node name="loading" type="HBoxContainer" parent="ui"]
 visible = false
-margin_right = 40.0
-margin_bottom = 40.0
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_left = 100.0
+margin_top = -135.0
+margin_right = -130.0
+margin_bottom = -100.0
+custom_constants/separation = 100
+__meta__ = {
+"_edit_group_": true,
+"_edit_use_anchors_": false
+}
 
 [node name="label" type="Label" parent="ui/loading"]
-margin_left = 120.0
-margin_top = 930.0
-margin_right = 288.0
-margin_bottom = 983.0
+margin_right = 168.0
+margin_bottom = 53.0
 custom_fonts/font = ExtResource( 13 )
 text = "Loading..."
 
-[node name="begin_load_timer" type="Timer" parent="."]
-wait_time = 0.2
+[node name="progress" type="ProgressBar" parent="ui/loading"]
+margin_left = 268.0
+margin_right = 1690.0
+margin_bottom = 53.0
+size_flags_horizontal = 3
+size_flags_vertical = 1
+custom_styles/fg = SubResource( 51 )
+custom_styles/bg = SubResource( 52 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="loading_done_timer" type="Timer" parent="ui/loading"]
+wait_time = 0.5
+one_shot = true
 [connection signal="pressed" from="ui/main/play" to="." method="_on_play_pressed"]
 [connection signal="pressed" from="ui/main/settings" to="." method="_on_settings_pressed"]
 [connection signal="pressed" from="ui/main/quit" to="." method="_on_quit_pressed"]
 [connection signal="pressed" from="ui/settings/apply" to="." method="_on_apply_pressed"]
 [connection signal="pressed" from="ui/settings/cancel" to="." method="_on_cancel_pressed"]
-[connection signal="timeout" from="begin_load_timer" to="." method="_on_begin_load_timer_timeout"]
+[connection signal="timeout" from="ui/loading/loading_done_timer" to="." method="_on_loading_done_timer_timeout"]
 
 [editable path="Scene Root"]

BIN
player/AIM-Center.anim


BIN
player/AIM-Down.anim


BIN
player/AIM-Up.anim


BIN
player/Cannon_Charge-cycle.anim


BIN
player/Cannon_Charge.anim


BIN
player/Idle-cycle.anim


BIN
player/Idlecombat-cycle.anim


BIN
player/Idlecombatrest-cycle.anim


BIN
player/eyes-cycle.anim


BIN
player/flinch1.anim


BIN
player/flinch1_001.anim


BIN
player/flinch2.anim


BIN
player/flinch_heavy.anim


BIN
player/jump_1_up.anim


BIN
player/jump_2_upwards-cycle.anim


BIN
player/jump_3_midair-cycle.anim


BIN
player/jump_4_falling-cycle.anim


BIN
player/jump_5_hardlanding.anim


BIN
player/lean_left-cycle.anim


BIN
player/lean_right-cycle.anim


BIN
player/running_aiming.anim


BIN
player/running_gun-cycle.anim


BIN
player/running_nogun-cycle.anim


BIN
player/strafe_back-cycle.anim


BIN
player/strafe_front-cycle.anim


BIN
player/strafe_left-cycle.anim


BIN
player/strafe_right-cycle.anim


BIN
player/walking_gun-cycle.anim


BIN
player/walking_nogun-cycle.anim