Map unlocking and score saving
This commit is contained in:
@ -3,10 +3,10 @@ extends Node
|
||||
var waves = [
|
||||
[
|
||||
[10, 0.2, 0.8, 0.2, 0.0], #wave 1 #First path
|
||||
[20, 0.4, 0.5, 0.5, 0.0], #wave 2
|
||||
[30, 0.5, 0.4, 0.4, 0.1], #wave 3
|
||||
[40, 0.8, 0.3, 0.2, 0.5], #wave 4
|
||||
[50, 0.9, 0.1, 0.2, 0.7], #wave 5
|
||||
#[20, 0.4, 0.5, 0.5, 0.0], #wave 2
|
||||
#[30, 0.5, 0.4, 0.4, 0.1], #wave 3
|
||||
#[40, 0.8, 0.3, 0.2, 0.5], #wave 4
|
||||
#[50, 0.9, 0.1, 0.2, 0.7], #wave 5
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
@ -1574,11 +1574,9 @@ scale = Vector2(0.238927, 0.171569)
|
||||
texture = ExtResource("110_fb8td")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
visible = false
|
||||
curve = SubResource("Curve2D_6abe5")
|
||||
|
||||
[node name="Path2D2" type="Path2D" parent="."]
|
||||
visible = false
|
||||
curve = SubResource("Curve2D_xx2jp")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
@ -1586,7 +1584,6 @@ wait_time = 0.4
|
||||
autostart = true
|
||||
|
||||
[node name="TrapArea" type="Area2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TrapArea"]
|
||||
position = Vector2(435, 187.5)
|
||||
@ -1604,7 +1601,6 @@ shape = SubResource("RectangleShape2D_h3dak")
|
||||
debug_color = Color(0.798903, 0.0385002, 1, 0.42)
|
||||
|
||||
[node name="TowerArea" type="Area2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TowerArea"]
|
||||
position = Vector2(587, 48)
|
||||
@ -1629,7 +1625,6 @@ shape = SubResource("RectangleShape2D_sglle")
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="SidePanel" parent="CanvasLayer" instance=ExtResource("111_2ej3d")]
|
||||
visible = false
|
||||
size_flags_horizontal = 6
|
||||
|
||||
[node name="MusicPlayer" parent="." instance=ExtResource("112_yc4f2")]
|
||||
|
||||
@ -23,7 +23,21 @@ func _ready() -> void:
|
||||
get_node("VBoxContainer/HBoxContainer/second/Button").connect("button_up", LoadMap2)
|
||||
get_node("VBoxContainer/HBoxContainer/third/Button").connect("button_up", LoadMap3)
|
||||
|
||||
|
||||
var unlocker = true
|
||||
for i in get_node("VBoxContainer").get_children():
|
||||
for ii in i.get_children():
|
||||
if ii.get_node("Label2").text == "Haven't finished yet":
|
||||
if unlocker:
|
||||
unlocker = false
|
||||
ii.get_node("Button").get_child(0).hide()
|
||||
ii.get_node("Button").disabled = false
|
||||
else:
|
||||
ii.get_node("Button").get_child(0).show()
|
||||
ii.get_node("Button").disabled = true
|
||||
else:
|
||||
ii.get_node("Button").get_child(0).hide()
|
||||
ii.get_node("Button").disabled = false
|
||||
|
||||
|
||||
func loadData() -> void:
|
||||
if FileAccess.file_exists(save_path):
|
||||
@ -49,3 +63,8 @@ func save_scores():
|
||||
if file:
|
||||
file.store_var(map_scores)
|
||||
file.close()
|
||||
|
||||
|
||||
func _on_button_pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://Game/Menu/main.tscn")
|
||||
pass # Replace with function body.
|
||||
|
||||
@ -1,37 +1,48 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://cxet2lvdco2ak"]
|
||||
[gd_scene load_steps=20 format=3 uid="uid://cxet2lvdco2ak"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://duhi4pfoa45j1" path="res://Game/Menu/mapselector.gd" id="1_cnef1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgy114b67j3kg" path="res://Assets/Others/8-bit-graphics-pixels-scene-with-castle.jpg" id="1_jteil"]
|
||||
[ext_resource type="FontFile" uid="uid://bu44ne346ymoe" path="res://Assets/Others/Canterbury.ttf" id="2_2uj2s"]
|
||||
[ext_resource type="Texture2D" uid="uid://cheweipqa125e" path="res://Assets/Maps/map1.png" id="3_2uj2s"]
|
||||
[ext_resource type="Texture2D" uid="uid://dffphf4kn5sk2" path="res://Assets/Maps/map2.png" id="5_mjmwi"]
|
||||
[ext_resource type="Texture2D" uid="uid://fevwxt4ody3f" path="res://Assets/Maps/map3.png" id="6_5yqcp"]
|
||||
[ext_resource type="Texture2D" uid="uid://djv5n53tndiig" path="res://Assets/Others/padlock.png" id="6_udeaf"]
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_cnef1"]
|
||||
texture = ExtResource("1_jteil")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mjmwi"]
|
||||
texture = ExtResource("3_2uj2s")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_udeaf"]
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_cg1t8"]
|
||||
texture = ExtResource("3_2uj2s")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5yqcp"]
|
||||
texture = ExtResource("3_2uj2s")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_cg1t8"]
|
||||
texture = ExtResource("3_2uj2s")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_losb8"]
|
||||
texture = ExtResource("5_mjmwi")
|
||||
texture_margin_left = 5.0
|
||||
texture_margin_top = 5.0
|
||||
texture_margin_right = 5.0
|
||||
texture_margin_bottom = 5.0
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_rjq3w"]
|
||||
texture = ExtResource("5_mjmwi")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_uvrvw"]
|
||||
texture = ExtResource("5_mjmwi")
|
||||
texture_margin_left = 5.0
|
||||
texture_margin_top = 5.0
|
||||
texture_margin_right = 5.0
|
||||
texture_margin_bottom = 5.0
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_hmthg"]
|
||||
texture = ExtResource("5_mjmwi")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_44oc2"]
|
||||
texture = ExtResource("5_mjmwi")
|
||||
texture = ExtResource("6_5yqcp")
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_losb8"]
|
||||
texture = ExtResource("6_5yqcp")
|
||||
texture_margin_left = 5.0
|
||||
texture_margin_top = 5.0
|
||||
texture_margin_right = 5.0
|
||||
texture_margin_bottom = 5.0
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cnef1"]
|
||||
|
||||
@ -130,11 +141,25 @@ text = "1st Level"
|
||||
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer/first"]
|
||||
custom_minimum_size = Vector2(120, 80)
|
||||
layout_mode = 2
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_mjmwi")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_udeaf")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxTexture_5yqcp")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxTexture_cg1t8")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_5yqcp")
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cg1t8")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="VBoxContainer/HBoxContainer/first/Button"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("6_udeaf")
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/first"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
@ -152,10 +177,24 @@ text = "2nd Level"
|
||||
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer/second"]
|
||||
custom_minimum_size = Vector2(120, 80)
|
||||
layout_mode = 2
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_losb8")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_rjq3w")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxTexture_uvrvw")
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_44oc2")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxTexture_rjq3w")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_uvrvw")
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_hmthg")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="VBoxContainer/HBoxContainer/second/Button"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("6_udeaf")
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/second"]
|
||||
layout_mode = 2
|
||||
@ -174,11 +213,25 @@ text = "3rd Level"
|
||||
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer/third"]
|
||||
custom_minimum_size = Vector2(120, 80)
|
||||
layout_mode = 2
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_losb8")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_rjq3w")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxTexture_uvrvw")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxTexture_44oc2")
|
||||
theme_override_styles/hover = SubResource("StyleBoxTexture_losb8")
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_44oc2")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="VBoxContainer/HBoxContainer/third/Button"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("6_udeaf")
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/third"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
|
||||
@ -195,15 +195,33 @@ func GameOver() -> void:
|
||||
get_node("GameOverAudio").play()
|
||||
|
||||
func GameWon() -> void:
|
||||
get_node("Panel").hide()
|
||||
get_node("GameWon").show()
|
||||
|
||||
map_scores[get_parent().get_parent().name] = int((lives / originallives) *10)
|
||||
var file = FileAccess.open(save_path, FileAccess.WRITE)
|
||||
file.store_var(map_scores)
|
||||
get_node("Panel").hide()
|
||||
get_node("GameWon").show()
|
||||
|
||||
var map_name = get_parent().get_parent().name
|
||||
var new_score = int((lives / originallives) * 10)
|
||||
|
||||
var file
|
||||
var old_scores = {}
|
||||
|
||||
# Try to load old scores if file exists
|
||||
if FileAccess.file_exists(save_path):
|
||||
file = FileAccess.open(save_path, FileAccess.READ)
|
||||
if not file.eof_reached():
|
||||
old_scores = file.get_var()
|
||||
file.close()
|
||||
get_parent().get_parent().get_node("MusicPlayer").PauseAudio()
|
||||
get_node("VictoryAudio").play()
|
||||
|
||||
var old_score = old_scores.get(map_name, 0)
|
||||
if new_score > old_score:
|
||||
old_scores[map_name] = new_score
|
||||
file = FileAccess.open(save_path, FileAccess.WRITE)
|
||||
file.store_var(old_scores)
|
||||
file.close()
|
||||
|
||||
get_parent().get_parent().get_node("MusicPlayer").PauseAudio()
|
||||
get_node("VictoryAudio").play()
|
||||
|
||||
|
||||
|
||||
func _on_button_3_pressed() -> void:
|
||||
get_node("pausemenu").hide()
|
||||
|
||||
@ -72,7 +72,11 @@ shadow_size = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s7jra"]
|
||||
bg_color = Color(0.6, 0.6, 0.6, 0.392157)
|
||||
border_color = Color(0, 0, 0, 1)
|
||||
border_width_left = 20
|
||||
border_width_top = 20
|
||||
border_width_right = 20
|
||||
border_width_bottom = 20
|
||||
border_color = Color(0.6, 0.6, 0.6, 0.392157)
|
||||
corner_radius_top_left = 20
|
||||
corner_radius_top_right = 20
|
||||
corner_radius_bottom_right = 20
|
||||
|
||||
Reference in New Issue
Block a user