added way to load savegames
This commit is contained in:
parent
bbc1e6f24e
commit
7a89f57ee5
13
Global.gd
13
Global.gd
@ -5,9 +5,11 @@ var LeftClick = 0
|
|||||||
var player_inventory_items = []
|
var player_inventory_items = []
|
||||||
var river_intersection_home_2 = preload("res://river_intersection_home2.tscn").instance()
|
var river_intersection_home_2 = preload("res://river_intersection_home2.tscn").instance()
|
||||||
var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
|
var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
|
||||||
|
var loadgame_screen = null
|
||||||
var current_scene = null
|
var current_scene = null
|
||||||
var current_camera = null
|
var current_camera = null
|
||||||
var dev_stats = true
|
var dev_stats = true
|
||||||
|
var dbname = "storage.db"
|
||||||
|
|
||||||
func AddInventoryItem(itemid, amount):
|
func AddInventoryItem(itemid, amount):
|
||||||
for x in range(40):
|
for x in range(40):
|
||||||
@ -37,8 +39,13 @@ func GoToScene(scene):
|
|||||||
inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
|
inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
|
||||||
current_scene = inventory_screen
|
current_scene = inventory_screen
|
||||||
get_tree().get_root().add_child(inventory_screen)
|
get_tree().get_root().add_child(inventory_screen)
|
||||||
|
"loadgame_screen":
|
||||||
|
loadgame_screen = preload("res://MenuScenes/LoadGame_Menu.tscn").instance()
|
||||||
|
current_scene = loadgame_screen
|
||||||
|
get_tree().get_root().add_child(loadgame_screen)
|
||||||
|
|
||||||
func LoadSave():
|
func LoadSave(target="Storage.db"):
|
||||||
|
dbname = target
|
||||||
Database.OpenConnection()
|
Database.OpenConnection()
|
||||||
|
|
||||||
#Save everything
|
#Save everything
|
||||||
@ -50,8 +57,8 @@ func _input(event):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
get_tree().get_root().add_child(river_intersection_home_2)
|
# get_tree().get_root().add_child(river_intersection_home_2)
|
||||||
get_tree().get_root().add_child(inventory_screen)
|
# get_tree().get_root().add_child(inventory_screen)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func Log(msg, level=1):
|
func Log(msg, level=1):
|
||||||
|
14
Menu.tscn
14
Menu.tscn
@ -36,9 +36,23 @@ margin_left = 484.204
|
|||||||
margin_top = 100.226
|
margin_top = 100.226
|
||||||
margin_right = 679.204
|
margin_right = 679.204
|
||||||
margin_bottom = 153.226
|
margin_bottom = 153.226
|
||||||
|
rect_pivot_offset = Vector2( 46.6684, 19.1049 )
|
||||||
custom_fonts/font = SubResource( 2 )
|
custom_fonts/font = SubResource( 2 )
|
||||||
text = "Play Game"
|
text = "Play Game"
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="Btn_LoadGame" type="Button" parent="."]
|
||||||
|
margin_left = 484.01
|
||||||
|
margin_top = 158.594
|
||||||
|
margin_right = 679.01
|
||||||
|
margin_bottom = 211.594
|
||||||
|
rect_pivot_offset = Vector2( 46.6684, 19.1049 )
|
||||||
|
custom_fonts/font = SubResource( 2 )
|
||||||
|
text = "Load Game"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
[connection signal="pressed" from="Btn_PlayGame" to="." method="_on_Btn_PlayGame_pressed"]
|
[connection signal="pressed" from="Btn_PlayGame" to="." method="_on_Btn_PlayGame_pressed"]
|
||||||
|
[connection signal="pressed" from="Btn_LoadGame" to="." method="_on_Btn_LoadGame_pressed"]
|
||||||
|
33
MenuScenes/LoadGame_Menu.gd
Normal file
33
MenuScenes/LoadGame_Menu.gd
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
var savegames = []
|
||||||
|
var savegamepath = "res://Savegames"
|
||||||
|
|
||||||
|
func getsave_games(path):
|
||||||
|
var dir = Directory.new()
|
||||||
|
dir.open(path)
|
||||||
|
dir.list_dir_begin()
|
||||||
|
|
||||||
|
while true:
|
||||||
|
var file = dir.get_next()
|
||||||
|
if file == "":
|
||||||
|
break
|
||||||
|
elif file.ends_with(".db"):
|
||||||
|
savegames.append(file)
|
||||||
|
dir.list_dir_end()
|
||||||
|
|
||||||
|
func load_and_play(name):
|
||||||
|
Global.LoadSave(name)
|
||||||
|
Global.GoToScene("river_intersection_home_2")
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
if(OS.get_name() == "Android"):
|
||||||
|
savegamepath = "user://Savegames"
|
||||||
|
getsave_games(savegamepath)
|
||||||
|
for item in savegames:
|
||||||
|
var button1 = Button.new()
|
||||||
|
button1.text = item
|
||||||
|
button1.connect("pressed", self, "load_and_play", ["item"])
|
||||||
|
button1.show()
|
||||||
|
get_node("ScrollContainer/VBoxContainer").add_child(button1)
|
||||||
|
|
36
MenuScenes/LoadGame_Menu.tscn
Normal file
36
MenuScenes/LoadGame_Menu.tscn
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://MenuScenes/LoadGame_Menu.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://pictures/gui/backgrounds/treesbackground1.png" type="Texture" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="Theme" id=1]
|
||||||
|
|
||||||
|
[node name="Loading Games Menu" type="Node2D"]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Background" type="TextureRect" parent="."]
|
||||||
|
margin_right = 1234.0
|
||||||
|
margin_bottom = 768.0
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
stretch_mode = 2
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||||
|
margin_left = 123.0
|
||||||
|
margin_top = 162.0
|
||||||
|
margin_right = 1113.0
|
||||||
|
margin_bottom = 690.0
|
||||||
|
theme = SubResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
|
||||||
|
margin_right = 990.0
|
||||||
|
margin_bottom = 528.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_constants/separation = 2
|
@ -7,3 +7,6 @@ func _on_Btn_PlayGame_pressed():
|
|||||||
Global.LoadSave()
|
Global.LoadSave()
|
||||||
Global.GoToScene("river_intersection_home_2")
|
Global.GoToScene("river_intersection_home_2")
|
||||||
|
|
||||||
|
func _on_Btn_LoadGame_pressed():
|
||||||
|
Global.GoToScene("loadgame_screen")
|
||||||
|
|
||||||
|
BIN
Savegames/Storage.db
Normal file
BIN
Savegames/Storage.db
Normal file
Binary file not shown.
BIN
Savegames/item.db
Normal file
BIN
Savegames/item.db
Normal file
Binary file not shown.
BIN
Savegames/storage.db
Normal file
BIN
Savegames/storage.db
Normal file
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
extends Node
|
extends Node
|
||||||
const SQLite = preload("res://addons/godot-sqlite/bin/gdsqlite.gdns")
|
const SQLite = preload("res://addons/godot-sqlite/bin/gdsqlite.gdns")
|
||||||
|
|
||||||
var path = "res://storage.db"
|
var path = "res://Savegames/"
|
||||||
var db_name = "RingOfRaces"
|
var db_name = "RingOfRaces"
|
||||||
var db = null
|
var db = null
|
||||||
var verbose = true
|
var verbose = true
|
||||||
@ -52,7 +52,8 @@ func CreateWorldDatabase():
|
|||||||
|
|
||||||
func OpenConnection():
|
func OpenConnection():
|
||||||
if(str(OS.get_name()) == "Android"):
|
if(str(OS.get_name()) == "Android"):
|
||||||
path = "user://storage.db"
|
path = "user://Savegames/"
|
||||||
|
path += Global.dbname
|
||||||
self.db = SQLite.new()
|
self.db = SQLite.new()
|
||||||
var file = File.new()
|
var file = File.new()
|
||||||
self.db.path = path
|
self.db.path = path
|
||||||
|
Loading…
Reference in New Issue
Block a user