x12 windowing system
This commit is contained in:
parent
e16b468e23
commit
e6ab1fb39a
60 changed files with 701 additions and 877 deletions
|
|
@ -8,7 +8,7 @@ var item_proper_names = []
|
|||
var categories
|
||||
var pixel_x
|
||||
var pixel_y
|
||||
var ui_scale = 1
|
||||
var ui_scale
|
||||
|
||||
func _enter_tree() -> void:
|
||||
conf_mm = ConfigFile.new()
|
||||
|
|
@ -17,13 +17,6 @@ func _enter_tree() -> void:
|
|||
conf_cat.load("res://02 - Configurations/campaign/categories.ini")
|
||||
print("main_menu:_enter_tree:1 " + str(conf_mm.get_sections()))
|
||||
categories = []
|
||||
pixel_x = get_viewport_rect().size[0]
|
||||
pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y > 2900:
|
||||
ui_scale = 1
|
||||
else:
|
||||
ui_scale = 0.7
|
||||
print("main_menu:_enter_tree:2 " + str(pixel_x) + " " + str(pixel_y))
|
||||
for i in conf_mm.get_sections():
|
||||
categories = categories + [i]
|
||||
|
||||
|
|
@ -50,7 +43,7 @@ func item_selected(k,tab):
|
|||
print("main_menu:select_category:2 " + str(item_names))
|
||||
menu_item.category = item_names[item_proper_names.find(tab.get_item_text(k))]
|
||||
add_child(menu_item)
|
||||
menu_item.set_menu_items(pixel_x,pixel_y,ui_scale)
|
||||
menu_item.set_menu_items()
|
||||
|
||||
func remove_tabs(tab):
|
||||
remove_child.call_deferred(tab)
|
||||
|
|
@ -59,38 +52,41 @@ func _on_exit_button_up() -> void:
|
|||
get_tree().quit()
|
||||
|
||||
func set_menu_items():
|
||||
print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y))
|
||||
%scroll.size.y = pixel_y - (256 * ui_scale)
|
||||
%scroll.position.y = 128 * ui_scale
|
||||
%campaign_manager.position.y = pixel_y - 192 * ui_scale
|
||||
%exit.position.y = pixel_y - 96 * ui_scale
|
||||
ui_scale = 1
|
||||
if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000:
|
||||
ui_scale = 0.7
|
||||
pixel_x = get_viewport_rect().size[0] / ui_scale
|
||||
pixel_y = get_viewport_rect().size[1] / ui_scale
|
||||
$".".scale = Vector2(ui_scale,ui_scale)
|
||||
#print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y))
|
||||
%scroll.size.y = pixel_y - (320 )
|
||||
%scroll.position.y = 128
|
||||
%campaign_manager.position.y = pixel_y - 192
|
||||
%exit.position.y = pixel_y - 96
|
||||
%ui_main_menu.size.y = pixel_y
|
||||
%ui_background.size.y = pixel_y
|
||||
%ui_background.size.x = pixel_x
|
||||
if pixel_x < pixel_y: #mobile
|
||||
%ui_main_menu.size.x = pixel_x
|
||||
for i in [%scroll,%exit,%campaign_manager]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = pixel_x/ui_scale - 128
|
||||
i.position.x = 64*ui_scale
|
||||
i.size.x = pixel_x - 128
|
||||
i.position.x = 64
|
||||
else:
|
||||
%ui_main_menu.size.x = 512.0 * ui_scale
|
||||
%ui_main_menu.size.x = 512.0
|
||||
for i in [%scroll,%exit,%campaign_manager]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = 448
|
||||
i.position.x = 32 * ui_scale
|
||||
|
||||
i.position.x = 32
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]:
|
||||
pixel_x = get_viewport_rect().size[0]
|
||||
pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y > 3000:
|
||||
ui_scale = 1
|
||||
else:
|
||||
ui_scale = 1
|
||||
if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000:
|
||||
ui_scale = 0.7
|
||||
pixel_x = get_viewport_rect().size[0] / ui_scale
|
||||
pixel_y = get_viewport_rect().size[1] / ui_scale
|
||||
if menu_item:
|
||||
menu_item.set_menu_items(pixel_x,pixel_y,ui_scale)
|
||||
menu_item.set_menu_items()
|
||||
set_menu_items()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,99 +0,0 @@
|
|||
extends Node2D
|
||||
|
||||
var menu_item
|
||||
var conf_mm
|
||||
var conf_cat
|
||||
var item_names = []
|
||||
var item_proper_names = []
|
||||
var categories
|
||||
var pixel_x
|
||||
var pixel_y
|
||||
var ui_scale = 1
|
||||
|
||||
func _enter_tree() -> void:
|
||||
conf_mm = ConfigFile.new()
|
||||
conf_mm.load("res://02 - Configurations/campaign/main_menu.ini")
|
||||
conf_cat = ConfigFile.new()
|
||||
conf_cat.load("res://02 - Configurations/campaign/categories.ini")
|
||||
print("main_menu:_enter_tree:1 " + str(conf_mm.get_sections()))
|
||||
categories = []
|
||||
pixel_x = get_viewport_rect().size[0]
|
||||
pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y > 2900:
|
||||
ui_scale = 1
|
||||
else:
|
||||
ui_scale = 0.7
|
||||
print("main_menu:_enter_tree:2 " + str(pixel_x) + " " + str(pixel_y))
|
||||
for i in conf_mm.get_sections():
|
||||
categories = categories + [i]
|
||||
|
||||
for i in categories:
|
||||
#print(i)
|
||||
var button = OptionButton.new()
|
||||
button.text = conf_mm.get_value(i,"name")
|
||||
button.name = i
|
||||
button.custom_minimum_size = Vector2(320,64)
|
||||
button.connect("item_selected",self.item_selected.bind(button))
|
||||
button.allow_reselect = true
|
||||
print("main_menu:_enter_tree:3 " + str(conf_mm.get_sections()))
|
||||
for j in conf_mm.get_value(button.name,"items",[]):
|
||||
item_names = item_names + [j]
|
||||
item_proper_names = item_proper_names + [conf_cat.get_value(j,"name","")]
|
||||
print("main_menu:_enter_tree:3 ")
|
||||
button.add_item(conf_cat.get_value(j,"name",""))
|
||||
%container.add_child(button)
|
||||
set_menu_items()
|
||||
|
||||
func item_selected(k,tab):
|
||||
print("main_menu:select_category:1 " + str(tab.get_item_text(k)))
|
||||
menu_item = load("res://01 - Menus/02 - Selector/selector.tscn").instantiate()
|
||||
print("main_menu:select_category:2 " + str(item_names))
|
||||
menu_item.category = item_names[item_proper_names.find(tab.get_item_text(k))]
|
||||
add_child(menu_item)
|
||||
remove_child.call_deferred(tab)
|
||||
|
||||
func remove_tabs(tab):
|
||||
remove_child.call_deferred(tab)
|
||||
|
||||
func _on_exit_button_up() -> void:
|
||||
get_tree().quit()
|
||||
|
||||
func set_menu_items():
|
||||
print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y))
|
||||
%scroll.size.y = pixel_y - (400 * ui_scale)
|
||||
%scroll.position.y = 128 * ui_scale
|
||||
%campaign_manager.position.y = pixel_y - 192 * ui_scale
|
||||
%exit.position.y = pixel_y - 96 * ui_scale
|
||||
%ui_main_menu.size.y = pixel_y
|
||||
%ui_background.size.y = pixel_y
|
||||
%ui_background.size.x = pixel_x
|
||||
if pixel_x < pixel_y: #mobile
|
||||
%ui_main_menu.size.x = pixel_x
|
||||
for i in [%scroll,%exit,%campaign_manager]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = (pixel_x)/ui_scale -128
|
||||
i.position.x = 64
|
||||
else:
|
||||
%ui_main_menu.size.x = 512.0 * ui_scale
|
||||
for i in [%scroll,%exit,%campaign_manager]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = 448
|
||||
i.position.x = 32 * ui_scale
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]:
|
||||
pixel_x = get_viewport_rect().size[0]
|
||||
pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y > 3000:
|
||||
ui_scale = 1
|
||||
else:
|
||||
ui_scale = 0.7
|
||||
if menu_item:
|
||||
menu_item.set_menu_items(pixel_x,pixel_y,ui_scale)
|
||||
set_menu_items()
|
||||
|
||||
|
||||
func _on_campaign_manager_button_up() -> void:
|
||||
var cm = load("res://01 - Menus/05 - Campaign Manager/campaign_manager.tscn").instantiate()
|
||||
add_child(cm)
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://4isse2tc5gjs
|
||||
|
|
@ -27,10 +27,10 @@ text = "Exit"
|
|||
|
||||
[node name="campaign_manager" type="Button" parent="."]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 96.0
|
||||
offset_top = 1184.0
|
||||
offset_right = 416.0
|
||||
offset_bottom = 1248.0
|
||||
offset_left = 88.0
|
||||
offset_top = 1176.0
|
||||
offset_right = 408.0
|
||||
offset_bottom = 1240.0
|
||||
text = "Campaign Manager"
|
||||
|
||||
[node name="scroll" type="ScrollContainer" parent="."]
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ func _enter_tree() -> void:
|
|||
ini = "res://02 - Configurations/" + category + ".ini"
|
||||
%new_item_name.visible = false
|
||||
%delete.visible = false
|
||||
%item_name.visible = false
|
||||
%save.visible = false
|
||||
%new_item.text = "New " + category
|
||||
%filter.placeholder_text = "Filter " + category
|
||||
|
|
@ -21,6 +20,7 @@ func _enter_tree() -> void:
|
|||
%save.text = "Save " + category
|
||||
#print(category)
|
||||
list_items()
|
||||
set_menu_items()
|
||||
|
||||
func _on_close_button_up() -> void:
|
||||
queue_free()
|
||||
|
|
@ -50,7 +50,6 @@ func list_items() -> void:
|
|||
|
||||
|
||||
func refresh_view():
|
||||
%item_name.text = item
|
||||
if item != "":
|
||||
config = ConfigFile.new()
|
||||
config.load(ini)
|
||||
|
|
@ -62,15 +61,11 @@ func _on_list_item_selected(index: int) -> void:
|
|||
#print(%list.get_item_text(index))
|
||||
%delete.text = "Delete " + %list.get_item_text(index)
|
||||
%delete.visible = true
|
||||
%item_name.visible = true
|
||||
if sheet:
|
||||
remove_child(sheet)
|
||||
sheet = load("res://01 - Menus/03 - Sheets/item.tscn").instantiate()
|
||||
sheet = load("res://01 - Menus/07 - Window/window.tscn").instantiate()
|
||||
sheet.item = item
|
||||
sheet.category = category
|
||||
sheet.position.x = 512
|
||||
sheet.position.y = 256
|
||||
add_child(sheet)
|
||||
#sheet.set_menu_items()
|
||||
refresh_view()
|
||||
|
||||
|
||||
|
|
@ -129,24 +124,27 @@ func _on_save_button_up() -> void:
|
|||
func show_save():
|
||||
%save.visible = true
|
||||
|
||||
func set_menu_items(pixel_x,pixel_y,ui_scale):
|
||||
func set_menu_items():
|
||||
var ui_scale = 1
|
||||
if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000:
|
||||
ui_scale = 0.7
|
||||
var pixel_x = get_viewport_rect().size[0] / ui_scale
|
||||
var pixel_y = get_viewport_rect().size[1] / ui_scale
|
||||
%ui_background.size.y = pixel_y
|
||||
%close.position.y = pixel_y - 96 * ui_scale
|
||||
%new_item.position.y = pixel_y - 192 * ui_scale
|
||||
%new_item_name.position.y = pixel_y - 192 * ui_scale
|
||||
%delete.position.y = pixel_y - 286 * ui_scale
|
||||
%filter.position.y = pixel_y - 384 * ui_scale
|
||||
%list.position = (Vector2(128,128)) * ui_scale
|
||||
%list.size.y = pixel_y/ui_scale - 620
|
||||
%close.position.y = pixel_y - 96
|
||||
%new_item.position.y = pixel_y - 192
|
||||
%new_item_name.position.y = pixel_y - 192
|
||||
%delete.position.y = pixel_y - 286
|
||||
%filter.position.y = pixel_y - 384
|
||||
%list.position = (Vector2(128,128))
|
||||
%list.size.y = pixel_y - 620
|
||||
if pixel_x < pixel_y: #mobile
|
||||
%ui_background.size.x = pixel_x
|
||||
for i in [%close,%new_item,%filter,%delete,%save,%new_item_name,%list]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = pixel_x/ui_scale - 128
|
||||
i.position.x = 64 * ui_scale
|
||||
i.size.x = pixel_x - 128
|
||||
i.position.x = 64
|
||||
else:
|
||||
%ui_background.size.x = 512.0 * ui_scale
|
||||
%ui_background.size.x = 512.0
|
||||
for i in [%close,%new_item,%filter,%delete,%save,%new_item_name,%list]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = 448
|
||||
i.position.x = 32 * ui_scale
|
||||
i.position.x = 32
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ placeholder_text = "Filter Items"
|
|||
|
||||
[node name="list" type="ItemList" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
offset_left = 64.0
|
||||
offset_top = 100.0
|
||||
offset_right = 448.0
|
||||
|
|
@ -74,16 +73,6 @@ offset_right = 416.0
|
|||
offset_bottom = 960.0
|
||||
text = "Save Item"
|
||||
|
||||
[node name="item_name" type="Label" parent="."]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 1280.0
|
||||
offset_top = 96.0
|
||||
offset_right = 1920.0
|
||||
offset_bottom = 170.0
|
||||
theme_override_font_sizes/font_size = 50
|
||||
text = "Item Name"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HTTPRequest" type="HTTPRequest" parent="."]
|
||||
|
||||
[connection signal="button_up" from="close" to="." method="_on_close_button_up"]
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
extends Node2D
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
|
||||
var module
|
||||
var module_type
|
||||
var active_module
|
||||
|
||||
var module_self:String
|
||||
var modules_list:Array
|
||||
var modules_text:Array
|
||||
var modules_skill:Array
|
||||
|
||||
var config
|
||||
|
||||
func _enter_tree() -> void:
|
||||
print("item:_enter_tree:1 " + category)
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/campaign/categories.ini")
|
||||
module_self = config.get_value(category,"module","")
|
||||
var modules_all = [module_self]
|
||||
for i in config.get_section_keys(category):
|
||||
print("item:_enter_tree:2 " + i)
|
||||
if i.contains("modules_"):
|
||||
modules_all = modules_all + config.get_value(category,i,[])
|
||||
print("item:_enter_tree:3 " + str(modules_all))
|
||||
var j = 0
|
||||
for i in modules_all:
|
||||
var button = Button.new()
|
||||
button.tooltip_text = i
|
||||
if i == category:
|
||||
button.text = config.get_value(i,"name_self","")
|
||||
else:
|
||||
button.text = config.get_value(i,"name","")
|
||||
button.size.x = 192
|
||||
button.size.y = 64
|
||||
button.connect("button_up",spawn_module.bind(button.get_tooltip_text()))
|
||||
%container.add_child(button)
|
||||
j = j + 1
|
||||
spawn_module(category)
|
||||
|
||||
func spawn_module(text):
|
||||
print("item:spawn_module:1 " + text)
|
||||
remove_child(module)
|
||||
active_module = text
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/campaign/categories.ini")
|
||||
for i in config.get_section_keys(category):
|
||||
print("item:spawn_module:2 " + i)
|
||||
if i == "module" and category == text:
|
||||
print("item:spawn_module:3 " + text)
|
||||
module = load("res://01 - Menus/04 - Modules/modules_" + config.get_value(text,i,"") + ".tscn").instantiate()
|
||||
module.item = item
|
||||
module.category = category
|
||||
module.module = active_module
|
||||
module.position.x = 384
|
||||
add_child.call_deferred(module)
|
||||
elif i.contains("modules_"):
|
||||
print("item:spawn_module:4 is array" )
|
||||
if config.get_value(category,i,[]).has(text):
|
||||
print("item:spawn_module:5 " + i)
|
||||
module = load("res://01 - Menus/04 - Modules/" + i + ".tscn").instantiate()
|
||||
module.item = item
|
||||
module.category = category
|
||||
module.module = active_module
|
||||
module.position.x = 384
|
||||
add_child.call_deferred(module)
|
||||
|
||||
func show_save():
|
||||
pass
|
||||
|
||||
func save():
|
||||
module.save()
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://d1ixiojxt27x7
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cl4squ3cegosj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1ixiojxt27x7" path="res://01 - Menus/03 - Sheets/item.gd" id="1_sscaq"]
|
||||
|
||||
[node name="item" type="Node2D"]
|
||||
script = ExtResource("1_sscaq")
|
||||
|
||||
[node name="tabs" type="ColorRect" parent="."]
|
||||
offset_top = -256.0
|
||||
offset_right = 384.0
|
||||
offset_bottom = 1184.0
|
||||
color = Color(0.047058824, 0.07058824, 0.09803922, 1)
|
||||
|
||||
[node name="scroll" type="ScrollContainer" parent="."]
|
||||
clip_contents = false
|
||||
offset_left = 64.0
|
||||
offset_top = 64.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 960.0
|
||||
|
||||
[node name="container" type="VBoxContainer" parent="scroll"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
130
01 - Menus/03 - Sheets/sheet.gd
Normal file
130
01 - Menus/03 - Sheets/sheet.gd
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
extends Control
|
||||
|
||||
var config = ConfigFile.new()
|
||||
var category = ""
|
||||
var item = ""
|
||||
var stats = []
|
||||
|
||||
var items = []
|
||||
|
||||
var module_scene
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _enter_tree() -> void:
|
||||
config.load("res://02 - Configurations/" + category + ".ini")
|
||||
%scroll.size = $".".size
|
||||
create_book()
|
||||
|
||||
func set_items():
|
||||
for i in %container.get_children():
|
||||
match i.tooltip_text:
|
||||
"Text:long":
|
||||
i.get_child(1).custom_minimum_size = Vector2(%scroll.size.x - 400,192)
|
||||
"Array:int":
|
||||
var count = i.get_child(1).get_child_count()
|
||||
for j in count:
|
||||
i.get_child(1).get_child(j).custom_minimum_size.x = (%scroll.size.x - 96) / count
|
||||
|
||||
|
||||
func create_book():
|
||||
var conf_modules = ConfigFile.new()
|
||||
conf_modules.load("res://02 - Configurations/campaign/modules.ini")
|
||||
stats = conf_modules.get_section_keys(category)
|
||||
print(str(stats))
|
||||
for i in stats:
|
||||
module_scene = load("res://01 - Menus/04 - Modules/module.tscn").instantiate()
|
||||
module_scene.size.x = %container.size.x
|
||||
%container.add_child(module_scene)
|
||||
module_scene.set_stat_text(i)
|
||||
module_scene.custom_minimum_size = Vector2(256,64)
|
||||
var module = conf_modules.get_value(category,i,"").split(":",true)
|
||||
create_module(module,i)
|
||||
|
||||
func create_module(module,i):
|
||||
match module[0]:
|
||||
"Array":
|
||||
match module[1]:
|
||||
"int":
|
||||
var fixed_array = [0]
|
||||
fixed_array.resize(int(module[2]))
|
||||
fixed_array.fill(0)
|
||||
var value = config.get_value(item,i,fixed_array)
|
||||
for j in value:
|
||||
module_scene.set_value(LineEdit,j)
|
||||
"list":
|
||||
match module[2]:
|
||||
"rec":
|
||||
pass
|
||||
"multi":
|
||||
for j in config.get_value(item,i,[]):
|
||||
module_scene.set_value(LineEdit,j)
|
||||
|
||||
var conf_category = ConfigFile.new()
|
||||
conf_category.load("res://02 - Configurations/" + i + ".ini")
|
||||
var add_stat = OptionButton.new()
|
||||
add_stat.add_separator("Add " + i)
|
||||
add_stat.set_item_disabled(0,true)
|
||||
for j in conf_category.get_sections():
|
||||
if not config.get_value(item,i,[]).has(j):
|
||||
add_stat.add_item(j)
|
||||
add_stat.select(0)
|
||||
"single":
|
||||
var conf_category = ConfigFile.new()
|
||||
conf_category.load("res://02 - Configurations/" + i + ".ini")
|
||||
var add_stat = OptionButton.new()
|
||||
add_stat.add_separator("Select " + i)
|
||||
add_stat.set_item_disabled(0,true)
|
||||
for j in conf_category.get_sections():
|
||||
add_stat.add_item(j)
|
||||
add_stat.select(1 + conf_category.get_sections().find(config.get_value(item,i,[""])[0]))
|
||||
"Text":
|
||||
match module[1]:
|
||||
"short":
|
||||
var stat = LineEdit.new()
|
||||
stat.text = str(config.get_value(item,i,""))
|
||||
"long":
|
||||
var stat = TextEdit.new()
|
||||
stat.wrap_mode = 1
|
||||
stat.clip_contents = false
|
||||
stat.text = config.get_value(item,i,"")
|
||||
set_items()
|
||||
|
||||
#func rec(i,conf,k):
|
||||
#var conff = "res://02 - Configurations/" + conf + ".ini"
|
||||
#config = ConfigFile.new()
|
||||
#config.load(conff)
|
||||
#print("modules_list:rec:1 conff = " + conff)
|
||||
#print("modules_list:rec:2 sections = " + str(config.get_section_keys(k)))
|
||||
#print("modules_list:rec:3 k = " + str(k))
|
||||
#print("modules_list:rec:4 i = " + str(i))
|
||||
#if config.get_section_keys(k).has(i):
|
||||
#var m = config.get_value(k,i)
|
||||
#print("modules_list:rec:5 " + (k) + " has " + str(m) + " as " + str(i))
|
||||
#if module == i:
|
||||
#print("modules_list:rec:6 " + str(items))
|
||||
#for b in config.get_value(k,i,[]):
|
||||
#print("modules_list:rec:10 " + str(b) + str(items))
|
||||
#if not items.has(b) and b != "":
|
||||
#items = items + [b]
|
||||
#print("modules_list:rec:11 adding " + b + " to list")
|
||||
#if item_filter == "":
|
||||
#%list.add_item(str(b))
|
||||
#%list.set_item_tooltip(%list.item_count - 1, k)
|
||||
#if conf != category:
|
||||
#%list.set_item_custom_bg_color(%list.item_count - 1,"black")
|
||||
#elif item_filter.to_lower() in b.to_lower():
|
||||
#%list.add_item(str(b))
|
||||
#else:
|
||||
#%list.item_count = %list.item_count -1
|
||||
#print("modules_list:rec:12 " + i + " " + str(category))
|
||||
#if i != category:
|
||||
#print("modules_list:rec:7 " + str(rec_helper.slice(rec_helper.find(i),-1)))
|
||||
#print("modules_list:rec:8 " + str(m))
|
||||
#for o in rec_helper.slice(rec_helper.find(i),rec_helper.size()):
|
||||
#print(str(o))
|
||||
#for j in m:
|
||||
#print("modules_list:rec:9 rec " + o + " - " + i + " - " + j)
|
||||
#rec(o,i,j)
|
||||
|
||||
func _on_close_button_up() -> void:
|
||||
queue_free()
|
||||
1
01 - Menus/03 - Sheets/sheet.gd.uid
Normal file
1
01 - Menus/03 - Sheets/sheet.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bmphhxrifc4gc
|
||||
39
01 - Menus/03 - Sheets/sheet.tscn
Normal file
39
01 - Menus/03 - Sheets/sheet.tscn
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://4q13obqp8uh8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bmphhxrifc4gc" path="res://01 - Menus/03 - Sheets/sheet.gd" id="1_v0a3n"]
|
||||
|
||||
[node name="sheet" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_bottom = 8.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_v0a3n")
|
||||
|
||||
[node name="scroll" type="ScrollContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_right = 448.0
|
||||
offset_bottom = 256.0
|
||||
|
||||
[node name="container" type="VBoxContainer" parent="scroll"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="close" type="Button" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_left = 56.0
|
||||
offset_top = 360.0
|
||||
offset_right = 164.0
|
||||
offset_bottom = 402.0
|
||||
text = "Close"
|
||||
|
||||
[connection signal="button_up" from="close" to="." method="_on_close_button_up"]
|
||||
21
01 - Menus/04 - Modules/ini_button.gd
Normal file
21
01 - Menus/04 - Modules/ini_button.gd
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
extends Control
|
||||
|
||||
var size_x = 192
|
||||
var size_y = 164
|
||||
var text = "button"
|
||||
var config
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _enter_tree() -> void:
|
||||
%button.size = Vector2(size_x,size_y)
|
||||
%button.text = text
|
||||
custom_minimum_size = %button.size
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_button_pressed() -> void:
|
||||
pass # Replace with function body.
|
||||
1
01 - Menus/04 - Modules/ini_button.gd.uid
Normal file
1
01 - Menus/04 - Modules/ini_button.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://c5e5v6ai5yv0w
|
||||
23
01 - Menus/04 - Modules/ini_button.tscn
Normal file
23
01 - Menus/04 - Modules/ini_button.tscn
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://csa8o3aa1jxx5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c5e5v6ai5yv0w" path="res://01 - Menus/04 - Modules/ini_button.gd" id="1_jc31o"]
|
||||
|
||||
[node name="ini_button" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_jc31o")
|
||||
|
||||
[node name="button" type="Button" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_right = 256.0
|
||||
offset_bottom = 64.0
|
||||
text = "button"
|
||||
|
||||
[connection signal="pressed" from="button" to="." method="_on_button_pressed"]
|
||||
10
01 - Menus/04 - Modules/module.gd
Normal file
10
01 - Menus/04 - Modules/module.gd
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
extends Control
|
||||
|
||||
|
||||
func set_stat_text(text):
|
||||
%stat.text = text
|
||||
|
||||
func set_value(module_type,value):
|
||||
var module = module_type.new()
|
||||
module.text = str(value)
|
||||
%value.add_child(module)
|
||||
1
01 - Menus/04 - Modules/module.gd.uid
Normal file
1
01 - Menus/04 - Modules/module.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://b5l5ei1tt4wka
|
||||
32
01 - Menus/04 - Modules/module.tscn
Normal file
32
01 - Menus/04 - Modules/module.tscn
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://j2f5hra8e7um"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b5l5ei1tt4wka" path="res://01 - Menus/04 - Modules/module.gd" id="1_rxp26"]
|
||||
|
||||
[node name="module" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_rxp26")
|
||||
|
||||
[node name="vbox" type="VBoxContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_right = 760.0
|
||||
offset_bottom = 51.0
|
||||
|
||||
[node name="stat" type="Label" parent="vbox"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
text = "stat"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="value" type="HBoxContainer" parent="vbox"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
extends Control
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. characters
|
||||
var module # e.g. trait
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cj7dq6bxffndm
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bf5jf67m66141"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cj7dq6bxffndm" path="res://01 - Menus/04 - Modules/modules_.gd" id="1_xh6yg"]
|
||||
|
||||
[node name="modules_" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_xh6yg")
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
extends Control
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. characters
|
||||
var module # e.g. trait
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://b0g20c0f26vke
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://ifmshoyijckd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b0g20c0f26vke" path="res://01 - Menus/04 - Modules/modules_character.gd" id="1_ooaol"]
|
||||
|
||||
[node name="character" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_ooaol")
|
||||
|
|
@ -32,6 +32,7 @@ func _enter_tree() -> void:
|
|||
%new_item_suggestions.visible = false
|
||||
ini = "res://02 - Configurations/" + category + ".ini"
|
||||
list_items()
|
||||
set_menu_items()
|
||||
|
||||
func list_items():
|
||||
config = ConfigFile.new()
|
||||
|
|
@ -169,3 +170,21 @@ func _on_delete_button_up() -> void:
|
|||
config.set_value(item,module,j)
|
||||
config.save(ini)
|
||||
list_items()
|
||||
|
||||
func set_menu_items():
|
||||
var ui_scale = 1
|
||||
var pixel_x = get_viewport_rect().size[0]
|
||||
var pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y < 2900:
|
||||
ui_scale = 0.7
|
||||
%background.size.y = pixel_y
|
||||
if pixel_x < pixel_y: #mobile
|
||||
self.position = Vector2(0,0)
|
||||
%background.size.x = pixel_x
|
||||
for i in [%list]:
|
||||
i.scale = Vector2(ui_scale,ui_scale)
|
||||
i.size.x = pixel_x/ui_scale - 128
|
||||
i.position.x = 64 * ui_scale
|
||||
else:
|
||||
self.position = Vector2(1020 * ui_scale,0)
|
||||
%background.size.x = 256*ui_scale
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
extends Control
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. characters
|
||||
var module # e.g. trait
|
||||
var items = [] # e.g. ["Undergrounder","Tough"]
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://c50oko0aci1t8
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cynrv7v87br4g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c50oko0aci1t8" path="res://01 - Menus/04 - Modules/modules_location.gd" id="1_08287"]
|
||||
|
||||
[node name="modules_location" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_08287")
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bsni2icpr5xpg
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://beaslpqen8eqr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bsni2icpr5xpg" path="res://01 - Menus/04 - Modules/modifier.gd" id="1_7leb1"]
|
||||
|
||||
[node name="modifier" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_7leb1")
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
||||
var cost:Array = [0,0,0,0]
|
||||
var difficulty:int = 0
|
||||
var action:String = ""
|
||||
var success:String = ""
|
||||
var failure:String = ""
|
||||
var duration:int = 0
|
||||
var ends_on:int = 0
|
||||
var target:Array = []
|
||||
var stat:Array = []
|
||||
var challenge:String = ""
|
||||
|
||||
var config = ConfigFile.new()
|
||||
var item_filter = ""
|
||||
var targets1 = ""
|
||||
|
||||
func _enter_tree() -> void:
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/" + category + ".ini")
|
||||
#print(str(config.get_value(item,"cost")))
|
||||
cost = config.get_value(item,"cost",[0,0,0,0])
|
||||
difficulty = config.get_value(item,"difficulty",0)
|
||||
action = config.get_value(item,"action","")
|
||||
success = config.get_value(item,"success","")
|
||||
failure = config.get_value(item,"failure","")
|
||||
duration = config.get_value(item,"duration",0)
|
||||
ends_on = config.get_value(item,"ends_on",0)
|
||||
target = config.get_value(item,"target",[""])
|
||||
stat = config.get_value(item,"stat",[""])
|
||||
var j = 0
|
||||
for i in %cost.get_children():
|
||||
i.text = str(cost[j])
|
||||
j = j + 1
|
||||
%difficulty.text = str(difficulty)
|
||||
%action.text = action
|
||||
%success.text = success
|
||||
%failure.text = failure
|
||||
%duration.text = str(duration)
|
||||
%ends_on.select(ends_on)
|
||||
%target.item_count = 0
|
||||
for i in target:
|
||||
%target.add_item(i)
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/stat.ini")
|
||||
for i in stat:
|
||||
%stat.add_item(i)
|
||||
|
||||
func _on_body_text_changed(new_text: String) -> void:
|
||||
cost[0] = int(new_text)
|
||||
print(str(cost))
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_communication_text_changed(new_text: String) -> void:
|
||||
cost[1] = int(new_text)
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_mind_text_changed(new_text: String) -> void:
|
||||
cost[2] = int(new_text)
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_soul_text_changed(new_text: String) -> void:
|
||||
cost[3] = int(new_text)
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
func save():
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/" + category + ".ini")
|
||||
config.set_value(item,"cost",cost)
|
||||
config.set_value(item,"difficulty",difficulty)
|
||||
config.set_value(item,"action",action)
|
||||
config.set_value(item,"success",success)
|
||||
config.set_value(item,"failure",failure)
|
||||
config.set_value(item,"duration",duration)
|
||||
config.set_value(item,"ends_on",ends_on)
|
||||
config.set_value(item,"target",target)
|
||||
config.set_value(item,"stat",stat)
|
||||
config.save("res://02 - Configurations/" + category + ".ini")
|
||||
%http.request("https://ttrpg.marty.tf/hi2/",["Content-Type: application/json"],HTTPClient.METHOD_PUT,"hi2")
|
||||
|
||||
|
||||
func _on_difficulty_text_changed(new_text: String) -> void:
|
||||
difficulty = int(new_text)
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_action_text_changed() -> void:
|
||||
action = %action.text
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_success_text_changed() -> void:
|
||||
success = %success.text
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_failure_text_changed() -> void:
|
||||
failure = %failure.text
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_duration_text_changed(new_text) -> void:
|
||||
duration = int(new_text)
|
||||
print(str(duration))
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_ends_on_item_selected(index: int) -> void:
|
||||
ends_on = index
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
|
||||
func _on_http_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void:
|
||||
print(str(response_code))
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cy7cil87c8jlm
|
||||
|
|
@ -1,177 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://wvtkpsevhva0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cy7cil87c8jlm" path="res://01 - Menus/04 - Modules/modules_skill.gd" id="1_5eik8"]
|
||||
|
||||
[node name="skill" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_5eik8")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_right = 1408.0
|
||||
offset_bottom = 1280.0
|
||||
|
||||
[node name="cost" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="body" type="LineEdit" parent="cost"]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 64.0
|
||||
offset_top = 64.0
|
||||
offset_right = 206.0
|
||||
offset_bottom = 128.0
|
||||
theme_override_colors/font_color = Color(0.8509804, 0.29411766, 0.29411766, 1)
|
||||
placeholder_text = "body"
|
||||
|
||||
[node name="communication" type="LineEdit" parent="cost"]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 256.0
|
||||
offset_top = 64.0
|
||||
offset_right = 398.0
|
||||
offset_bottom = 128.0
|
||||
placeholder_text = "communication"
|
||||
|
||||
[node name="mind" type="LineEdit" parent="cost"]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 64.0
|
||||
offset_top = 160.0
|
||||
offset_right = 206.0
|
||||
offset_bottom = 224.0
|
||||
placeholder_text = "mind"
|
||||
|
||||
[node name="soul" type="LineEdit" parent="cost"]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 256.0
|
||||
offset_top = 160.0
|
||||
offset_right = 398.0
|
||||
offset_bottom = 224.0
|
||||
placeholder_text = "soul"
|
||||
|
||||
[node name="action" type="TextEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 64.0
|
||||
offset_top = 320.0
|
||||
offset_right = 960.0
|
||||
offset_bottom = 576.0
|
||||
placeholder_text = "action"
|
||||
wrap_mode = 1
|
||||
scroll_smooth = true
|
||||
caret_blink = true
|
||||
|
||||
[node name="success" type="TextEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 64.0
|
||||
offset_top = 608.0
|
||||
offset_right = 960.0
|
||||
offset_bottom = 864.0
|
||||
placeholder_text = "success"
|
||||
wrap_mode = 1
|
||||
scroll_smooth = true
|
||||
caret_blink = true
|
||||
|
||||
[node name="failure" type="TextEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 64.0
|
||||
offset_top = 896.0
|
||||
offset_right = 960.0
|
||||
offset_bottom = 1152.0
|
||||
placeholder_text = "failure"
|
||||
wrap_mode = 1
|
||||
scroll_smooth = true
|
||||
caret_blink = true
|
||||
|
||||
[node name="difficulty" type="LineEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 576.0
|
||||
offset_top = 64.0
|
||||
offset_right = 718.0
|
||||
offset_bottom = 128.0
|
||||
placeholder_text = "difficulty"
|
||||
|
||||
[node name="duration" type="LineEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 832.0
|
||||
offset_top = 64.0
|
||||
offset_right = 974.0
|
||||
offset_bottom = 128.0
|
||||
placeholder_text = "duration"
|
||||
|
||||
[node name="ends_on" type="OptionButton" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 1024.0
|
||||
offset_top = 64.0
|
||||
offset_right = 1344.0
|
||||
offset_bottom = 128.0
|
||||
selected = 0
|
||||
item_count = 3
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "Ends on Sleep"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "Ends on Rest"
|
||||
popup/item_2/id = 2
|
||||
|
||||
[node name="challenge" type="OptionButton" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 512.0
|
||||
offset_top = 160.0
|
||||
offset_right = 1344.0
|
||||
offset_bottom = 224.0
|
||||
selected = 0
|
||||
item_count = 3
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "Throw 1 dice"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "Throw x dice"
|
||||
popup/item_2/id = 2
|
||||
|
||||
[node name="target" type="ItemList" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 1024.0
|
||||
offset_top = 896.0
|
||||
offset_right = 1344.0
|
||||
offset_bottom = 1152.0
|
||||
mouse_filter = 2
|
||||
select_mode = 2
|
||||
item_count = 1
|
||||
item_0/text = "target"
|
||||
|
||||
[node name="stat" type="ItemList" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 1024.0
|
||||
offset_top = 320.0
|
||||
offset_right = 1344.0
|
||||
offset_bottom = 864.0
|
||||
mouse_filter = 2
|
||||
select_mode = 2
|
||||
|
||||
[node name="http" type="HTTPRequest" parent="."]
|
||||
unique_name_in_owner = true
|
||||
use_threads = true
|
||||
|
||||
[connection signal="text_changed" from="cost/body" to="." method="_on_body_text_changed"]
|
||||
[connection signal="text_changed" from="cost/communication" to="." method="_on_communication_text_changed"]
|
||||
[connection signal="text_changed" from="cost/mind" to="." method="_on_mind_text_changed"]
|
||||
[connection signal="text_changed" from="cost/soul" to="." method="_on_soul_text_changed"]
|
||||
[connection signal="text_changed" from="action" to="." method="_on_action_text_changed"]
|
||||
[connection signal="text_changed" from="success" to="." method="_on_success_text_changed"]
|
||||
[connection signal="text_changed" from="failure" to="." method="_on_failure_text_changed"]
|
||||
[connection signal="text_changed" from="difficulty" to="." method="_on_difficulty_text_changed"]
|
||||
[connection signal="text_changed" from="duration" to="." method="_on_duration_text_changed"]
|
||||
[connection signal="item_selected" from="ends_on" to="." method="_on_ends_on_item_selected"]
|
||||
[connection signal="request_completed" from="http" to="." method="_on_http_request_completed"]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://uych52kioaci
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bqswmmgfxstfw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bsni2icpr5xpg" path="res://01 - Menus/04 - Modules/modifier.gd" id="1_iafih"]
|
||||
|
||||
[node name="stat" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_iafih")
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
||||
var config
|
||||
var item_filter = ""
|
||||
|
||||
func _enter_tree() -> void:
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/" + category + ".ini")
|
||||
%text.text = config.get_value(item,"text", "")
|
||||
|
||||
|
||||
func _on_backstory_text_changed() -> void:
|
||||
config = ConfigFile.new()
|
||||
config.load("res://02 - Configurations/" + category + ".ini")
|
||||
config.set_value(item,"text",%text.text)
|
||||
get_parent().get_parent().show_save()
|
||||
|
||||
func save():
|
||||
config.save("res://02 - Configurations/" + category + ".ini")
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://c7veejgoktxy4
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://blinf0w4bd7xh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c7veejgoktxy4" path="res://01 - Menus/04 - Modules/text.gd" id="1_ed0wg"]
|
||||
|
||||
[node name="text" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_ed0wg")
|
||||
|
||||
[node name="text" type="TextEdit" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_top = 320.0
|
||||
offset_right = 576.0
|
||||
offset_bottom = 768.0
|
||||
wrap_mode = 1
|
||||
|
||||
[connection signal="text_changed" from="text" to="." method="_on_backstory_text_changed"]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://5fupt8jhtnre
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bbtwis5vf5pgj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://5fupt8jhtnre" path="res://01 - Menus/04 - Modules/trait.gd" id="1_elj4r"]
|
||||
|
||||
[node name="trait" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_elj4r")
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var item # e.g. grondir
|
||||
var category # e.g. character
|
||||
var module # e.g. trait
|
||||
var items # e.g. ["Undergrounder","Tough"]
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cbbigwfdfc2l4
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cn53vjwt1k4wq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cbbigwfdfc2l4" path="res://01 - Menus/04 - Modules/xenoline.gd" id="1_bofh8"]
|
||||
|
||||
[node name="xenoline" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_bofh8")
|
||||
|
|
@ -13,10 +13,10 @@ color = Color(0.047058824, 0.07058824, 0.09803922, 1)
|
|||
|
||||
[node name="close" type="Button" parent="."]
|
||||
unique_name_in_owner = true
|
||||
offset_left = 96.0
|
||||
offset_top = 1280.0
|
||||
offset_right = 416.0
|
||||
offset_bottom = 1344.0
|
||||
offset_left = 104.0
|
||||
offset_top = 152.0
|
||||
offset_right = 424.0
|
||||
offset_bottom = 216.0
|
||||
text = "Close"
|
||||
|
||||
[node name="items" type="Button" parent="."]
|
||||
|
|
|
|||
210
01 - Menus/07 - Window/window.gd
Normal file
210
01 - Menus/07 - Window/window.gd
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
extends Control
|
||||
|
||||
var pixel_x
|
||||
var pixel_y
|
||||
var ui_scale
|
||||
var minsize
|
||||
var restore_minimize
|
||||
|
||||
var module
|
||||
var category = "character"
|
||||
var item = "Grondir"
|
||||
var origin = null
|
||||
var distance = null
|
||||
var dragPoint = null
|
||||
var dragPoint_move = null
|
||||
var minimized = false
|
||||
var window_size
|
||||
var window_position
|
||||
var resizer
|
||||
|
||||
func _enter_tree() -> void:
|
||||
module = load("res://01 - Menus/03 - Sheets/sheet.tscn").instantiate()
|
||||
module.category = category
|
||||
module.item = item
|
||||
%window.position = Vector2(600,400)
|
||||
%category.text = category
|
||||
%item.text = item
|
||||
%window.add_child(module)
|
||||
ui_scale = 1
|
||||
if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000:
|
||||
ui_scale = 0.7
|
||||
pixel_x = get_viewport_rect().size[0] / ui_scale
|
||||
pixel_y = get_viewport_rect().size[1] / ui_scale
|
||||
module_fit_window()
|
||||
#call_deferred("module_fit_window")
|
||||
set_bar_items()
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]:
|
||||
pixel_x = get_viewport_rect().size[0]
|
||||
pixel_y = get_viewport_rect().size[1]
|
||||
if pixel_x + pixel_y > 3000:
|
||||
ui_scale = 1
|
||||
else:
|
||||
ui_scale = 0.7
|
||||
module_fit_window()
|
||||
|
||||
|
||||
func module_fit_window():
|
||||
if get_viewport_rect().size[0] > get_viewport_rect().size[1]:
|
||||
module.get_child(0).size = %ui_background.size - Vector2(64,64)
|
||||
module.get_child(0).position = %ui_background.position + Vector2(32,32)
|
||||
else:
|
||||
position = Vector2(0,0)
|
||||
%ui_background.size = get_viewport_rect().size
|
||||
module.get_child(0).size = %ui_background.size - Vector2(64,64)
|
||||
module.get_child(0).position = Vector2(32,96)
|
||||
%ui_bar.size.x = %ui_background.size.x
|
||||
%item.position.x = 64
|
||||
%close.position.x = %ui_bar.size.x - 92
|
||||
%minimize.position.x = %close.position.x - 92
|
||||
for i in [%size_right,%size_left,%size_bottom]:
|
||||
i.visible = false
|
||||
module.set_items()
|
||||
move_child(module,1)
|
||||
|
||||
func _on_ui_bar_gui_input(ev: InputEvent) -> void:
|
||||
if ev is InputEventMouseButton:
|
||||
if ev.button_index == MOUSE_BUTTON_LEFT:
|
||||
if ev.pressed:
|
||||
dragPoint = get_global_mouse_position() - %window.get_position()
|
||||
get_parent().move_child(self,get_parent().get_child_count())
|
||||
else:
|
||||
dragPoint = null
|
||||
if ev is InputEventMouseMotion and dragPoint != null:
|
||||
%window.position = get_global_mouse_position()/ui_scale - dragPoint/ui_scale
|
||||
|
||||
|
||||
func _on_minimize_button_up() -> void:
|
||||
if minimized:
|
||||
for i in [%ui_background,module]:
|
||||
i.visible = true
|
||||
minimized = false
|
||||
%minimize.text = "-"
|
||||
for i in [%size_left,%size_right]:
|
||||
i.size.y = %ui_bar.size.y + %ui_background.size.y
|
||||
%size_bottom.visible = true
|
||||
else:
|
||||
for i in [%ui_background,module]:
|
||||
i.visible = false
|
||||
module.visible = false
|
||||
minimized = true
|
||||
%minimize.text = "+"
|
||||
for i in [%size_left,%size_right]:
|
||||
i.size.y = %ui_bar.size.y
|
||||
%size_bottom.visible = false
|
||||
|
||||
|
||||
|
||||
func _on_close_button_up() -> void:
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_size_gui_input(ev: InputEvent) -> void:
|
||||
match resizer:
|
||||
"right":
|
||||
resizer = %size_right
|
||||
"left":
|
||||
resizer = %size_left
|
||||
"bottom":
|
||||
resizer = %size_bottom
|
||||
if ev is InputEventMouseButton:
|
||||
if ev.button_index == MOUSE_BUTTON_LEFT:
|
||||
if ev.pressed:
|
||||
dragPoint = get_global_mouse_position() * ui_scale
|
||||
origin = resizer.position
|
||||
else:
|
||||
var reset_right = %size_right.position.x - %size_left.position.x - 32
|
||||
dragPoint = null
|
||||
distance = null
|
||||
origin = null
|
||||
for i in [%size_left,%size_right]:
|
||||
i.size.y = %ui_background.size.y + 32
|
||||
i.position.y = 0
|
||||
%size_bottom.size.x = %ui_bar.size.x
|
||||
%size_bottom.position.x = %ui_bar.position.x
|
||||
%window.set_position(%ui_bar.global_position)
|
||||
%size_left.position = Vector2(-32,0)
|
||||
%size_right.position.x = reset_right
|
||||
if ev is InputEventMouseMotion and dragPoint :
|
||||
distance = get_global_mouse_position() - dragPoint * ui_scale
|
||||
resizer.position = origin + distance
|
||||
|
||||
|
||||
for i in [%ui_background,%ui_bar]:
|
||||
i.size.x = %size_right.position.x - %size_left.position.x
|
||||
if %ui_background.size.x >= 700:
|
||||
i.position.x = %size_left.position.x + 32
|
||||
%ui_background.size.y = %size_bottom.position.y - %ui_bar.position.y - 32
|
||||
set_bar_items()
|
||||
module_fit_window()
|
||||
|
||||
|
||||
func set_bar_items():
|
||||
if %ui_background.size.y < 500:
|
||||
%ui_background.size.y = 500
|
||||
for i in [%size_left,%size_right]:
|
||||
i.size.y = 500
|
||||
%size_bottom.position.y = 532
|
||||
minsize = true
|
||||
else:
|
||||
minsize = false
|
||||
|
||||
if %ui_bar.size.x < 700:
|
||||
for i in [%ui_bar,%ui_background]:
|
||||
i.size.x = 700
|
||||
%size_left.position.x = %ui_bar.position.x - 32
|
||||
elif %ui_bar.size.x < 1200:
|
||||
%category.visible = false
|
||||
%item.visible = true
|
||||
%item.position.x = (%ui_bar.size.x - 256) / 6
|
||||
minsize = false
|
||||
else:
|
||||
%category.visible = true
|
||||
%item.visible = true
|
||||
%category.position.x = %ui_bar.size.x /6
|
||||
%item.position.x = %category.position.x + %category.size.x + 64
|
||||
minsize = false
|
||||
%close.position.x = %ui_bar.size.x - 96
|
||||
%minimize.position.x = %ui_bar.size.x - 192
|
||||
%size_right.position.x = %ui_bar.position.x + %ui_bar.size.x - 32
|
||||
|
||||
func _on_size_mouse_entered() -> void:
|
||||
#print("in")
|
||||
Input.set_default_cursor_shape(Input.CURSOR_HSIZE)
|
||||
|
||||
|
||||
func _on_size_mouse_exited() -> void:
|
||||
#print("out")
|
||||
Input.set_default_cursor_shape(Input.CURSOR_ARROW)
|
||||
|
||||
|
||||
func _on_size_right_mouse_entered() -> void:
|
||||
_on_size_mouse_entered()
|
||||
resizer = "right"
|
||||
|
||||
|
||||
func _on_size_right_mouse_exited() -> void:
|
||||
_on_size_mouse_exited()
|
||||
dragPoint = null
|
||||
|
||||
|
||||
func _on_size_left_mouse_entered() -> void:
|
||||
_on_size_mouse_entered()
|
||||
resizer = "left"
|
||||
|
||||
|
||||
func _on_size_left_mouse_exited() -> void:
|
||||
_on_size_mouse_exited()
|
||||
dragPoint = null
|
||||
|
||||
|
||||
func _on_size_bottom_mouse_entered() -> void:
|
||||
_on_size_mouse_entered()
|
||||
resizer = "bottom"
|
||||
|
||||
|
||||
func _on_size_bottom_mouse_exited() -> void:
|
||||
_on_size_mouse_exited()
|
||||
dragPoint = null
|
||||
1
01 - Menus/07 - Window/window.gd.uid
Normal file
1
01 - Menus/07 - Window/window.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://ber8skhqnnfa0
|
||||
116
01 - Menus/07 - Window/window.tscn
Normal file
116
01 - Menus/07 - Window/window.tscn
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dy3yn2hesb83"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ber8skhqnnfa0" path="res://01 - Menus/07 - Window/window.gd" id="1_ykjtc"]
|
||||
|
||||
[node name="window" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 128.0
|
||||
offset_bottom = 128.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_ykjtc")
|
||||
|
||||
[node name="window" type="Control" parent="."]
|
||||
unique_name_in_owner = true
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="ui_background" type="ColorRect" parent="window"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_top = 64.0
|
||||
offset_right = 1008.0
|
||||
offset_bottom = 912.0
|
||||
color = Color(0.047058824, 0.07058824, 0.09803922, 1)
|
||||
|
||||
[node name="size_right" type="Control" parent="window"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchor_left = 7.8750005
|
||||
anchor_top = 3.5620003
|
||||
anchor_right = 7.8750005
|
||||
anchor_bottom = 3.5620003
|
||||
offset_left = 661.0
|
||||
offset_top = -142.48001
|
||||
offset_right = 725.0
|
||||
offset_bottom = 769.52
|
||||
|
||||
[node name="size_left" type="Control" parent="window"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchor_top = 3.5620003
|
||||
anchor_bottom = 3.5620003
|
||||
offset_left = -32.0
|
||||
offset_top = -142.48001
|
||||
offset_right = 32.0
|
||||
offset_bottom = 769.52
|
||||
|
||||
[node name="size_bottom" type="Control" parent="window"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchor_left = 3.9370003
|
||||
anchor_top = 7.0620003
|
||||
anchor_right = 3.9370003
|
||||
anchor_bottom = 7.0620003
|
||||
offset_left = -157.48001
|
||||
offset_top = 597.52
|
||||
offset_right = 850.52
|
||||
offset_bottom = 661.52
|
||||
|
||||
[node name="ui_bar" type="ColorRect" parent="window"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_right = 1008.0
|
||||
offset_bottom = 64.0
|
||||
color = Color(0.1254902, 0.1764706, 0.22745098, 1)
|
||||
|
||||
[node name="minimize" type="Button" parent="window/ui_bar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 808.0
|
||||
offset_top = 8.0
|
||||
offset_right = 856.0
|
||||
offset_bottom = 56.0
|
||||
text = "-"
|
||||
|
||||
[node name="close" type="Button" parent="window/ui_bar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 904.0
|
||||
offset_top = 8.0
|
||||
offset_right = 952.0
|
||||
offset_bottom = 56.0
|
||||
text = "x"
|
||||
|
||||
[node name="category" type="Label" parent="window/ui_bar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 32.0
|
||||
offset_top = 8.0
|
||||
offset_right = 288.0
|
||||
offset_bottom = 55.0
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="item" type="Label" parent="window/ui_bar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 320.0
|
||||
offset_top = 8.0
|
||||
offset_right = 744.0
|
||||
offset_bottom = 55.0
|
||||
horizontal_alignment = 1
|
||||
|
||||
[connection signal="gui_input" from="window/size_right" to="." method="_on_size_gui_input"]
|
||||
[connection signal="mouse_entered" from="window/size_right" to="." method="_on_size_right_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="window/size_right" to="." method="_on_size_right_mouse_exited"]
|
||||
[connection signal="gui_input" from="window/size_left" to="." method="_on_size_gui_input"]
|
||||
[connection signal="mouse_entered" from="window/size_left" to="." method="_on_size_left_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="window/size_left" to="." method="_on_size_left_mouse_exited"]
|
||||
[connection signal="gui_input" from="window/size_bottom" to="." method="_on_size_gui_input"]
|
||||
[connection signal="mouse_entered" from="window/size_bottom" to="." method="_on_size_bottom_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="window/size_bottom" to="." method="_on_size_bottom_mouse_exited"]
|
||||
[connection signal="gui_input" from="window/ui_bar" to="." method="_on_ui_bar_gui_input"]
|
||||
[connection signal="button_up" from="window/ui_bar/minimize" to="." method="_on_minimize_button_up"]
|
||||
[connection signal="button_up" from="window/ui_bar/close" to="." method="_on_close_button_up"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue