Save file functionality

This commit is contained in:
2024-06-18 11:33:55 -04:00
parent 082b1353bc
commit 3a1b69a987
30 changed files with 428 additions and 1346 deletions

135
Scenes/UserInterface.tscn Normal file
View File

@@ -0,0 +1,135 @@
[gd_scene load_steps=6 format=3 uid="uid://xh0p6v5ir05f"]
[ext_resource type="Script" path="res://Root.gd" id="1_lggo0"]
[ext_resource type="Script" path="res://User Interface/Header.gd" id="2_o6t6l"]
[ext_resource type="Script" path="res://User Interface/TeamButton.gd" id="3_1o3gu"]
[ext_resource type="Script" path="res://User Interface/Bossbutton.gd" id="4_3csg5"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="5_85eop"]
[node name="Root" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 768.0
offset_bottom = 432.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_lggo0")
[node name="UI" type="Control" parent="."]
anchors_preset = 0
offset_right = 1920.0
offset_bottom = 1080.0
[node name="CanvasLayer" type="CanvasLayer" parent="UI"]
[node name="Header" type="HBoxContainer" parent="UI/CanvasLayer"]
offset_left = 3.0
offset_right = 395.0
offset_bottom = 40.0
script = ExtResource("2_o6t6l")
[node name="ScoreLabel" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "Score:"
[node name="Score" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "0"
[node name="Timer" type="Timer" parent="UI/CanvasLayer/Header" groups=["Persist"]]
autostart = true
[node name="ClickUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Click Upgrades"
item_count = 9
popup/item_0/text = "+1 Cost:10"
popup/item_0/id = 0
popup/item_1/text = "+10 Cost: 100"
popup/item_1/id = 1
popup/item_2/text = "+20 Cost:1,000"
popup/item_2/id = 2
popup/item_3/text = "+40 Cost: 10,000"
popup/item_3/id = 3
popup/item_4/text = "+60 Cost: 100,000"
popup/item_4/id = 4
popup/item_5/text = "+80 Cost: 1,000,000"
popup/item_5/id = 5
popup/item_6/text = "+100 Cost: 10,000,000"
popup/item_6/id = 6
popup/item_7/text = "+200 Cost: 100,000,000"
popup/item_7/id = 7
popup/item_8/text = "+400 Cost: 1,000,000,000"
popup/item_8/id = 8
[node name="PassiveUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Passive Upgrades"
item_count = 9
popup/item_0/text = "2/s Cost: 100"
popup/item_0/id = 0
popup/item_1/text = "10/s Cost: 1,000"
popup/item_1/id = 1
popup/item_2/text = "20/s Cost: 10,000"
popup/item_2/id = 2
popup/item_3/text = "50/s Cost: 100,000"
popup/item_3/id = 3
popup/item_4/text = "100/s Cost:1,000,000"
popup/item_4/id = 4
popup/item_5/text = "200/s Cost: 10,000,000"
popup/item_5/id = 5
popup/item_6/text = "500/s Cost: 100,000,000"
popup/item_6/id = 6
popup/item_7/text = "1,000/s Cost: 1,000,000,000"
popup/item_7/id = 7
popup/item_8/text = "10,000/s Cost: 10,000,000,000"
popup/item_8/id = 8
[node name="TeamButton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Team"
flat = true
alignment = 0
script = ExtResource("3_1o3gu")
[node name="Bossbutton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Bosses"
flat = true
alignment = 0
script = ExtResource("4_3csg5")
[node name="ClickAddLabel" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "ClickAdd:"
[node name="ClickAdd" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "0"
[node name="PerSecLabel" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "PerSec:
"
[node name="PerSec" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "0"
[node name="MultiplierLabel" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "Multiplier:
"
[node name="Multiplier" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "0"
[node name="saveTimer" type="Timer" parent="UI/CanvasLayer/Header"]
wait_time = 5.0
autostart = true
script = ExtResource("5_85eop")

158
Scenes/bossFights.tscn Normal file
View File

@@ -0,0 +1,158 @@
[gd_scene load_steps=9 format=3 uid="uid://2xiybbxvsdwi"]
[ext_resource type="Script" path="res://Root.gd" id="1_woypb"]
[ext_resource type="Script" path="res://User Interface/Header.gd" id="2_0hr4q"]
[ext_resource type="Script" path="res://User Interface/TeamButton.gd" id="3_e754c"]
[ext_resource type="Script" path="res://User Interface/Bossbutton.gd" id="4_sjkwo"]
[ext_resource type="Script" path="res://User Interface/BossGrid.gd" id="5_8idyi"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="5_wpe6x"]
[ext_resource type="Script" path="res://User Interface/Boss1.gd" id="6_ea00f"]
[ext_resource type="Script" path="res://User Interface/CharacterRoll.gd" id="7_jle1x"]
[node name="Root" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 768.0
offset_bottom = 432.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_woypb")
[node name="UI" type="Control" parent="."]
anchors_preset = 0
offset_right = 1920.0
offset_bottom = 1080.0
[node name="CanvasLayer" type="CanvasLayer" parent="UI"]
[node name="Header" type="HBoxContainer" parent="UI/CanvasLayer"]
offset_left = 3.0
offset_right = 395.0
offset_bottom = 40.0
script = ExtResource("2_0hr4q")
[node name="ScoreLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Score:"
[node name="Score" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="Timer" type="Timer" parent="UI/CanvasLayer/Header"]
autostart = true
[node name="ClickUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Click Upgrades"
item_count = 9
popup/item_0/text = "+1 Cost:10"
popup/item_0/id = 0
popup/item_1/text = "+10 Cost: 100"
popup/item_1/id = 1
popup/item_2/text = "+20 Cost:1,000"
popup/item_2/id = 2
popup/item_3/text = "+40 Cost: 10,000"
popup/item_3/id = 3
popup/item_4/text = "+60 Cost: 100,000"
popup/item_4/id = 4
popup/item_5/text = "+80 Cost: 1,000,000"
popup/item_5/id = 5
popup/item_6/text = "+100 Cost: 10,000,000"
popup/item_6/id = 6
popup/item_7/text = "+200 Cost: 100,000,000"
popup/item_7/id = 7
popup/item_8/text = "+400 Cost: 1,000,000,000"
popup/item_8/id = 8
[node name="PassiveUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Passive Upgrades"
item_count = 9
popup/item_0/text = "2/s Cost: 100"
popup/item_0/id = 0
popup/item_1/text = "10/s Cost: 1,000"
popup/item_1/id = 1
popup/item_2/text = "20/s Cost: 10,000"
popup/item_2/id = 2
popup/item_3/text = "50/s Cost: 100,000"
popup/item_3/id = 3
popup/item_4/text = "100/s Cost:1,000,000"
popup/item_4/id = 4
popup/item_5/text = "200/s Cost: 10,000,000"
popup/item_5/id = 5
popup/item_6/text = "500/s Cost: 100,000,000"
popup/item_6/id = 6
popup/item_7/text = "1,000/s Cost: 1,000,000,000"
popup/item_7/id = 7
popup/item_8/text = "10,000/s Cost: 10,000,000,000"
popup/item_8/id = 8
[node name="TeamButton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Team"
flat = true
alignment = 0
script = ExtResource("3_e754c")
[node name="Bossbutton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Bosses"
flat = true
alignment = 0
script = ExtResource("4_sjkwo")
[node name="ClickAddLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "ClickAdd:"
[node name="ClickAdd" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="PerSecLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "PerSec:
"
[node name="PerSec" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="MultiplierLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Multiplier:
"
[node name="Multiplier" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="saveTimer" type="Timer" parent="UI/CanvasLayer/Header"]
wait_time = 5.0
autostart = true
script = ExtResource("5_wpe6x")
[node name="BossFights" type="PanelContainer" parent="UI"]
layout_mode = 0
offset_left = 857.0
offset_top = 294.0
offset_right = 1049.0
offset_bottom = 422.0
[node name="BossGrid" type="GridContainer" parent="UI/BossFights"]
layout_mode = 2
script = ExtResource("5_8idyi")
[node name="Boss1" type="TextureButton" parent="UI/BossFights/BossGrid"]
layout_mode = 2
script = ExtResource("6_ea00f")
[node name="CharacterRoll" type="PanelContainer" parent="UI/BossFights/BossGrid"]
visible = false
layout_mode = 2
script = ExtResource("7_jle1x")

123
Scenes/saveTimer.gd Normal file
View File

@@ -0,0 +1,123 @@
extends Timer
var save_data = {}
func saveGame():
#var save_game = FileAccess.open("user://Save/savegame.save", FileAccess.WRITE)
#var save_nodes = get_tree().get_nodes_in_group("Persist")
#for node in save_nodes:
#if node.scene_file_path.is_empty():
#print("persistent node '%s' is not an instanced scene, skipped" % node.name)
#continue
#
## Check the node has a save function.
#if !node.has_method("save"):
#print("persistent node '%s' is missing a save() function, skipped" % node.name)
#continue
#
## Call the node's save function.
#var node_data = node.call("save")
#
## JSON provides a static method to serialized JSON string.
#var json_string = JSON.stringify(node_data)
#
## Store the save dictionary as a new line in the save file.
#save_game.store_line(json_string)
#func save():
#var save_dict = {
#"filename" : get_scene_file_path(),
#"parent" : get_parent().get_path(),
#"damagePerClick" : Global.globalDamagePerClick,
#"damagePerSec" : Global.globalDamagePerSec,
#"damageMultiplier" : Global.globalDamageMultiplier,
#"totalDamage" : Global.globalDamage
#}
var file_path = "user://Save/saveData.json"
var file = FileAccess.open(file_path, FileAccess.WRITE)
if file:
var json_text = JSON.stringify(save_data)
file.store_string(json_text)
file.close()
print("Game Data Saved")
else:
print("Failed to open file: ", file_path)
func load_save_data():
#If using json
var file = FileAccess.open("user://Save/saveData.json", FileAccess.READ)
#var file = FileAccess.open("user://memberData.json", FileAccess.READ)
if file:
var json_text = file.get_as_text()
#print (json_text)
file.close()
var json = JSON.new()
var json_result = json.parse(json_text)
#print (json_result)
if json_result == OK:
save_data = json.get_data()
print("Save data loaded successfully.")
#print(character_data)
else:
print("Failed to parse JSON: ", json_result.error_string)
else:
print("Save data file not found.")
func _ready():
# Initialize data or load from file if necessary
#$saveTimer.connect("timeout", _on_Timer_timeout)
connect("timeout", _on_Timer_timeout)
#var current_scene = get_tree().current_scene
#if current_scene:
## Verify the saveTimer node exists in the current scene
#var timer_node = current_scene.get_node("saveTimer") # Adjust the path as necessary
#if timer_node:
#print("Timer node found: ", timer_node)
#timer_node.connect("timeout", _on_Timer_timeout)
#timer_node.start()
#else:
#print("saveTimer node not found")
#else:
#print("Current scene not found")
func _on_Timer_timeout():
load_save_data()
save_data["damagePerClick"] = Global.globalDamagePerClick
save_data["damagePerSec"] = Global.globalDamagePerSec
save_data["damageMultiplier"] = Global.globalDamageMultiplier
save_data["totalDamage"] = Global.globalDamage
save_data["damagePerSecMember1"] = Global.damagePerSecMember1
save_data["damagePerClickMember1"] = Global.damagePerClickMember1
save_data["damageMultiplierMember1"] = Global.damageMultiplierMember1
if Global.texture_member1:
save_data["textureMember1"] = Global.texture_member1
save_data["damagePerSecMember2"] = Global.damagePerSecMember2
save_data["damagePerClickMember2"] = Global.damagePerClickMember2
save_data["damageMultiplierMember2"] = Global.damageMultiplierMember2
if Global.texture_member2:
save_data["textureMember2"] = Global.texture_member2
save_data["damagePerSecMember3"] = Global.damagePerSecMember3
save_data["damagePerClickMember3"] = Global.damagePerClickMember3
save_data["damageMultiplierMember3"] = Global.damageMultiplierMember3
if Global.texture_member3:
save_data["textureMember3"] = Global.texture_member3
save_data["damagePerSecMember4"] = Global.damagePerSecMember4
save_data["damagePerClickMember4"] = Global.damagePerClickMember4
save_data["damageMultiplierMember4"] = Global.damageMultiplierMember4
if Global.texture_member4:
save_data["textureMember4"] = Global.texture_member4
save_data["damagePerSecMember5"] = Global.damagePerSecMember5
save_data["damagePerClickMember5"] = Global.damagePerClickMember5
save_data["damageMultiplierMember5"] = Global.damageMultiplierMember5
if Global.texture_member5:
save_data["textureMember5"] = Global.texture_member5
saveGame()
func _process(delta):
pass

16
Scenes/savemanager.tscn Normal file
View File

@@ -0,0 +1,16 @@
[gd_scene load_steps=2 format=3 uid="uid://b70r8ttk10fgd"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="1_5di46"]
[node name="saveManager" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="saveTimer" type="Timer" parent="."]
wait_time = 60.0
autostart = true
script = ExtResource("1_5di46")

145
Scenes/team.tscn Normal file
View File

@@ -0,0 +1,145 @@
[gd_scene load_steps=11 format=3 uid="uid://blwuy4v4qqyna"]
[ext_resource type="Script" path="res://Root.gd" id="1_6ykb6"]
[ext_resource type="Script" path="res://User Interface/Header.gd" id="2_63y2i"]
[ext_resource type="Script" path="res://User Interface/TeamButton.gd" id="3_yy4wh"]
[ext_resource type="Script" path="res://User Interface/Bossbutton.gd" id="4_nmd48"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="5_6vp5u"]
[ext_resource type="Script" path="res://User Interface/Member1.gd" id="6_dqecs"]
[ext_resource type="Script" path="res://User Interface/Member2.gd" id="7_ddddf"]
[ext_resource type="Script" path="res://User Interface/Member3.gd" id="8_d2bof"]
[ext_resource type="Script" path="res://User Interface/Member4.gd" id="9_2ploj"]
[ext_resource type="Script" path="res://User Interface/Member5.gd" id="10_vu24c"]
[node name="Root" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_6ykb6")
[node name="UI" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 1920.0
offset_bottom = 1080.0
[node name="CanvasLayer" type="CanvasLayer" parent="UI"]
[node name="Header" type="HBoxContainer" parent="UI/CanvasLayer"]
offset_left = 3.0
offset_right = 395.0
offset_bottom = 40.0
script = ExtResource("2_63y2i")
[node name="ScoreLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Score:"
[node name="Score" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="Timer" type="Timer" parent="UI/CanvasLayer/Header"]
autostart = true
[node name="TeamButton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Team"
flat = true
alignment = 0
script = ExtResource("3_yy4wh")
[node name="Bossbutton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Bosses"
flat = true
alignment = 0
script = ExtResource("4_nmd48")
[node name="ClickAddLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "ClickAdd:"
[node name="ClickAdd" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="PerSecLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "PerSec:
"
[node name="PerSec" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="MultiplierLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Multiplier:
"
[node name="Multiplier" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="saveTimer" type="Timer" parent="UI/CanvasLayer/Header"]
wait_time = 5.0
autostart = true
script = ExtResource("5_6vp5u")
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="UI"]
layout_mode = 0
offset_left = -3.0
offset_top = 40.0
offset_right = 1152.0
offset_bottom = 648.0
[node name="TeamScreen" type="HBoxContainer" parent="UI/AspectRatioContainer"]
visibility_layer = 2
layout_mode = 2
alignment = 1
[node name="Member1" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
script = ExtResource("6_dqecs")
[node name="VSeparator" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member2" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
script = ExtResource("7_ddddf")
[node name="VSeparator2" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member3" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
script = ExtResource("8_d2bof")
[node name="VSeparator3" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member4" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
script = ExtResource("9_2ploj")
[node name="VSeparator4" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member5" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
script = ExtResource("10_vu24c")
[node name="Label" type="Label" parent="UI/AspectRatioContainer/TeamScreen"]
visible = false
layout_mode = 2
text = "testtestsetsetsetsetsetsetset"

153
Scenes/teamSelection.tscn Normal file
View File

@@ -0,0 +1,153 @@
[gd_scene load_steps=8 format=3 uid="uid://jleorcxdlvge"]
[ext_resource type="Script" path="res://Root.gd" id="1_4wos3"]
[ext_resource type="Script" path="res://MemberDatabase/MemberDatabase.gd" id="2_d1pbg"]
[ext_resource type="Script" path="res://User Interface/Header.gd" id="3_5456x"]
[ext_resource type="Script" path="res://User Interface/TeamButton.gd" id="4_15yu8"]
[ext_resource type="Script" path="res://User Interface/Bossbutton.gd" id="5_1vjo7"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="6_6bpyy"]
[ext_resource type="Script" path="res://TeamSelection.gd" id="6_aruh2"]
[node name="Root" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 768.0
offset_bottom = 432.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_4wos3")
[node name="MemberDatabase" type="Control" parent="."]
visible = false
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("2_d1pbg")
[node name="UI" type="Control" parent="."]
anchors_preset = 0
offset_right = 1920.0
offset_bottom = 1080.0
[node name="CanvasLayer" type="CanvasLayer" parent="UI"]
[node name="Header" type="HBoxContainer" parent="UI/CanvasLayer"]
offset_left = 3.0
offset_right = 395.0
offset_bottom = 40.0
script = ExtResource("3_5456x")
[node name="ScoreLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Score:"
[node name="Score" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="Timer" type="Timer" parent="UI/CanvasLayer/Header"]
autostart = true
[node name="ClickUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Click Upgrades"
item_count = 9
popup/item_0/text = "+1 Cost:10"
popup/item_0/id = 0
popup/item_1/text = "+10 Cost: 100"
popup/item_1/id = 1
popup/item_2/text = "+20 Cost:1,000"
popup/item_2/id = 2
popup/item_3/text = "+40 Cost: 10,000"
popup/item_3/id = 3
popup/item_4/text = "+60 Cost: 100,000"
popup/item_4/id = 4
popup/item_5/text = "+80 Cost: 1,000,000"
popup/item_5/id = 5
popup/item_6/text = "+100 Cost: 10,000,000"
popup/item_6/id = 6
popup/item_7/text = "+200 Cost: 100,000,000"
popup/item_7/id = 7
popup/item_8/text = "+400 Cost: 1,000,000,000"
popup/item_8/id = 8
[node name="PassiveUpgrades" type="MenuButton" parent="UI/CanvasLayer/Header"]
visible = false
layout_mode = 2
text = "Passive Upgrades"
item_count = 9
popup/item_0/text = "2/s Cost: 100"
popup/item_0/id = 0
popup/item_1/text = "10/s Cost: 1,000"
popup/item_1/id = 1
popup/item_2/text = "20/s Cost: 10,000"
popup/item_2/id = 2
popup/item_3/text = "50/s Cost: 100,000"
popup/item_3/id = 3
popup/item_4/text = "100/s Cost:1,000,000"
popup/item_4/id = 4
popup/item_5/text = "200/s Cost: 10,000,000"
popup/item_5/id = 5
popup/item_6/text = "500/s Cost: 100,000,000"
popup/item_6/id = 6
popup/item_7/text = "1,000/s Cost: 1,000,000,000"
popup/item_7/id = 7
popup/item_8/text = "10,000/s Cost: 10,000,000,000"
popup/item_8/id = 8
[node name="TeamButton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Team"
flat = true
alignment = 0
script = ExtResource("4_15yu8")
[node name="Bossbutton" type="Button" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Bosses"
flat = true
alignment = 0
script = ExtResource("5_1vjo7")
[node name="ClickAddLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "ClickAdd:"
[node name="ClickAdd" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="PerSecLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "PerSec:
"
[node name="PerSec" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="MultiplierLabel" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "Multiplier:
"
[node name="Multiplier" type="Label" parent="UI/CanvasLayer/Header"]
layout_mode = 2
text = "0"
[node name="saveTimer" type="Timer" parent="UI/CanvasLayer/Header"]
wait_time = 5.0
autostart = true
script = ExtResource("6_6bpyy")
[node name="TeamSelection" type="GridContainer" parent="UI"]
layout_mode = 0
offset_left = 3.0
offset_top = 40.0
offset_right = 1923.0
offset_bottom = 1120.0
columns = 10
script = ExtResource("6_aruh2")

94
Scenes/titleScreen.gd Normal file
View File

@@ -0,0 +1,94 @@
extends Control
var files_to_copy = [
"MemberDatabase/memberData.json",
"Boss/bossData.json",
"Save/saveData.json"
]
var user_directory = OS.get_user_data_dir()
var save_data = {}
func copy_file_if_not_exists(file_name: String):
var user_file_path = "user://" + file_name
if not FileAccess.file_exists(user_file_path):
var res_file_path = "res://" + file_name
if FileAccess.file_exists(res_file_path):
var file = FileAccess.open(res_file_path, FileAccess.READ)
if file:
var data = file.get_as_text()
file.close()
# Write to user:// directory
var user_file = FileAccess.open(user_file_path, FileAccess.WRITE)
if user_file:
user_file.store_string(data)
user_file.close()
print("Copied ", file_name, " to user:// directory.")
else:
print("Failed to open destination file: ", user_file_path)
user_file.get_open_error()
else:
print("Failed to open source file: ", res_file_path)
else:
print("Source file ", res_file_path, " not found.")
else:
print("File ", user_file_path, " already exists.")
func load_saved_game():
#If using json
var file = FileAccess.open("user://Save/saveData.json", FileAccess.READ)
#var file = FileAccess.open("user://memberData.json", FileAccess.READ)
if file:
var json_text = file.get_as_text()
#print (json_text)
file.close()
var json = JSON.new()
var json_result = json.parse(json_text)
#print (json_result)
if json_result == OK:
save_data = json.get_data()
print("Save data loaded successfully.")
#print(character_data)
else:
print("Failed to parse JSON: ", json_result.error_string)
else:
print("Save data file not found.")
#Sets the global variables to what was saved
Global.globalDamage = save_data["totalDamage"]
Global.globalDamagePerClick = save_data["damagePerClick"]
Global.globalDamagePerSec = save_data["damagePerSec"]
Global.globalDamageMultiplier = save_data["damageMultiplier"]
Global.damagePerSecMember1 = save_data["damagePerSecMember1"]
Global.damagePerClickMember1 = save_data["damagePerClickMember1"]
Global.damageMultiplierMember1 = save_data["damageMultiplierMember1"]
Global.texture_member1 = save_data["textureMember1"]
Global.damagePerSecMember2 = save_data["damagePerSecMember2"]
Global.damagePerClickMember2 = save_data["damagePerClickMember2"]
Global.damageMultiplierMember2 = save_data["damageMultiplierMember2"]
Global.texture_member2 = save_data["textureMember2"]
Global.damagePerSecMember3 = save_data["damagePerSecMember3"]
Global.damagePerClickMember3 = save_data["damagePerClickMember3"]
Global.damageMultiplierMember3 = save_data["damageMultiplierMember3"]
Global.texture_member3 = save_data["textureMember3"]
Global.damagePerSecMember4 = save_data["damagePerSecMember4"]
Global.damagePerClickMember4 = save_data["damagePerClickMember4"]
Global.damageMultiplierMember4 = save_data["damageMultiplierMember4"]
Global.texture_member4 = save_data["textureMember4"]
Global.damagePerSecMember5 = save_data["damagePerSecMember5"]
Global.damagePerClickMember5 = save_data["damagePerClickMember5"]
Global.damageMultiplierMember5 = save_data["damageMultiplierMember5"]
Global.texture_member5 = save_data["textureMember5"]
# Called when the node enters the scene tree for the first time.
func _ready():
for file_name in files_to_copy:
copy_file_if_not_exists(file_name) # Replace with function body.
load_saved_game()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

29
Scenes/titleScreen.tscn Normal file
View File

@@ -0,0 +1,29 @@
[gd_scene load_steps=3 format=3 uid="uid://c1kf17y3j7jhy"]
[ext_resource type="Script" path="res://TitleClick.gd" id="1_8fgbc"]
[ext_resource type="Script" path="res://Scenes/titleScreen.gd" id="1_euijw"]
[node name="TitleScreen" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 768.0
offset_bottom = 432.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_euijw")
[node name="Title Text" type="RichTextLabel" parent="."]
layout_mode = 0
offset_right = 2422.0
offset_bottom = 1080.0
text = "Title Screen
Click Anywhere"
[node name="TitleClick" type="LinkButton" parent="Title Text"]
layout_mode = 0
offset_right = 1920.0
offset_bottom = 1080.0
script = ExtResource("1_8fgbc")