mirror of
https://github.com/RPG-Research/bcirpg.git
synced 2024-04-16 14:23:01 +00:00
PostgreSQL Database Test Code for Godot
Adds simple test Godot program for database access. (This specific to PostgreSQL, but can be adapted.) Sourced from our menu and Luke's provided reference: https://godotengine.org/asset-library/asset/985 Note: before using, update the screens/DBTest_Postgres.gd script for relevant testing user, password, host, port, database values. (Search on comment "TODO." For anything aside from this rudimentary testing we obviously cannot write these values directly in the code.) Any SQL tests you need to run can be updated in the _executer function code block. Currently it expects a characters database that it just selects all and prints to console for verification testing.
This commit is contained in:
parent
50046d79bd
commit
585e5bfc0e
@ -0,0 +1 @@
|
|||||||
|
|
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="79d2b9a5284e50d91a97c2dd565f2fa4"
|
||||||
|
dest_md5="41051ec7a940540d8c9badbd43d2180f"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="13a1e728def8fb06bd8e797fcc392604"
|
||||||
|
dest_md5="254ea3ed3a62b36ab206f320d0c51637"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="266f789a4e895911161321092c2c2429"
|
||||||
|
dest_md5="505d2398da99764a2e0cc067ba291aa1"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="266f789a4e895911161321092c2c2429"
|
||||||
|
dest_md5="505d2398da99764a2e0cc067ba291aa1"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
||||||
|
dest_md5="26ea799ea0a3da9e753b3ebe822e0570"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,16 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
# Declare member variables here. Examples:
|
||||||
|
# var a = 2
|
||||||
|
# var b = "text"
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
#func _process(delta):
|
||||||
|
# pass
|
@ -0,0 +1,51 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/But_Quit.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
|
||||||
|
[node name="MenuScreen" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -119.0
|
||||||
|
margin_top = -152.0
|
||||||
|
margin_right = 65.0
|
||||||
|
margin_bottom = -91.0
|
||||||
|
rect_scale = Vector2( 1.04675, 1.07389 )
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="VBoxContainer" instance=ExtResource( 2 )]
|
||||||
|
margin_right = 184.0
|
||||||
|
margin_bottom = 37.0
|
||||||
|
text = "Test Postgres"
|
||||||
|
next_scene_path = "res://screens/DBTest_Postgres.tscn"
|
||||||
|
|
||||||
|
[node name="But_Quit" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 41.0
|
||||||
|
margin_right = 184.0
|
||||||
|
margin_bottom = 61.0
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -177.0
|
||||||
|
margin_top = -44.0
|
||||||
|
margin_right = -5.0
|
||||||
|
margin_bottom = -6.0
|
||||||
|
text = "Version: 0.0.0"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/Background_black.png-56039c85507f66e5b636dc3622fcd7f0.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Backgrounds/Background_black.png"
|
||||||
|
dest_files=[ "res://.import/Background_black.png-56039c85507f66e5b636dc3622fcd7f0.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/Background_white.png-90278c2837a8c1d366dff638eb6d5498.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Backgrounds/Background_white.png"
|
||||||
|
dest_files=[ "res://.import/Background_white.png-90278c2837a8c1d366dff638eb6d5498.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/background_demo.png-e30ac367b3596013bad15f6d4bbea075.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Backgrounds/background_demo.png"
|
||||||
|
dest_files=[ "res://.import/background_demo.png-e30ac367b3596013bad15f6d4bbea075.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/l_10646.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 42
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/l_10646.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 24
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,6 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/l_10646.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
font_data = ExtResource( 1 )
|
Binary file not shown.
@ -0,0 +1,6 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/Fonts_source/LiberationSerif-Regular.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/Fonts_source/LiberationSerif-Regular.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 20
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/Fonts_source/LiberationSerif-Regular.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 30
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/Fonts_source/LiberationSerif-Regular.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 40
|
||||||
|
font_data = ExtResource( 1 )
|
@ -0,0 +1,9 @@
|
|||||||
|
[gd_resource type="StyleBoxFlat" format=2]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
bg_color = Color( 0, 0, 0, 1 )
|
||||||
|
border_width_left = 1
|
||||||
|
border_width_top = 1
|
||||||
|
border_width_right = 1
|
||||||
|
border_width_bottom = 1
|
||||||
|
border_color = Color( 0, 0, 0, 1 )
|
@ -0,0 +1,9 @@
|
|||||||
|
[gd_resource type="StyleBoxFlat" format=2]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
bg_color = Color( 1, 1, 1, 1 )
|
||||||
|
border_width_left = 1
|
||||||
|
border_width_top = 1
|
||||||
|
border_width_right = 1
|
||||||
|
border_width_bottom = 1
|
||||||
|
border_color = Color( 1, 1, 1, 1 )
|
@ -0,0 +1,120 @@
|
|||||||
|
[gd_resource type="Theme" load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/sbf_black.tres" type="StyleBox" id=1]
|
||||||
|
[ext_resource path="res://assets/liberation_serif_30pt.tres" type="DynamicFont" id=2]
|
||||||
|
[ext_resource path="res://assets/liberation_serif_20pt.tres" type="DynamicFont" id=3]
|
||||||
|
[ext_resource path="res://assets/liberation_serif.tres" type="DynamicFont" id=4]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
Button/colors/font_color = Color( 1, 1, 1, 1 )
|
||||||
|
Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||||
|
Button/colors/font_color_hover = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
Button/colors/font_color_pressed = Color( 1, 1, 1, 1 )
|
||||||
|
Button/constants/hseparation = 2
|
||||||
|
Button/fonts/font = ExtResource( 2 )
|
||||||
|
Button/styles/disabled = null
|
||||||
|
Button/styles/focus = null
|
||||||
|
Button/styles/hover = null
|
||||||
|
Button/styles/normal = ExtResource( 1 )
|
||||||
|
Button/styles/pressed = ExtResource( 1 )
|
||||||
|
ItemList/colors/font_color = Color( 1, 1, 1, 1 )
|
||||||
|
ItemList/colors/font_color_selected = Color( 1, 1, 1, 1 )
|
||||||
|
ItemList/colors/guide_color = Color( 0, 0, 0, 0.1 )
|
||||||
|
ItemList/constants/hseparation = 4
|
||||||
|
ItemList/constants/icon_margin = 4
|
||||||
|
ItemList/constants/line_separation = 2
|
||||||
|
ItemList/constants/vseparation = 2
|
||||||
|
ItemList/fonts/font = ExtResource( 3 )
|
||||||
|
ItemList/styles/bg = ExtResource( 1 )
|
||||||
|
ItemList/styles/bg_focus = ExtResource( 1 )
|
||||||
|
ItemList/styles/cursor = null
|
||||||
|
ItemList/styles/cursor_unfocused = ExtResource( 1 )
|
||||||
|
ItemList/styles/selected = null
|
||||||
|
ItemList/styles/selected_focus = null
|
||||||
|
Label/colors/font_color = Color( 1, 1, 1, 1 )
|
||||||
|
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
|
||||||
|
Label/colors/font_outline_modulate = Color( 1, 1, 1, 1 )
|
||||||
|
Label/constants/line_spacing = 3
|
||||||
|
Label/constants/shadow_as_outline = 0
|
||||||
|
Label/constants/shadow_offset_x = 1
|
||||||
|
Label/constants/shadow_offset_y = 1
|
||||||
|
Label/fonts/font = ExtResource( 3 )
|
||||||
|
Label/styles/normal = ExtResource( 1 )
|
||||||
|
LineEdit/colors/clear_button_color = Color( 0.88, 0.88, 0.88, 1 )
|
||||||
|
LineEdit/colors/clear_button_color_pressed = Color( 1, 1, 1, 1 )
|
||||||
|
LineEdit/colors/cursor_color = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
LineEdit/colors/font_color = Color( 1, 1, 1, 1 )
|
||||||
|
LineEdit/colors/font_color_selected = Color( 1, 1, 1, 1 )
|
||||||
|
LineEdit/colors/font_color_uneditable = Color( 0.88, 0.88, 0.88, 0.5 )
|
||||||
|
LineEdit/colors/selection_color = Color( 0.49, 0.49, 0.49, 1 )
|
||||||
|
LineEdit/constants/minimum_spaces = 12
|
||||||
|
LineEdit/fonts/font = null
|
||||||
|
LineEdit/icons/clear = null
|
||||||
|
LineEdit/styles/focus = null
|
||||||
|
LineEdit/styles/normal = ExtResource( 1 )
|
||||||
|
LineEdit/styles/read_only = null
|
||||||
|
MarginContainer/constants/margin_bottom = 0
|
||||||
|
MarginContainer/constants/margin_left = 0
|
||||||
|
MarginContainer/constants/margin_right = 0
|
||||||
|
MarginContainer/constants/margin_top = 0
|
||||||
|
Panel/styles/panel = ExtResource( 1 )
|
||||||
|
PanelContainer/styles/panel = ExtResource( 1 )
|
||||||
|
Tabs/colors/font_color_bg = Color( 1, 1, 1, 1 )
|
||||||
|
Tabs/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||||
|
Tabs/colors/font_color_fg = Color( 1, 1, 1, 1 )
|
||||||
|
Tabs/constants/hseparation = 4
|
||||||
|
Tabs/constants/label_valign_bg = 2
|
||||||
|
Tabs/constants/label_valign_fg = 0
|
||||||
|
Tabs/constants/top_margin = 24
|
||||||
|
Tabs/fonts/font = ExtResource( 3 )
|
||||||
|
Tabs/icons/close = null
|
||||||
|
Tabs/icons/decrement = null
|
||||||
|
Tabs/icons/decrement_highlight = null
|
||||||
|
Tabs/icons/increment = null
|
||||||
|
Tabs/icons/increment_highlight = null
|
||||||
|
Tabs/styles/button = ExtResource( 1 )
|
||||||
|
Tabs/styles/button_pressed = null
|
||||||
|
Tabs/styles/panel = ExtResource( 1 )
|
||||||
|
Tabs/styles/tab_bg = ExtResource( 1 )
|
||||||
|
Tabs/styles/tab_disabled = null
|
||||||
|
Tabs/styles/tab_fg = ExtResource( 1 )
|
||||||
|
TextEdit/colors/background_color = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/bookmark_color = Color( 0.08, 0.49, 0.98, 1 )
|
||||||
|
TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 )
|
||||||
|
TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 )
|
||||||
|
TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 )
|
||||||
|
TextEdit/colors/caret_color = Color( 0.88, 0.88, 0.88, 1 )
|
||||||
|
TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 )
|
||||||
|
TextEdit/colors/completion_background_color = Color( 0.17, 0.16, 0.2, 1 )
|
||||||
|
TextEdit/colors/completion_existing_color = Color( 0.87, 0.87, 0.87, 0.13 )
|
||||||
|
TextEdit/colors/completion_font_color = Color( 0.67, 0.67, 0.67, 1 )
|
||||||
|
TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/completion_selected_color = Color( 0.26, 0.26, 0.27, 1 )
|
||||||
|
TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 )
|
||||||
|
TextEdit/colors/executing_line_color = Color( 0.2, 0.8, 0.2, 0.4 )
|
||||||
|
TextEdit/colors/font_color = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/font_color_readonly = Color( 0.933333, 0.933333, 0.933333, 0.501961 )
|
||||||
|
TextEdit/colors/font_color_selected = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/function_color = Color( 0.4, 0.64, 0.81, 1 )
|
||||||
|
TextEdit/colors/line_number_color = Color( 0.67, 0.67, 0.67, 0.4 )
|
||||||
|
TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 )
|
||||||
|
TextEdit/colors/member_variable_color = Color( 0.9, 0.31, 0.35, 1 )
|
||||||
|
TextEdit/colors/number_color = Color( 0.92, 0.58, 0.2, 1 )
|
||||||
|
TextEdit/colors/safe_line_number_color = Color( 0.67, 0.78, 0.67, 0.6 )
|
||||||
|
TextEdit/colors/selection_color = Color( 0.49, 0.49, 0.49, 1 )
|
||||||
|
TextEdit/colors/symbol_color = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 )
|
||||||
|
TextEdit/constants/completion_lines = 7
|
||||||
|
TextEdit/constants/completion_max_width = 50
|
||||||
|
TextEdit/constants/completion_scroll_width = 3
|
||||||
|
TextEdit/constants/line_spacing = 4
|
||||||
|
TextEdit/fonts/font = ExtResource( 4 )
|
||||||
|
TextEdit/icons/fold = null
|
||||||
|
TextEdit/icons/folded = null
|
||||||
|
TextEdit/icons/space = null
|
||||||
|
TextEdit/icons/tab = null
|
||||||
|
TextEdit/styles/completion = ExtResource( 1 )
|
||||||
|
TextEdit/styles/focus = ExtResource( 1 )
|
||||||
|
TextEdit/styles/normal = ExtResource( 1 )
|
||||||
|
TextEdit/styles/read_only = ExtResource( 1 )
|
||||||
|
VBoxContainer/constants/separation = 4
|
@ -0,0 +1,120 @@
|
|||||||
|
[gd_resource type="Theme" load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/sbf_white.tres" type="StyleBox" id=1]
|
||||||
|
[ext_resource path="res://assets/liberation_serif_30pt.tres" type="DynamicFont" id=2]
|
||||||
|
[ext_resource path="res://assets/liberation_serif_20pt.tres" type="DynamicFont" id=3]
|
||||||
|
[ext_resource path="res://assets/liberation_serif.tres" type="DynamicFont" id=4]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
Button/colors/font_color = Color( 0, 0, 0, 1 )
|
||||||
|
Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||||
|
Button/colors/font_color_hover = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
Button/colors/font_color_pressed = Color( 1, 1, 1, 1 )
|
||||||
|
Button/constants/hseparation = 2
|
||||||
|
Button/fonts/font = ExtResource( 2 )
|
||||||
|
Button/styles/disabled = null
|
||||||
|
Button/styles/focus = null
|
||||||
|
Button/styles/hover = null
|
||||||
|
Button/styles/normal = ExtResource( 1 )
|
||||||
|
Button/styles/pressed = ExtResource( 1 )
|
||||||
|
ItemList/colors/font_color = Color( 0, 0, 0, 1 )
|
||||||
|
ItemList/colors/font_color_selected = Color( 1, 1, 1, 1 )
|
||||||
|
ItemList/colors/guide_color = Color( 0, 0, 0, 0.1 )
|
||||||
|
ItemList/constants/hseparation = 4
|
||||||
|
ItemList/constants/icon_margin = 4
|
||||||
|
ItemList/constants/line_separation = 2
|
||||||
|
ItemList/constants/vseparation = 2
|
||||||
|
ItemList/fonts/font = null
|
||||||
|
ItemList/styles/bg = ExtResource( 1 )
|
||||||
|
ItemList/styles/bg_focus = ExtResource( 1 )
|
||||||
|
ItemList/styles/cursor = null
|
||||||
|
ItemList/styles/cursor_unfocused = ExtResource( 1 )
|
||||||
|
ItemList/styles/selected = null
|
||||||
|
ItemList/styles/selected_focus = null
|
||||||
|
Label/colors/font_color = Color( 0, 0, 0, 1 )
|
||||||
|
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
|
||||||
|
Label/colors/font_outline_modulate = Color( 1, 1, 1, 1 )
|
||||||
|
Label/constants/line_spacing = 3
|
||||||
|
Label/constants/shadow_as_outline = 0
|
||||||
|
Label/constants/shadow_offset_x = 1
|
||||||
|
Label/constants/shadow_offset_y = 1
|
||||||
|
Label/fonts/font = ExtResource( 3 )
|
||||||
|
Label/styles/normal = ExtResource( 1 )
|
||||||
|
LineEdit/colors/clear_button_color = Color( 0.88, 0.88, 0.88, 1 )
|
||||||
|
LineEdit/colors/clear_button_color_pressed = Color( 1, 1, 1, 1 )
|
||||||
|
LineEdit/colors/cursor_color = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
LineEdit/colors/font_color = Color( 0, 0, 0, 1 )
|
||||||
|
LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 )
|
||||||
|
LineEdit/colors/font_color_uneditable = Color( 0.88, 0.88, 0.88, 0.5 )
|
||||||
|
LineEdit/colors/selection_color = Color( 0.49, 0.49, 0.49, 1 )
|
||||||
|
LineEdit/constants/minimum_spaces = 12
|
||||||
|
LineEdit/fonts/font = null
|
||||||
|
LineEdit/icons/clear = null
|
||||||
|
LineEdit/styles/focus = null
|
||||||
|
LineEdit/styles/normal = ExtResource( 1 )
|
||||||
|
LineEdit/styles/read_only = null
|
||||||
|
MarginContainer/constants/margin_bottom = 0
|
||||||
|
MarginContainer/constants/margin_left = 0
|
||||||
|
MarginContainer/constants/margin_right = 0
|
||||||
|
MarginContainer/constants/margin_top = 0
|
||||||
|
Panel/styles/panel = ExtResource( 1 )
|
||||||
|
PanelContainer/styles/panel = ExtResource( 1 )
|
||||||
|
Tabs/colors/font_color_bg = Color( 0, 0, 0, 1 )
|
||||||
|
Tabs/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||||
|
Tabs/colors/font_color_fg = Color( 0, 0, 0, 1 )
|
||||||
|
Tabs/constants/hseparation = 4
|
||||||
|
Tabs/constants/label_valign_bg = 2
|
||||||
|
Tabs/constants/label_valign_fg = 0
|
||||||
|
Tabs/constants/top_margin = 24
|
||||||
|
Tabs/fonts/font = ExtResource( 3 )
|
||||||
|
Tabs/icons/close = null
|
||||||
|
Tabs/icons/decrement = null
|
||||||
|
Tabs/icons/decrement_highlight = null
|
||||||
|
Tabs/icons/increment = null
|
||||||
|
Tabs/icons/increment_highlight = null
|
||||||
|
Tabs/styles/button = ExtResource( 1 )
|
||||||
|
Tabs/styles/button_pressed = null
|
||||||
|
Tabs/styles/panel = ExtResource( 1 )
|
||||||
|
Tabs/styles/tab_bg = ExtResource( 1 )
|
||||||
|
Tabs/styles/tab_disabled = null
|
||||||
|
Tabs/styles/tab_fg = ExtResource( 1 )
|
||||||
|
TextEdit/colors/background_color = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/bookmark_color = Color( 0.08, 0.49, 0.98, 1 )
|
||||||
|
TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 )
|
||||||
|
TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 )
|
||||||
|
TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 )
|
||||||
|
TextEdit/colors/caret_color = Color( 0.88, 0.88, 0.88, 1 )
|
||||||
|
TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 )
|
||||||
|
TextEdit/colors/completion_background_color = Color( 0.17, 0.16, 0.2, 1 )
|
||||||
|
TextEdit/colors/completion_existing_color = Color( 0.87, 0.87, 0.87, 0.13 )
|
||||||
|
TextEdit/colors/completion_font_color = Color( 0.67, 0.67, 0.67, 1 )
|
||||||
|
TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 )
|
||||||
|
TextEdit/colors/completion_selected_color = Color( 0.26, 0.26, 0.27, 1 )
|
||||||
|
TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 )
|
||||||
|
TextEdit/colors/executing_line_color = Color( 0.2, 0.8, 0.2, 0.4 )
|
||||||
|
TextEdit/colors/font_color = Color( 0.00392157, 0.00392157, 0.00392157, 1 )
|
||||||
|
TextEdit/colors/font_color_readonly = Color( 0.0588235, 0.0588235, 0.0588235, 0.501961 )
|
||||||
|
TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 )
|
||||||
|
TextEdit/colors/function_color = Color( 0.4, 0.64, 0.81, 1 )
|
||||||
|
TextEdit/colors/line_number_color = Color( 0.67, 0.67, 0.67, 0.4 )
|
||||||
|
TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 )
|
||||||
|
TextEdit/colors/member_variable_color = Color( 0.9, 0.31, 0.35, 1 )
|
||||||
|
TextEdit/colors/number_color = Color( 0.92, 0.58, 0.2, 1 )
|
||||||
|
TextEdit/colors/safe_line_number_color = Color( 0.67, 0.78, 0.67, 0.6 )
|
||||||
|
TextEdit/colors/selection_color = Color( 0.49, 0.49, 0.49, 1 )
|
||||||
|
TextEdit/colors/symbol_color = Color( 0.94, 0.94, 0.94, 1 )
|
||||||
|
TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 )
|
||||||
|
TextEdit/constants/completion_lines = 7
|
||||||
|
TextEdit/constants/completion_max_width = 50
|
||||||
|
TextEdit/constants/completion_scroll_width = 3
|
||||||
|
TextEdit/constants/line_spacing = 4
|
||||||
|
TextEdit/fonts/font = ExtResource( 4 )
|
||||||
|
TextEdit/icons/fold = null
|
||||||
|
TextEdit/icons/folded = null
|
||||||
|
TextEdit/icons/space = null
|
||||||
|
TextEdit/icons/tab = null
|
||||||
|
TextEdit/styles/completion = ExtResource( 1 )
|
||||||
|
TextEdit/styles/focus = ExtResource( 1 )
|
||||||
|
TextEdit/styles/normal = ExtResource( 1 )
|
||||||
|
TextEdit/styles/read_only = ExtResource( 1 )
|
||||||
|
VBoxContainer/constants/separation = 4
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="Environment" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[sub_resource type="ProceduralSky" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
background_mode = 2
|
||||||
|
background_sky = SubResource( 1 )
|
@ -0,0 +1,34 @@
|
|||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="HTML5"
|
||||||
|
platform="HTML5"
|
||||||
|
runnable=true
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="../../Godot_Outputs/Godot_35_Outputs/Web/BaseTest/index.html"
|
||||||
|
script_export_mode=1
|
||||||
|
script_encryption_key=""
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
variant/export_type=0
|
||||||
|
vram_texture_compression/for_desktop=true
|
||||||
|
vram_texture_compression/for_mobile=false
|
||||||
|
html/export_icon=true
|
||||||
|
html/custom_html_shell=""
|
||||||
|
html/head_include=""
|
||||||
|
html/canvas_resize_policy=2
|
||||||
|
html/focus_canvas_on_start=true
|
||||||
|
html/experimental_virtual_keyboard=false
|
||||||
|
progressive_web_app/enabled=false
|
||||||
|
progressive_web_app/offline_page=""
|
||||||
|
progressive_web_app/display=1
|
||||||
|
progressive_web_app/orientation=0
|
||||||
|
progressive_web_app/icon_144x144=""
|
||||||
|
progressive_web_app/icon_180x180=""
|
||||||
|
progressive_web_app/icon_512x512=""
|
||||||
|
progressive_web_app/background_color=Color( 0, 0, 0, 1 )
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.png"
|
||||||
|
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
@ -0,0 +1,46 @@
|
|||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=4
|
||||||
|
|
||||||
|
_global_script_classes=[ {
|
||||||
|
"base": "PanelContainer",
|
||||||
|
"class": "Locale",
|
||||||
|
"language": "GDScript",
|
||||||
|
"path": "res://userInterface/Locale.gd"
|
||||||
|
}, {
|
||||||
|
"base": "Object",
|
||||||
|
"class": "PostgreSQLClient",
|
||||||
|
"language": "GDScript",
|
||||||
|
"path": "res://screens/PostgreSQLClient.gd"
|
||||||
|
} ]
|
||||||
|
_global_script_class_icons={
|
||||||
|
"Locale": "",
|
||||||
|
"PostgreSQLClient": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="Database_Testing"
|
||||||
|
run/main_scene="res://MenuScreen.tscn"
|
||||||
|
config/icon="res://icon.png"
|
||||||
|
|
||||||
|
[gui]
|
||||||
|
|
||||||
|
common/drop_mouse_on_gui_input_disabled=true
|
||||||
|
|
||||||
|
[physics]
|
||||||
|
|
||||||
|
common/enable_pause_aware_picking=true
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
quality/driver/driver_name="GLES2"
|
||||||
|
vram_compression/import_etc=true
|
||||||
|
vram_compression/import_etc2=false
|
||||||
|
environment/default_environment="res://default_env.tres"
|
@ -0,0 +1,13 @@
|
|||||||
|
#BUT_HISTORYPAGER:
|
||||||
|
# Iterates the page number and calls HistoryViewer script to display
|
||||||
|
# stored page and response fro the history array
|
||||||
|
#
|
||||||
|
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
onready var historyViewerScript = get_node("/root/HistoryViewer")
|
||||||
|
|
||||||
|
#DKM TEMP: this needs refactoring -- too much being calculated as needed/repeated
|
||||||
|
func _on_But_HistoryPager_button_up() -> void:
|
||||||
|
historyViewerScript.update_pager()
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
#CHARACTER_ADD:
|
||||||
|
# Script for adding a new character and both saving it to file and loading
|
||||||
|
# it into the character object
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
theme=load(settings.themeFile)
|
||||||
|
$Title/But_SaveChar.grab_focus()
|
||||||
|
|
||||||
|
func _on_But_SaveChar_pressed() -> void:
|
||||||
|
$Title/FileDialog.popup()
|
||||||
|
|
||||||
|
#DKM TEMP: just text for now from text edit
|
||||||
|
func _on_FileDialog_file_selected(path: String) -> void:
|
||||||
|
var pc = get_node("/root/PlayerCharacter")
|
||||||
|
var newCharFile = File.new()
|
||||||
|
newCharFile.open(path, 2)
|
||||||
|
newCharFile.store_string($TextEdit.text)
|
||||||
|
pc.playerCharacterSingleton.pcText = $TextEdit.text
|
@ -0,0 +1,171 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/Character_Add.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="TextEdit" type="TextEdit" parent="."]
|
||||||
|
margin_left = 215.0
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 997.0
|
||||||
|
margin_bottom = 447.0
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
anchor_left = 0.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
text = "Create Character (temp)"
|
||||||
|
|
||||||
|
[node name="But_SaveChar" type="Button" parent="Title"]
|
||||||
|
margin_right = 12.0
|
||||||
|
margin_bottom = 20.0
|
||||||
|
text = "Save Character"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
margin_left = -1.0
|
||||||
|
margin_top = 48.0
|
||||||
|
margin_right = 142.0
|
||||||
|
margin_bottom = 72.0
|
||||||
|
text = "Temp: Main Menu"
|
||||||
|
next_scene_path = "res://screens/MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="But_StartNewGame" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
margin_top = 98.0
|
||||||
|
margin_right = 159.0
|
||||||
|
margin_bottom = 122.0
|
||||||
|
text = "Temp: Start New Game"
|
||||||
|
|
||||||
|
[node name="FileDialog" type="FileDialog" parent="Title"]
|
||||||
|
margin_left = 164.0
|
||||||
|
margin_top = 35.0
|
||||||
|
margin_right = 741.0
|
||||||
|
margin_bottom = 426.0
|
||||||
|
rect_min_size = Vector2( 400, 140 )
|
||||||
|
access = 1
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Title"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -20.0
|
||||||
|
margin_top = 50.0
|
||||||
|
margin_right = 20.0
|
||||||
|
margin_bottom = 140.0
|
||||||
|
|
||||||
|
[node name="LabelName" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 31.0
|
||||||
|
text = "NAME
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelName"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelProfession" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 35.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 66.0
|
||||||
|
text = "PROFESSION
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelProfession"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelStrength" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 70.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 101.0
|
||||||
|
text = "STRENGTH
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelStrength"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelIntellect" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 105.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 136.0
|
||||||
|
text = "INTELLECT
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelIntellect"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelWillpower" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 140.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 171.0
|
||||||
|
text = "WILLPOWER
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelWillpower"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelCharm" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 175.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 189.0
|
||||||
|
text = "CHARM"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelCharm"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelWeapon" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 193.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 224.0
|
||||||
|
text = "WEAPON
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelWeapon"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelArmor" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 228.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 242.0
|
||||||
|
text = "ARMOR"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelArmor"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="LabelQuote" type="Label" parent="Title/VBoxContainer"]
|
||||||
|
margin_top = 246.0
|
||||||
|
margin_right = 81.0
|
||||||
|
margin_bottom = 260.0
|
||||||
|
text = "QUOTE"
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="Title/VBoxContainer/LabelQuote"]
|
||||||
|
margin_top = 15.0
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Title/But_SaveChar" to="." method="_on_But_SaveChar_pressed"]
|
||||||
|
[connection signal="file_selected" from="Title/FileDialog" to="." method="_on_FileDialog_file_selected"]
|
@ -0,0 +1,24 @@
|
|||||||
|
#CHARACTER_LOAD:
|
||||||
|
# Script for loading a character file into the character object from file
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
theme=load(settings.themeFile)
|
||||||
|
$Title/But_loadCharacter.grab_focus()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_loadCharacter_pressed() -> void:
|
||||||
|
$LoadCharacter_FileDialog.popup()
|
||||||
|
|
||||||
|
|
||||||
|
#DKM TEMP: we need to load the character item, not display to field
|
||||||
|
func _on_LoadCharacter_FileDialog_file_selected(path: String) -> void:
|
||||||
|
print(path)
|
||||||
|
var charFile = File.new()
|
||||||
|
charFile.open(path, 1)
|
||||||
|
var pc = get_node("/root/PlayerCharacter")
|
||||||
|
pc.playerCharacterSingleton.pcText = charFile.get_as_text()
|
||||||
|
$TextEdit.text = pc.playerCharacterSingleton.pcText
|
@ -0,0 +1,70 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/Character_Load.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="TextEdit" type="TextEdit" parent="."]
|
||||||
|
margin_left = 189.0
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_right = 989.0
|
||||||
|
margin_bottom = 461.0
|
||||||
|
readonly = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
anchor_left = 0.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
text = "Load Character (temp)"
|
||||||
|
|
||||||
|
[node name="But_loadCharacter" type="Button" parent="Title"]
|
||||||
|
margin_left = 22.0
|
||||||
|
margin_top = 34.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 54.0
|
||||||
|
text = "Load Character File"
|
||||||
|
|
||||||
|
[node name="But_StartNewGame" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
margin_left = 22.0
|
||||||
|
margin_top = 71.0
|
||||||
|
margin_right = 181.0
|
||||||
|
margin_bottom = 95.0
|
||||||
|
text = "Temp: Start New Game"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
margin_left = 21.0
|
||||||
|
margin_top = 109.0
|
||||||
|
margin_right = 164.0
|
||||||
|
margin_bottom = 133.0
|
||||||
|
text = "Temp: Main Menu "
|
||||||
|
|
||||||
|
[node name="LoadCharacter_FileDialog" type="FileDialog" parent="."]
|
||||||
|
margin_left = 193.0
|
||||||
|
margin_top = 33.0
|
||||||
|
margin_right = 862.0
|
||||||
|
margin_bottom = 409.0
|
||||||
|
rect_min_size = Vector2( 400, 140 )
|
||||||
|
window_title = "Open a File"
|
||||||
|
mode = 0
|
||||||
|
access = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Title/But_loadCharacter" to="." method="_on_But_loadCharacter_pressed"]
|
||||||
|
[connection signal="file_selected" from="LoadCharacter_FileDialog" to="." method="_on_LoadCharacter_FileDialog_file_selected"]
|
@ -0,0 +1,82 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
var database := PostgreSQLClient.new()
|
||||||
|
|
||||||
|
#TODO: ADD RELEVANT VALUES BELOW FOR TESTING!
|
||||||
|
const USER = ''#"postgres"
|
||||||
|
const PASSWORD = ''
|
||||||
|
const HOST = ''#"localhost"
|
||||||
|
const PORT = 5432 # Default postgres port
|
||||||
|
const DATABASE = ''#"postgres"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
print("Test is running")
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
print("Init running")
|
||||||
|
var _error := database.connect("connection_established", self, "_executer")
|
||||||
|
_error = database.connect("authentication_error", self, "_authentication_error")
|
||||||
|
_error = database.connect("connection_closed", self, "_close")
|
||||||
|
|
||||||
|
#Connection to the database
|
||||||
|
_error = database.connect_to_host("postgresql://%s:%s@%s:%d/%s" % [USER, PASSWORD, HOST, PORT, DATABASE])
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(_delta: float) -> void:
|
||||||
|
print("Physics running")
|
||||||
|
database.poll()
|
||||||
|
|
||||||
|
|
||||||
|
func _authentication_error(error_object: Dictionary) -> void:
|
||||||
|
prints("Error connection to database:", error_object["message"])
|
||||||
|
|
||||||
|
|
||||||
|
func _executer() -> void:
|
||||||
|
print("Executor running")
|
||||||
|
print(database.parameter_status)
|
||||||
|
|
||||||
|
# var datas := database.execute("""
|
||||||
|
# BEGIN;
|
||||||
|
# /*Helloworld*/
|
||||||
|
# SELECT concat('Hello', 'World');
|
||||||
|
# COMMIT;
|
||||||
|
# """)
|
||||||
|
|
||||||
|
var datas := database.execute("""
|
||||||
|
BEGIN;
|
||||||
|
SELECT * FROM characters;
|
||||||
|
COMMIT;
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#The datas variable contains an array of PostgreSQLQueryResult object.
|
||||||
|
for data in datas:
|
||||||
|
#Specifies the number of fields in a row (can be zero).
|
||||||
|
print(data.number_of_fields_in_a_row)
|
||||||
|
|
||||||
|
# This is usually a single word that identifies which SQL command was completed.
|
||||||
|
# note: the "BEGIN" and "COMMIT" commands return empty values
|
||||||
|
print(data.command_tag)
|
||||||
|
|
||||||
|
print(data.row_description)
|
||||||
|
|
||||||
|
print(data.data_row)
|
||||||
|
|
||||||
|
prints("Notice:", data.notice)
|
||||||
|
|
||||||
|
if not database.error_object.empty():
|
||||||
|
prints("Error:", database.error_object)
|
||||||
|
|
||||||
|
database.close()
|
||||||
|
|
||||||
|
|
||||||
|
func _close(clean_closure := true) -> void:
|
||||||
|
prints("DB CLOSE,", "Clean closure:", clean_closure)
|
||||||
|
|
||||||
|
|
||||||
|
func _exit_tree() -> void:
|
||||||
|
print("Exit running")
|
||||||
|
database.close()
|
@ -0,0 +1,38 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://screens/DBTest_Postgres.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[node name="Control" type="Node2D"]
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 600.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = 415.0
|
||||||
|
margin_top = 133.0
|
||||||
|
margin_right = 653.0
|
||||||
|
margin_bottom = 233.0
|
||||||
|
|
||||||
|
[node name="But_MainMenu" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 100.0
|
||||||
|
text = "Main Menu"
|
||||||
|
next_scene_path = "res://MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 846.0
|
||||||
|
margin_top = 554.0
|
||||||
|
margin_right = 1018.0
|
||||||
|
margin_bottom = 592.0
|
||||||
|
text = "Version: 0.0.0"
|
@ -0,0 +1,49 @@
|
|||||||
|
#HISTORY_VIEWER:
|
||||||
|
# Controls output space -- will display the appropriate history array page.
|
||||||
|
# DKM TEMP: 5/15/22: what's here is replicated from the Game script for starting
|
||||||
|
# purposes. I have this working in experimental version -- will add this back
|
||||||
|
# next.
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
onready var history_source = get_node("/root/History").historyScreensSingleton
|
||||||
|
onready var current_history = $Background/MarginContainer/Rows/GameInfo/CurrentHistory
|
||||||
|
#For zero-indexed array position:
|
||||||
|
onready var current_history_page_no = 0
|
||||||
|
onready var page_displayer = $Background/MarginContainer/Rows/ItemList/Page_Display
|
||||||
|
|
||||||
|
#Abstract class we instance when wanted in game as child of HistoryReference
|
||||||
|
const TextOutput = preload("res://UserInterface/Response.tscn")
|
||||||
|
const InputResponse = preload("res://UserInterface/InputResponse.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
theme=load(settings.themeFile)
|
||||||
|
|
||||||
|
print("Loaded history array size is: " + str(history_source.output_history_array.size()))
|
||||||
|
update_pager()
|
||||||
|
#DKM TEMP:
|
||||||
|
# page_displayer.text = "1"
|
||||||
|
# if(current_history.get_child_count() > 0):
|
||||||
|
# current_history.remove_child(current_history.get_child(0))
|
||||||
|
# var opening_res = history_source.output_history_array[0]
|
||||||
|
# current_history.add_child(opening_res)
|
||||||
|
|
||||||
|
#Copies the response output to add to both current game output, and the
|
||||||
|
# history array.
|
||||||
|
func add_display_to_game(response: Control):
|
||||||
|
if(current_history.get_child_count() > 0):
|
||||||
|
current_history.remove_child(current_history.get_child(0))
|
||||||
|
current_history.add_child(response)
|
||||||
|
|
||||||
|
func update_pager():
|
||||||
|
if(current_history_page_no >= history_source.output_history_array.size()):
|
||||||
|
current_history_page_no = 0
|
||||||
|
print("Current page: " + str(current_history_page_no))
|
||||||
|
add_display_to_game(history_source.output_history_array[current_history_page_no])
|
||||||
|
current_history_page_no = current_history_page_no +1
|
||||||
|
page_displayer.text = str(current_history_page_no)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,100 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://screens/HistoryViewer.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://assets/ui_controlNode_dark_theme.tres" type="Theme" id=3]
|
||||||
|
[ext_resource path="res://screens/But_HistoryPager.gd" type="Script" id=4]
|
||||||
|
|
||||||
|
[node name="HistoryViewer" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
theme = ExtResource( 3 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Background" type="PanelContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="Background"]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 1023.0
|
||||||
|
margin_bottom = 599.0
|
||||||
|
custom_constants/margin_right = 20
|
||||||
|
custom_constants/margin_top = 10
|
||||||
|
custom_constants/margin_left = 20
|
||||||
|
custom_constants/margin_bottom = 20
|
||||||
|
|
||||||
|
[node name="Rows" type="VBoxContainer" parent="Background/MarginContainer"]
|
||||||
|
margin_left = 20.0
|
||||||
|
margin_top = 10.0
|
||||||
|
margin_right = 1002.0
|
||||||
|
margin_bottom = 578.0
|
||||||
|
custom_constants/separation = 10
|
||||||
|
|
||||||
|
[node name="ItemList" type="ItemList" parent="Background/MarginContainer/Rows"]
|
||||||
|
margin_right = 982.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
rect_min_size = Vector2( 0, 40 )
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Background/MarginContainer/Rows/ItemList" instance=ExtResource( 2 )]
|
||||||
|
margin_right = 200.0
|
||||||
|
margin_bottom = 36.0
|
||||||
|
text = "More Options"
|
||||||
|
next_scene_path = "res://screens/MoreOptions.tscn"
|
||||||
|
|
||||||
|
[node name="But_HistoryPager" type="Button" parent="Background/MarginContainer/Rows/ItemList"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -84.0
|
||||||
|
margin_right = 115.0
|
||||||
|
margin_bottom = 36.0
|
||||||
|
text = "History Pager"
|
||||||
|
script = ExtResource( 4 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Background/MarginContainer/Rows/ItemList"]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
margin_left = -194.94
|
||||||
|
margin_top = -1.12247
|
||||||
|
margin_right = -81.9397
|
||||||
|
margin_bottom = 23.8775
|
||||||
|
text = "History Page:"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Page_Display" type="Label" parent="Background/MarginContainer/Rows/ItemList"]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
margin_left = -40.0
|
||||||
|
margin_bottom = 25.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="GameInfo" type="PanelContainer" parent="Background/MarginContainer/Rows"]
|
||||||
|
margin_top = 50.0
|
||||||
|
margin_right = 982.0
|
||||||
|
margin_bottom = 568.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="CurrentHistory" type="VBoxContainer" parent="Background/MarginContainer/Rows/GameInfo"]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 981.0
|
||||||
|
margin_bottom = 517.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_constants/separation = 20
|
||||||
|
|
||||||
|
[connection signal="button_up" from="Background/MarginContainer/Rows/ItemList/But_HistoryPager" to="Background/MarginContainer/Rows/ItemList/But_HistoryPager" method="_on_But_HistoryPager_button_up"]
|
@ -0,0 +1,48 @@
|
|||||||
|
#GRAB FOCUS: simple script for temp files to grab focus
|
||||||
|
# Expanded for Import Character option
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
onready var pSingleton = get_node("/root/PlayerCharacter").pc
|
||||||
|
|
||||||
|
var charFilePath
|
||||||
|
var a
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
theme=load(settings.themeFile)
|
||||||
|
|
||||||
|
func _on_Button_pressed():
|
||||||
|
$FileDialog.popup()
|
||||||
|
|
||||||
|
#this is going to take information from the file the player chose and put the individul parts into textboxes so it can be edited and then saved
|
||||||
|
func _on_FileDialog_file_selected(path):
|
||||||
|
var file = File.new()
|
||||||
|
#read the text in the file, save it in the variable a
|
||||||
|
file.open(path, File.READ)
|
||||||
|
|
||||||
|
#split by the spaces so the individual pieces can be separated into textboxes
|
||||||
|
while file.eof_reached() == false:
|
||||||
|
var csvStrArray = file.get_csv_line()
|
||||||
|
var i = 0
|
||||||
|
var isLabel = true
|
||||||
|
while i < csvStrArray.size():
|
||||||
|
var csvStr = csvStrArray[i]
|
||||||
|
if(isLabel):
|
||||||
|
#make a new textbox for each piece of information
|
||||||
|
var textLine = Label.new()
|
||||||
|
$ScrollContainer/VBoxContainer.add_child(textLine)
|
||||||
|
textLine.text = csvStr.to_upper()
|
||||||
|
isLabel = false
|
||||||
|
#DKM TEMP: save this unformatted to the singleton text string
|
||||||
|
pSingleton.pcText += csvStr.to_upper() + ": "
|
||||||
|
else:
|
||||||
|
isLabel = true
|
||||||
|
var textBox = LineEdit.new()
|
||||||
|
$ScrollContainer/VBoxContainer.add_child(textBox)
|
||||||
|
textBox.text = csvStr
|
||||||
|
#DKM TEMP: save this unformatted to the singleton text string
|
||||||
|
pSingleton.pcText += csvStr + "\n"
|
||||||
|
i += 1
|
||||||
|
file.close()
|
@ -0,0 +1,127 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/ImportCharacter.gd" type="Script" id=3]
|
||||||
|
[ext_resource path="res://userInterface/But_PlayButton.gd" type="Script" id=4]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="PopupDialog" type="PopupDialog" parent="."]
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
|
||||||
|
[node name="WarnText" type="Label" parent="PopupDialog"]
|
||||||
|
margin_right = 40.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Example"
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="FileDialog" type="FileDialog" parent="."]
|
||||||
|
margin_left = 113.0
|
||||||
|
margin_top = 24.0
|
||||||
|
margin_right = 886.0
|
||||||
|
margin_bottom = 480.0
|
||||||
|
window_title = "Open a File"
|
||||||
|
mode = 0
|
||||||
|
access = 2
|
||||||
|
current_dir = "/ProgramData/CS_Working/RPGR/Godot_projects/bcirpg_mergedDemo_20220911A"
|
||||||
|
current_file = "_userData/characterFiles"
|
||||||
|
current_path = "/ProgramData/CS_Working/RPGR/Godot_projects/bcirpg_mergedDemo_20220911A/_userData/characterFiles"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
margin_left = -164.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 164.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Import Character"
|
||||||
|
|
||||||
|
[node name="But_Play" parent="." instance=ExtResource( 2 )]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 34.0
|
||||||
|
margin_right = 152.0
|
||||||
|
margin_bottom = 71.0
|
||||||
|
text = "Start Game"
|
||||||
|
script = ExtResource( 4 )
|
||||||
|
next_scene_path = "res://gamePlay/Game.tscn"
|
||||||
|
|
||||||
|
[node name="But_Cancel" parent="." instance=ExtResource( 2 )]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 78.0
|
||||||
|
margin_right = 152.0
|
||||||
|
margin_bottom = 115.0
|
||||||
|
text = "Back"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="VBoxContainer2" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.0634766
|
||||||
|
anchor_top = 0.0583333
|
||||||
|
anchor_right = 0.103516
|
||||||
|
anchor_bottom = 0.0583333
|
||||||
|
margin_left = 107.0
|
||||||
|
margin_right = 435.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
alignment = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="But_OpenFile" type="Button" parent="VBoxContainer2"]
|
||||||
|
margin_right = 369.0
|
||||||
|
margin_bottom = 20.0
|
||||||
|
text = "Open Character File"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Save_Button" type="Button" parent="VBoxContainer2"]
|
||||||
|
margin_top = 24.0
|
||||||
|
margin_right = 369.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
text = "Save"
|
||||||
|
|
||||||
|
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -341.0
|
||||||
|
margin_top = -175.0
|
||||||
|
margin_right = 427.0
|
||||||
|
margin_bottom = 284.0
|
||||||
|
follow_focus = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="NameLabel" type="Label" parent="ScrollContainer/VBoxContainer"]
|
||||||
|
visible = false
|
||||||
|
margin_bottom = 14.0
|
||||||
|
|
||||||
|
[node name="LineEdit" type="LineEdit" parent="ScrollContainer/VBoxContainer"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 58.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[connection signal="file_selected" from="FileDialog" to="." method="_on_FileDialog_file_selected"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer2/But_OpenFile" to="." method="_on_Button_pressed"]
|
@ -0,0 +1,27 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/grabFocus.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
anchor_left = 0.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
text = "Multiplayer (temp)"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
text = "Temp: back to menu"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
@ -0,0 +1,11 @@
|
|||||||
|
#MENUSCREEN:
|
||||||
|
# Script purely to grab focus for tabbing control
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
#onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
#theme=load(settings.themeFile)
|
||||||
|
$VBoxContainer/But_NewGame.grab_focus()
|
@ -0,0 +1,102 @@
|
|||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://Screens/MenuScreen.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://assets/liberation_serif_40pt.tres" type="DynamicFont" id=3]
|
||||||
|
[ext_resource path="res://UserInterface/Title.tscn" type="PackedScene" id=5]
|
||||||
|
[ext_resource path="res://assets/ui_controlNode_dark_theme.tres" type="Theme" id=6]
|
||||||
|
[ext_resource path="res://UserInterface/But_Quit.tscn" type="PackedScene" id=10]
|
||||||
|
|
||||||
|
[node name="MenuScreen" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
theme = ExtResource( 6 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 5 )]
|
||||||
|
margin_top = 51.8676
|
||||||
|
margin_bottom = 117.868
|
||||||
|
custom_fonts/font = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -119.0
|
||||||
|
margin_top = -152.0
|
||||||
|
margin_right = 119.0
|
||||||
|
margin_bottom = 152.0
|
||||||
|
rect_scale = Vector2( 1.04675, 1.07389 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="But_NewGame" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
next_scene_path = "res://screens/PlayerSelection.tscn"
|
||||||
|
|
||||||
|
[node name="But_LoadGame" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 44.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 85.0
|
||||||
|
text = "Load Game"
|
||||||
|
next_scene_path = "res://screens/LoadGame_temp.tscn"
|
||||||
|
|
||||||
|
[node name="But_Multiplayer" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 89.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 130.0
|
||||||
|
text = "Multiplayer"
|
||||||
|
next_scene_path = "res://Screens/Multiplayer_temp.tscn"
|
||||||
|
|
||||||
|
[node name="But_AddChar" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 134.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 174.0
|
||||||
|
text = "Add Character"
|
||||||
|
next_scene_path = "res://Screens/Character_Add.tscn"
|
||||||
|
|
||||||
|
[node name="But_ImportChar2" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 178.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 219.0
|
||||||
|
text = "Import Character"
|
||||||
|
next_scene_path = "res://Screens/ImportCharacter.tscn"
|
||||||
|
|
||||||
|
[node name="But_Settings" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 223.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 264.0
|
||||||
|
text = "Settings"
|
||||||
|
next_scene_path = "res://Screens/SettingsMenuControl.tscn"
|
||||||
|
|
||||||
|
[node name="But_Quit" parent="VBoxContainer" instance=ExtResource( 10 )]
|
||||||
|
margin_top = 268.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 304.0
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -177.0
|
||||||
|
margin_top = -44.0
|
||||||
|
margin_right = -5.0
|
||||||
|
margin_bottom = -6.0
|
||||||
|
text = "Version: 0.0.0"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
#MOREOPTIONS:
|
||||||
|
# Script purely to grab focus for tabbing control
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
#onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
#theme=load(settings.themeFile)
|
||||||
|
$VBoxContainer/But_ResumeGame.grab_focus()
|
@ -0,0 +1,79 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://screens/MoreOptions.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://userInterface/But_ResumeGame.gd" type="Script" id=3]
|
||||||
|
[ext_resource path="res://assets/ui_controlNode_dark_theme.tres" type="Theme" id=6]
|
||||||
|
|
||||||
|
[node name="MoreOptions" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
theme = ExtResource( 6 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -119.0
|
||||||
|
margin_top = -152.0
|
||||||
|
margin_right = 119.0
|
||||||
|
margin_bottom = 152.0
|
||||||
|
rect_scale = Vector2( 1.04675, 1.07389 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="But_ResumeGame" type="Button" parent="VBoxContainer"]
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 36.0
|
||||||
|
text = "Resume Game"
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="But_ShowHistory" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 40.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 125.0
|
||||||
|
text = "Show History"
|
||||||
|
next_scene_path = "res://screens/HistoryViewer.tscn"
|
||||||
|
|
||||||
|
[node name="But_Chat" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 129.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 214.0
|
||||||
|
text = "Chat"
|
||||||
|
next_scene_path = "res://screens/MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="But_MainMenu" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 218.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 304.0
|
||||||
|
text = "Main Menu"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -177.0
|
||||||
|
margin_top = -44.0
|
||||||
|
margin_right = -5.0
|
||||||
|
margin_bottom = -6.0
|
||||||
|
text = "Version: 0.0.0"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="button_up" from="VBoxContainer/But_ResumeGame" to="VBoxContainer/But_ResumeGame" method="_on_But_ResumeGame_button_up"]
|
@ -0,0 +1,24 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/grabFocus.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
anchor_left = 0.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
text = "Multiplayer (temp)"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
text = "Temp: back to menu"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
@ -0,0 +1,27 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/Title.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://screens/grabFocus.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Title" parent="." instance=ExtResource( 1 )]
|
||||||
|
anchor_left = 0.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
text = "Multiplayer (temp)"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Title" instance=ExtResource( 2 )]
|
||||||
|
text = "Temp: back to menu"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
@ -0,0 +1,11 @@
|
|||||||
|
#PLAYERSELECTION:
|
||||||
|
# Script purely to grab focus for tabbing control
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var settings = get_node("/root/GlobalSaveInstance").settingsInstance
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
theme=load(settings.themeFile)
|
||||||
|
$VBoxContainer/But_ChoosePlayer.grab_focus()
|
@ -0,0 +1,69 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://screens/PlayerSelection.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://assets/ui_controlNode_dark_theme.tres" type="Theme" id=6]
|
||||||
|
|
||||||
|
[node name="PlayerSelection" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
theme = ExtResource( 6 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Background" type="Panel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -119.0
|
||||||
|
margin_top = -152.0
|
||||||
|
margin_right = 119.0
|
||||||
|
margin_bottom = 152.0
|
||||||
|
rect_scale = Vector2( 1.04675, 1.07389 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="But_ChoosePlayer" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 98.0
|
||||||
|
text = "Import Character"
|
||||||
|
next_scene_path = "res://screens/ImportCharacter.tscn"
|
||||||
|
|
||||||
|
[node name="But_AddChar" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 102.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 201.0
|
||||||
|
text = "Create Character"
|
||||||
|
next_scene_path = "res://Screens/Character_Add.tscn"
|
||||||
|
|
||||||
|
[node name="But_MainMenu" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
|
margin_top = 205.0
|
||||||
|
margin_right = 238.0
|
||||||
|
margin_bottom = 304.0
|
||||||
|
text = "Main Menu"
|
||||||
|
next_scene_path = "res://Screens/MenuScreen.tscn"
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -177.0
|
||||||
|
margin_top = -44.0
|
||||||
|
margin_right = -5.0
|
||||||
|
margin_bottom = -6.0
|
||||||
|
text = "Version: 0.0.0"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,134 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
# https://stackoverflow.com/a/65774028
|
||||||
|
# Be Sure to make these Vars as OnReadys; you can read up on it here.
|
||||||
|
|
||||||
|
# Items to Fill the dropdown Lists
|
||||||
|
onready var keyboardContents = ["Qwerty", "Dvorak", "Alphabetical"]
|
||||||
|
|
||||||
|
onready var themeContents = ["White on Black", "Black on White"]
|
||||||
|
|
||||||
|
onready var saveObject = get_node('/root/GlobalSaveInstance')
|
||||||
|
|
||||||
|
|
||||||
|
#res://SettingsMenuControl.tscn
|
||||||
|
|
||||||
|
# Vars For UI Widgets
|
||||||
|
onready var NameVar = get_node('Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/DisplayNameLineEdit')
|
||||||
|
|
||||||
|
onready var NRiskVar = get_node('Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/VBoxRiskFactor/RiskSlider')
|
||||||
|
|
||||||
|
onready var FontVar = get_node("Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox/FontSizeSlider")
|
||||||
|
|
||||||
|
onready var BrightnessVar = get_node('Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox/BrightnessSlider')
|
||||||
|
|
||||||
|
onready var VolumeVar = get_node("Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/VolumeSlider")
|
||||||
|
|
||||||
|
onready var ClosedCaptionsVar = get_node('Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxClosedCaptions/ClosedCaptionsCheckBox')
|
||||||
|
|
||||||
|
onready var ConsoleCommandVar = get_node('Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxDevConsole/DevConsoleCheckbox')
|
||||||
|
|
||||||
|
onready var saveButton = get_node("Panel/HBoxBottomRow/SaveButton")
|
||||||
|
|
||||||
|
onready var bKeyboardEnabled = get_node("Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/HBoxVirtualKeyboardEnabled/VisualKeyboardCheckBox")
|
||||||
|
|
||||||
|
onready var keyboardLayoutList = get_node('Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/LayoutItemList')
|
||||||
|
|
||||||
|
onready var themeChoiceList = get_node('Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/ThemeItemList')
|
||||||
|
|
||||||
|
|
||||||
|
var iniFile = ConfigFile.new()
|
||||||
|
|
||||||
|
func saveToInstance():
|
||||||
|
#Save to Singleton, so saveFile does not need to be constantly read
|
||||||
|
saveObject.settingsInstance.inputName = NameVar.text
|
||||||
|
saveObject.settingsInstance.riskFactor = NRiskVar.value
|
||||||
|
saveObject.settingsInstance.fontSize = FontVar.value
|
||||||
|
saveObject.settingsInstance.volume = VolumeVar.value
|
||||||
|
saveObject.settingsInstance.bClosedCaptions = ClosedCaptionsVar.is_pressed()
|
||||||
|
saveObject.settingsInstance.bdevConsole = ConsoleCommandVar.is_pressed()
|
||||||
|
saveObject.settingsInstance.bVirtualKeyboard = bKeyboardEnabled.is_pressed()
|
||||||
|
var savedKeyboardItems = keyboardLayoutList.get_selected_items()
|
||||||
|
var keyboardSelection = savedKeyboardItems[0]
|
||||||
|
saveObject.settingsInstance.visualKeyboardLayout = keyboardSelection
|
||||||
|
var savedThemeItems = themeChoiceList.get_selected_items()
|
||||||
|
var themeSelection = savedThemeItems[0]
|
||||||
|
saveObject.settingsInstance.themeChoiceInt = themeSelection
|
||||||
|
#Trigger re-load of the file name
|
||||||
|
saveObject.load_settings_file()
|
||||||
|
theme=load(saveObject.settingsInstance.themeFile)
|
||||||
|
|
||||||
|
|
||||||
|
func saveFile():
|
||||||
|
iniFile.set_value("player_preferences", "player_name", NameVar.text)
|
||||||
|
iniFile.set_value("player_preferences", "risk_threshold", NRiskVar.value)
|
||||||
|
iniFile.set_value("visual_controls", "font_size", FontVar.value)
|
||||||
|
iniFile.set_value("visual_controls", "brightness", BrightnessVar.value)
|
||||||
|
|
||||||
|
iniFile.set_value("general_settings", "volume", VolumeVar.value)
|
||||||
|
iniFile.set_value("general_settings", "closed_captions", ClosedCaptionsVar.is_pressed())
|
||||||
|
iniFile.set_value("general_settings", "dev_console", ConsoleCommandVar.is_pressed())
|
||||||
|
|
||||||
|
print(keyboardLayoutList.get_selected_items())
|
||||||
|
|
||||||
|
var savedKeyboardItems = keyboardLayoutList.get_selected_items()
|
||||||
|
|
||||||
|
var keyboardSelection = savedKeyboardItems[0]
|
||||||
|
|
||||||
|
var savedThemeItems = themeChoiceList.get_selected_items()
|
||||||
|
|
||||||
|
var themeSelection = savedThemeItems[0]
|
||||||
|
|
||||||
|
print(typeof(keyboardSelection))
|
||||||
|
|
||||||
|
iniFile.set_value("virtual_keyboard", "keyboard_layout", keyboardSelection)
|
||||||
|
|
||||||
|
iniFile.set_value("theme", "theme_selection", themeSelection)
|
||||||
|
|
||||||
|
iniFile.save("res://_userFiles/PlayerPreferences.cfg")
|
||||||
|
|
||||||
|
#DKM TEMP: can this be done at singleton, initial load level instead of here?
|
||||||
|
func loadFile():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if saveButton.pressed == true:
|
||||||
|
if NameVar.text == "":
|
||||||
|
print("Please input a name")
|
||||||
|
|
||||||
|
if NameVar.text != "":
|
||||||
|
# Save to the template instance
|
||||||
|
saveToInstance()
|
||||||
|
|
||||||
|
saveFile()
|
||||||
|
print('saveFileRan')
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
#Get the singleton's values for initial settings:
|
||||||
|
NameVar.text = saveObject.settingsInstance.inputName
|
||||||
|
NRiskVar.value = saveObject.settingsInstance.riskFactor
|
||||||
|
FontVar.value = saveObject.settingsInstance.fontSize
|
||||||
|
ClosedCaptionsVar.pressed = saveObject.settingsInstance.bClosedCaptions
|
||||||
|
ConsoleCommandVar.pressed = saveObject.settingsInstance.bdevConsole
|
||||||
|
bKeyboardEnabled.pressed = saveObject.settingsInstance.bVirtualKeyboard
|
||||||
|
|
||||||
|
print(NameVar.get_path())
|
||||||
|
|
||||||
|
# Init Keyboard Layout List
|
||||||
|
for i in range(3):
|
||||||
|
keyboardLayoutList.add_item(keyboardContents[i],null,true)
|
||||||
|
|
||||||
|
keyboardLayoutList.select(0,true)
|
||||||
|
|
||||||
|
# Init Theme Choice List
|
||||||
|
|
||||||
|
for i in range(2):
|
||||||
|
themeChoiceList.add_item(themeContents[i],null,true)
|
||||||
|
|
||||||
|
keyboardLayoutList.select(saveObject.settingsInstance.visualKeyboardLayout,true)
|
||||||
|
|
||||||
|
themeChoiceList.select(saveObject.settingsInstance.themeChoiceInt,true)
|
||||||
|
|
||||||
|
#Load selected theme:
|
||||||
|
theme=load(saveObject.settingsInstance.themeFile)
|
@ -0,0 +1,322 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://screens/SettingsMenuConfig.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://assets/liberation_serif.tres" type="DynamicFont" id=2]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="Theme" id=1]
|
||||||
|
default_font = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -512.0
|
||||||
|
margin_top = -300.0
|
||||||
|
margin_right = 512.0
|
||||||
|
margin_bottom = 300.0
|
||||||
|
theme = SubResource( 1 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -512.0
|
||||||
|
margin_top = -302.0
|
||||||
|
margin_right = 512.0
|
||||||
|
margin_bottom = 298.0
|
||||||
|
rect_pivot_offset = Vector2( -276, 469 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -298.5
|
||||||
|
margin_right = 298.5
|
||||||
|
margin_bottom = 19.0
|
||||||
|
custom_constants/separation = 60
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="RootVboxVisualControls" type="VBoxContainer" parent="Panel/HBoxContainer"]
|
||||||
|
margin_right = 98.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="VisualControlsLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls"]
|
||||||
|
margin_right = 98.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Visual Controls"
|
||||||
|
|
||||||
|
[node name="VisualControlsVBox" type="VBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -77.5
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 77.5
|
||||||
|
margin_bottom = 52.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="HBoxFontSize" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox"]
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="FontLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox/HBoxFontSize"]
|
||||||
|
margin_right = 64.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Font Size:"
|
||||||
|
|
||||||
|
[node name="FontSizeSlider" type="HSlider" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox"]
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 39.0
|
||||||
|
min_value = 1.0
|
||||||
|
max_value = 5.0
|
||||||
|
value = 5.0
|
||||||
|
rounded = true
|
||||||
|
tick_count = 10
|
||||||
|
ticks_on_borders = true
|
||||||
|
|
||||||
|
[node name="BrightnessLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox"]
|
||||||
|
margin_top = 43.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 62.0
|
||||||
|
text = "Brightness:"
|
||||||
|
|
||||||
|
[node name="BrightnessSlider" type="HSlider" parent="Panel/HBoxContainer/RootVboxVisualControls/VisualControlsLabel/VisualControlsVBox"]
|
||||||
|
margin_top = 66.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 82.0
|
||||||
|
min_value = 1.0
|
||||||
|
max_value = 5.0
|
||||||
|
value = 5.0
|
||||||
|
rounded = true
|
||||||
|
tick_count = 10
|
||||||
|
ticks_on_borders = true
|
||||||
|
|
||||||
|
[node name="RootVboxPlayerPreferences" type="VBoxContainer" parent="Panel/HBoxContainer"]
|
||||||
|
margin_left = 158.0
|
||||||
|
margin_right = 275.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/HBoxContainer/RootVboxPlayerPreferences"]
|
||||||
|
margin_right = 117.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Player Preferances"
|
||||||
|
|
||||||
|
[node name="VBoxPlayerPreferances" type="VBoxContainer" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label"]
|
||||||
|
margin_left = -18.5
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 126.5
|
||||||
|
margin_bottom = 125.0
|
||||||
|
|
||||||
|
[node name="HBoxDisplayName" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances"]
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="DisplayNameLabel" type="Label" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/HBoxDisplayName"]
|
||||||
|
margin_right = 95.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Display Name:"
|
||||||
|
|
||||||
|
[node name="DisplayNameLineEdit" type="LineEdit" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances"]
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 52.0
|
||||||
|
|
||||||
|
[node name="VBoxRiskFactor" type="VBoxContainer" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances"]
|
||||||
|
margin_top = 56.0
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 95.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="HBoxRiskFactor" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/VBoxRiskFactor"]
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="RiskFactorLabel" type="Label" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/VBoxRiskFactor/HBoxRiskFactor"]
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Risk Factor Threshold:"
|
||||||
|
|
||||||
|
[node name="RiskSlider" type="HSlider" parent="Panel/HBoxContainer/RootVboxPlayerPreferences/Label/VBoxPlayerPreferances/VBoxRiskFactor"]
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 145.0
|
||||||
|
margin_bottom = 39.0
|
||||||
|
min_value = 1.0
|
||||||
|
max_value = 5.0
|
||||||
|
value = 5.0
|
||||||
|
rounded = true
|
||||||
|
tick_count = 10
|
||||||
|
ticks_on_borders = true
|
||||||
|
|
||||||
|
[node name="RootVboxGeneralSettings" type="VBoxContainer" parent="Panel/HBoxContainer"]
|
||||||
|
margin_left = 335.0
|
||||||
|
margin_right = 439.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="GeneralSettingsLabel" type="Label" parent="Panel/HBoxContainer/RootVboxGeneralSettings"]
|
||||||
|
margin_right = 104.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "General Settings"
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -77.5
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 77.5
|
||||||
|
margin_bottom = 120.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer"]
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
rect_pivot_offset = Vector2( 62, 14 )
|
||||||
|
text = "Volume:"
|
||||||
|
|
||||||
|
[node name="VolumeSlider" type="HSlider" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer"]
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 39.0
|
||||||
|
max_value = 10.0
|
||||||
|
rounded = true
|
||||||
|
tick_count = 10
|
||||||
|
ticks_on_borders = true
|
||||||
|
|
||||||
|
[node name="HBoxClosedCaptions" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer"]
|
||||||
|
margin_top = 43.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 70.0
|
||||||
|
|
||||||
|
[node name="ClosedCaptionsLabel" type="Label" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxClosedCaptions"]
|
||||||
|
margin_top = 4.0
|
||||||
|
margin_right = 108.0
|
||||||
|
margin_bottom = 23.0
|
||||||
|
text = "Closed Captions:"
|
||||||
|
|
||||||
|
[node name="ClosedCaptionsCheckBox" type="CheckBox" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxClosedCaptions"]
|
||||||
|
margin_left = 112.0
|
||||||
|
margin_right = 136.0
|
||||||
|
margin_bottom = 27.0
|
||||||
|
|
||||||
|
[node name="HBoxDevConsole" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer"]
|
||||||
|
margin_top = 74.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 101.0
|
||||||
|
|
||||||
|
[node name="DevConsoleLabel" type="Label" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxDevConsole"]
|
||||||
|
margin_top = 4.0
|
||||||
|
margin_right = 126.0
|
||||||
|
margin_bottom = 23.0
|
||||||
|
text = "Developer Console:"
|
||||||
|
|
||||||
|
[node name="DevConsoleCheckbox" type="CheckBox" parent="Panel/HBoxContainer/RootVboxGeneralSettings/GeneralSettingsLabel/VBoxContainer/HBoxDevConsole"]
|
||||||
|
margin_left = 130.0
|
||||||
|
margin_right = 154.0
|
||||||
|
margin_bottom = 27.0
|
||||||
|
|
||||||
|
[node name="RootVboxVisualControls2" type="VBoxContainer" parent="Panel/HBoxContainer"]
|
||||||
|
margin_left = 499.0
|
||||||
|
margin_right = 597.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls2"]
|
||||||
|
margin_right = 98.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Visual Controls"
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -77.5
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 77.5
|
||||||
|
margin_bottom = 52.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="HBoxThemes" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer"]
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
|
||||||
|
[node name="ThemesLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/HBoxThemes"]
|
||||||
|
margin_right = 119.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Theme Preference:"
|
||||||
|
|
||||||
|
[node name="ThemeItemList" type="ItemList" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer"]
|
||||||
|
margin_top = 23.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
auto_height = true
|
||||||
|
|
||||||
|
[node name="HBoxVirtualKeyboardEnabled" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer"]
|
||||||
|
margin_top = 36.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 63.0
|
||||||
|
|
||||||
|
[node name="VisualKeyBoardLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/HBoxVirtualKeyboardEnabled"]
|
||||||
|
margin_top = 4.0
|
||||||
|
margin_right = 110.0
|
||||||
|
margin_bottom = 23.0
|
||||||
|
text = "Virtual Keyboard"
|
||||||
|
|
||||||
|
[node name="VisualKeyboardCheckBox" type="CheckBox" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/HBoxVirtualKeyboardEnabled"]
|
||||||
|
margin_left = 114.0
|
||||||
|
margin_right = 138.0
|
||||||
|
margin_bottom = 27.0
|
||||||
|
|
||||||
|
[node name="HBoxKeyboardLayout" type="HBoxContainer" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer"]
|
||||||
|
margin_top = 67.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 86.0
|
||||||
|
|
||||||
|
[node name="LayoutLabel" type="Label" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer/HBoxKeyboardLayout"]
|
||||||
|
margin_right = 120.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Layout Preference:"
|
||||||
|
|
||||||
|
[node name="LayoutItemList" type="ItemList" parent="Panel/HBoxContainer/RootVboxVisualControls2/Label2/VBoxContainer"]
|
||||||
|
margin_top = 90.0
|
||||||
|
margin_right = 155.0
|
||||||
|
margin_bottom = 99.0
|
||||||
|
auto_height = true
|
||||||
|
|
||||||
|
[node name="HBoxBottomRow" type="HBoxContainer" parent="Panel"]
|
||||||
|
anchor_left = 0.500488
|
||||||
|
anchor_right = 0.595215
|
||||||
|
margin_left = -48.5
|
||||||
|
margin_top = 200.0
|
||||||
|
margin_right = 48.5
|
||||||
|
margin_bottom = 225.0
|
||||||
|
alignment = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="SaveButton" type="Button" parent="Panel/HBoxBottomRow"]
|
||||||
|
margin_left = 24.0
|
||||||
|
margin_right = 121.0
|
||||||
|
margin_bottom = 25.0
|
||||||
|
text = "Save Settings"
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Panel/HBoxBottomRow" instance=ExtResource( 3 )]
|
||||||
|
margin_left = 125.0
|
||||||
|
margin_right = 170.0
|
||||||
|
margin_bottom = 25.0
|
||||||
|
text = "Back"
|
||||||
|
next_scene_path = "res://screens/MenuScreen.tscn"
|
@ -0,0 +1,17 @@
|
|||||||
|
extends Button
|
||||||
|
|
||||||
|
|
||||||
|
# Declare member variables here. Examples:
|
||||||
|
# var a: int = 2
|
||||||
|
# var b: String = "text"
|
||||||
|
var tempToggle = 0
|
||||||
|
|
||||||
|
func _on_Button_button_up():
|
||||||
|
var controlNode = get_node("../../")
|
||||||
|
print(controlNode.name)
|
||||||
|
if(tempToggle == 0):
|
||||||
|
controlNode.theme=load("res://assets/ui_controlNode_dark_theme.tres")
|
||||||
|
tempToggle = 1
|
||||||
|
else:
|
||||||
|
controlNode.theme=load("res://assets/ui_controlNode_light_theme.tres")
|
||||||
|
tempToggle = 0
|
@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
#GRAB FOCUS: simple script for temp files to grab focus
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
$Title/But_ChangeScene.grab_focus()
|
@ -0,0 +1,20 @@
|
|||||||
|
#BUT_CHANGESCENE:
|
||||||
|
# Generic template script allowing GUI linking of scenes by button press.
|
||||||
|
|
||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
#Creates param usable in the UI; and the params next to export make it string and file browser
|
||||||
|
export(String, FILE) var next_scene_path: = ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_NewGame_button_up():
|
||||||
|
var error_on_change=get_tree().change_scene(next_scene_path)
|
||||||
|
if error_on_change !=0:
|
||||||
|
print("ERROR: ",error_on_change)
|
||||||
|
|
||||||
|
|
||||||
|
func _get_configuration_warning() -> String:
|
||||||
|
return "next_scene_path must be set for this button to work" if next_scene_path == "" else ""
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_ChangeScene.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" type="Button"]
|
||||||
|
margin_right = 130.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
text = "New Game"
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="button_up" from="." to="." method="_on_But_NewGame_button_up"]
|
@ -0,0 +1,39 @@
|
|||||||
|
#BUT_HISTORY:
|
||||||
|
# Unique script attached to the But_History to hide/show history versus
|
||||||
|
# current game page.
|
||||||
|
|
||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
onready var game_history_array = get_node("/root/History").historyScreensSingleton.output_history_array
|
||||||
|
|
||||||
|
var is_history = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_History_button_up():
|
||||||
|
var history_pager_button = get_node("../../ItemList/But_History_Page")
|
||||||
|
var history_rows_node = get_node("../../GameInfo/HistoryRows")
|
||||||
|
var current_text_node = get_node("../../GameInfo/CurrentText")
|
||||||
|
var option_one = get_node("../../InputArea/VBoxContainer/option1")
|
||||||
|
var option_two = get_node("../../InputArea/VBoxContainer/option2")
|
||||||
|
var option_three = get_node("../../InputArea/VBoxContainer/option3")
|
||||||
|
|
||||||
|
if(!is_history):
|
||||||
|
if(game_history_array != null):
|
||||||
|
history_rows_node.add_child(game_history_array[0])
|
||||||
|
history_pager_button.show()
|
||||||
|
history_rows_node.show()
|
||||||
|
current_text_node.hide()
|
||||||
|
option_one.hide()
|
||||||
|
option_two.hide()
|
||||||
|
option_three.hide()
|
||||||
|
is_history = true
|
||||||
|
else:
|
||||||
|
history_pager_button.hide()
|
||||||
|
history_rows_node.hide()
|
||||||
|
current_text_node.show()
|
||||||
|
option_one.show()
|
||||||
|
option_two.show()
|
||||||
|
option_three.show()
|
||||||
|
is_history = false
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
#BUT_HISTORY_PAGE:
|
||||||
|
# Unique paging script for showing next page in the history game's history
|
||||||
|
# array.
|
||||||
|
|
||||||
|
|
||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
var current_page = 0
|
||||||
|
|
||||||
|
func _on_But_History_Page_button_up():
|
||||||
|
var game_history_array = get_node("/root/History").historyScreensSingleton.output_history_array
|
||||||
|
var history_rows_node = get_node("../../GameInfo/HistoryRows")
|
||||||
|
if(current_page < game_history_array.size()-1):
|
||||||
|
current_page += 1
|
||||||
|
else:
|
||||||
|
current_page = 0
|
||||||
|
history_rows_node.remove_child(history_rows_node.get_child(0))
|
||||||
|
history_rows_node.add_child(game_history_array[current_page])
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
#BUT_CHANGESCENE:
|
||||||
|
# Generic template script allowing GUI linking of scenes by button press.
|
||||||
|
|
||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
#Creates param usable in the UI; and the params next to export make it string and file browser
|
||||||
|
export(String, FILE) var next_scene_path: = ""
|
||||||
|
|
||||||
|
onready var pSingleton = get_node("/root/PlayerCharacter").pc
|
||||||
|
|
||||||
|
var tempToggle = 0
|
||||||
|
|
||||||
|
func _on_But_NewGame_button_up():
|
||||||
|
if(pSingleton.pcText.length() < 1):
|
||||||
|
#print("GOT IT! Popup msg: " + $PopupDialog/WarnText.text)
|
||||||
|
var alertPopup = get_node("../PopupDialog")
|
||||||
|
var alertPopupText = get_node("../PopupDialog/WarnText")
|
||||||
|
alertPopupText.text = "No player was loaded! Please load a character to begin game."
|
||||||
|
alertPopup.popup_centered()
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
get_tree().change_scene(next_scene_path)
|
||||||
|
|
||||||
|
|
||||||
|
func _get_configuration_warning() -> String:
|
||||||
|
return "next_scene_path must be set for this button to work" if next_scene_path == "" else ""
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
#BUT_QUIT:
|
||||||
|
# Unique script for ending a game. Will additionally perform or call needed
|
||||||
|
# shut down and close-out functionality.
|
||||||
|
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
#var history_JSON = "user://history.json"
|
||||||
|
|
||||||
|
|
||||||
|
#DKM TEMP: save history is only here temporarily -- needs to move upstream.
|
||||||
|
func _on_But_Quit_button_up():
|
||||||
|
get_tree().quit()
|
||||||
|
|
||||||
|
|
||||||
|
#JSON: requires dictionaries:
|
||||||
|
#func _saveHistory_JSON() -> void:
|
||||||
|
# var history_screens_arr = get_node("/root/History").historyScreensSingleton.output_history_array
|
||||||
|
# var file = File.new()
|
||||||
|
# file.open(history_JSON, File.WRITE)
|
||||||
|
# file.store_string(to_json(history_screens_arr))
|
||||||
|
#
|
||||||
|
# file.close()
|
||||||
|
# # #DKM TEMP:
|
||||||
|
# print("Saved history array size should be: " + str(history_screens_arr.size()))
|
||||||
|
|
||||||
|
|
||||||
|
#DKM TEMP:
|
||||||
|
#tres file:
|
||||||
|
#func _saveHistory() -> void:
|
||||||
|
# var history_screens = get_node("/root/History").historyScreensSingleton
|
||||||
|
# assert(ResourceSaver.save("user://history.tres", history_screens)==OK)
|
||||||
|
# #DKM TEMP:
|
||||||
|
# print("Saved history array size: " + str(history_screens.output_history_array.size()))
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/But_Quit.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="But_Quit" type="Button"]
|
||||||
|
margin_top = 240.0
|
||||||
|
margin_right = 179.0
|
||||||
|
margin_bottom = 284.0
|
||||||
|
text = "Quit"
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="button_up" from="." to="." method="_on_But_Quit_button_up"]
|
@ -0,0 +1,14 @@
|
|||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_ResumeGame_button_up():
|
||||||
|
var root = get_node("/root")
|
||||||
|
var thisScene = get_node("/root/MoreOptions")
|
||||||
|
var gameSingleton = get_node("/root/GameCurrent")
|
||||||
|
var gameScene = gameSingleton.gameCurrent_scene
|
||||||
|
root.remove_child(thisScene)
|
||||||
|
#DKM TEMP: cleanup this scene!
|
||||||
|
thisScene.queue_free()
|
||||||
|
root.add_child(gameScene)
|
||||||
|
|
@ -0,0 +1,80 @@
|
|||||||
|
#BUT_SAVESETTINGS:
|
||||||
|
# Unique script for saving settings on player settings scene.
|
||||||
|
|
||||||
|
|
||||||
|
#Tool lets you any code in editor, such as plugins
|
||||||
|
tool
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
#Creates param usable in the UI; and the params next to export make it string and file browser
|
||||||
|
export(String, FILE) var next_scene_path: = ""
|
||||||
|
|
||||||
|
#Button response: save settings and move on.
|
||||||
|
func _on_But_NewGame_button_up():
|
||||||
|
var inputName = get_node("../../VBoxContainer/HBoxContainer/input_name")
|
||||||
|
var inputRisk = get_node("../../VBoxContainer/HBoxContainer2/input_risk")
|
||||||
|
_saveSettings(inputName.text, inputRisk.text)
|
||||||
|
get_tree().change_scene(next_scene_path)
|
||||||
|
|
||||||
|
|
||||||
|
#HELPER FUNCTIONS:
|
||||||
|
func _get_configuration_warning() -> String:
|
||||||
|
return "next_scene_path must be set for this button to work" if next_scene_path == "" else ""
|
||||||
|
|
||||||
|
|
||||||
|
#CONFIG/INI SAVE:
|
||||||
|
func _saveSettings(inputSettings : String, riskFactor : String) -> void:
|
||||||
|
var player_settings = get_node("/root/PlayerSettings")
|
||||||
|
player_settings.playerSettingsSingleton.inputName = inputSettings
|
||||||
|
player_settings.playerSettingsSingleton.riskFactor = riskFactor
|
||||||
|
var config = ConfigFile.new()
|
||||||
|
|
||||||
|
config.set_value("Temp player","InputSettings", inputSettings)
|
||||||
|
config.set_value("Temp player","RiskFactor", riskFactor)
|
||||||
|
|
||||||
|
config.save("user://settings.cfg")
|
||||||
|
|
||||||
|
#JSON SAVE:
|
||||||
|
#func _saveSettings(inputSettings : String, riskFactor : String) -> void:
|
||||||
|
# var player_settings = get_node("/root/PlayerSettings")
|
||||||
|
# player_settings.playerSettingsSingleton.inputName = inputSettings
|
||||||
|
# player_settings.playerSettingsSingleton.riskFactor = riskFactor
|
||||||
|
# #Temp:
|
||||||
|
# var temp_manual_JSON = {
|
||||||
|
# "playerSettingsTemplate": {
|
||||||
|
# "inputName": inputSettings,
|
||||||
|
# "riskFactor": riskFactor
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# #Save to file (JSON for now)
|
||||||
|
# var settings_file = "user://testPlayerSettings.sav"
|
||||||
|
# var file = File.new()
|
||||||
|
# if file.open(settings_file, File.WRITE) != 0:
|
||||||
|
# print("Cannot write temporary file to: " + settings_file)
|
||||||
|
# else:
|
||||||
|
# file.store_line(to_json(temp_manual_JSON))
|
||||||
|
# file.close()
|
||||||
|
|
||||||
|
|
||||||
|
#****This save Settings functions as designed; but modified to work with alternate approach of loading
|
||||||
|
#func _saveSettings(inputSettings : String, riskFactor : String) -> void:
|
||||||
|
#Debugging:
|
||||||
|
# print("Input name: " + inputSettings + "; and risk factor set to : " + riskFactor)
|
||||||
|
# var player_settings = get_node("/root/PlayerSettings")
|
||||||
|
# player_settings.playerSettingsSingleton.inputName = inputSettings
|
||||||
|
# player_settings.playerSettingsSingleton.riskFactor = riskFactor
|
||||||
|
|
||||||
|
#Save to file (for now)
|
||||||
|
# if settings_save_file_name == "":
|
||||||
|
# settings_save_file_name = "settings.save"
|
||||||
|
# var settings_file = "user://" + settings_save_file_name
|
||||||
|
# var file = File.new()
|
||||||
|
# file.open(settings_file, File.WRITE)
|
||||||
|
# file.store_var(player_settings.playerSettingsSingleton.inputName)
|
||||||
|
#DKM TEMP: To save object; removed for testing
|
||||||
|
#file.store_var(player_settings.playerSettingsSingleton, true)
|
||||||
|
# file.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
extends VBoxContainer
|
||||||
|
|
||||||
|
func set_text(input: String, response: String):
|
||||||
|
$InputHistory.text = input
|
||||||
|
$Response.text = response
|
@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://UserInterface/Response.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://UserInterface/InputResponse.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="InputResponse" type="VBoxContainer"]
|
||||||
|
margin_right = 984.0
|
||||||
|
margin_bottom = 68.0
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="InputHistory" type="Label" parent="."]
|
||||||
|
margin_right = 984.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = " > This is what user selected"
|
||||||
|
autowrap = true
|
||||||
|
|
||||||
|
[node name="Response" parent="." instance=ExtResource( 2 )]
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_bottom = 32.0
|
@ -0,0 +1,49 @@
|
|||||||
|
#LOCALE CLASS:
|
||||||
|
# Template script for the Locale scene; allows for connecting exits, and also
|
||||||
|
# maintains a visited bool (currently un-used) and takes additional
|
||||||
|
# options via the GUI:
|
||||||
|
# 1. Name
|
||||||
|
# 2. Description
|
||||||
|
# 3. The 3 option strings available at the location
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
extends PanelContainer
|
||||||
|
#Allows Godot to handle autocomplete and 'register' class
|
||||||
|
class_name Locale
|
||||||
|
|
||||||
|
var locale_name = "Location Name"
|
||||||
|
var locale_description = "This is the description of the location."
|
||||||
|
var locale_action = "Default action"
|
||||||
|
var locale_action_params = []
|
||||||
|
var options_array = []
|
||||||
|
var destinations_array = []
|
||||||
|
|
||||||
|
|
||||||
|
var visited = false;
|
||||||
|
|
||||||
|
var exits: Dictionary = {}
|
||||||
|
|
||||||
|
#DKM TEMP: right now connects both directions, but can make an alt func that c
|
||||||
|
# connects just one way for example (for one-way-doors)
|
||||||
|
# currently not in use, but the override defaults false but if passed can let
|
||||||
|
# you apply custom direction
|
||||||
|
func connect_exit(direction: String, locale: Locale, override_direction: bool = false):
|
||||||
|
if(!override_direction):
|
||||||
|
match direction:
|
||||||
|
"west":
|
||||||
|
exits[direction] = locale
|
||||||
|
locale.exits["east"] = self
|
||||||
|
"east":
|
||||||
|
exits[direction] = locale
|
||||||
|
locale.exits["west"] = self
|
||||||
|
"north":
|
||||||
|
exits[direction] = locale
|
||||||
|
locale.exits["south"] = self
|
||||||
|
"south":
|
||||||
|
exits[direction] = locale
|
||||||
|
locale.exits["north"] = self
|
||||||
|
_:
|
||||||
|
printerr("Tried to connect invalid direction: %s", direction)
|
||||||
|
else:
|
||||||
|
exits[direction] = locale
|
@ -0,0 +1,35 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/Locale.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="Locale" type="PanelContainer"]
|
||||||
|
margin_right = 250.001
|
||||||
|
margin_bottom = 200.0
|
||||||
|
rect_min_size = Vector2( 250, 200 )
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||||
|
margin_left = 7.0
|
||||||
|
margin_top = 7.0
|
||||||
|
margin_right = 243.001
|
||||||
|
margin_bottom = 193.0
|
||||||
|
|
||||||
|
[node name="Rows" type="VBoxContainer" parent="MarginContainer"]
|
||||||
|
margin_right = 236.0
|
||||||
|
margin_bottom = 186.0
|
||||||
|
|
||||||
|
[node name="LocaleName" type="Label" parent="MarginContainer/Rows"]
|
||||||
|
margin_right = 236.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Locale Name"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="LocaleDescription" type="Label" parent="MarginContainer/Rows"]
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_right = 236.0
|
||||||
|
margin_bottom = 49.0
|
||||||
|
text = "This is the description text for the locale. "
|
||||||
|
autowrap = true
|
@ -0,0 +1,10 @@
|
|||||||
|
extends Button
|
||||||
|
|
||||||
|
signal option_pressed(destinationLabel)
|
||||||
|
|
||||||
|
var destinationLabel
|
||||||
|
|
||||||
|
#DKM TEMP: test
|
||||||
|
func _on_Option_button_up() -> void:
|
||||||
|
print("Button pushed!")
|
||||||
|
emit_signal("option_pressed", destinationLabel)
|
@ -0,0 +1,16 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/Option.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="Option" type="Button"]
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 984.0
|
||||||
|
margin_bottom = 68.0
|
||||||
|
text = "Option # "
|
||||||
|
align = 0
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="button_up" from="." to="." method="_on_Option_button_up"]
|
@ -0,0 +1,11 @@
|
|||||||
|
[gd_scene format=2]
|
||||||
|
|
||||||
|
[node name="Response" type="Label"]
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 984.0
|
||||||
|
margin_bottom = 68.0
|
||||||
|
text = "Game text continues here... "
|
||||||
|
autowrap = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
[gd_scene format=2]
|
||||||
|
|
||||||
|
[node name="Title" type="Label"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
margin_left = -110.5
|
||||||
|
margin_top = 114.422
|
||||||
|
margin_right = 110.5
|
||||||
|
margin_bottom = 180.422
|
||||||
|
text = "Main Menu"
|
||||||
|
align = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
|
# Declare member variables here. Examples:
|
||||||
|
# var a = 2
|
||||||
|
# var b = "text"
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
#func _process(delta):
|
||||||
|
# pass
|
@ -0,0 +1,6 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://userInterface/testExample.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="testExample" type="Node2D"]
|
||||||
|
script = ExtResource( 1 )
|
Loading…
Reference in New Issue
Block a user