first commit, long overdue
deez
This commit is contained in:
commit
54b9012a47
79 changed files with 2516 additions and 0 deletions
99
01 - Menus/01 - Main Menu/main_menu.gd
Normal file
99
01 - Menus/01 - Main Menu/main_menu.gd
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
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)
|
||||
menu_item.set_menu_items(pixel_x,pixel_y,ui_scale)
|
||||
|
||||
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 - (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_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
|
||||
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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue