mirror of
https://github.com/Nokorpo/LibreAim.git
synced 2025-06-09 17:44:47 +09:00
78 lines
2.2 KiB
GDScript
78 lines
2.2 KiB
GDScript
extends Control
|
||
|
||
@onready var ResOptionButton = $MarginContainer/HBoxContainer/VBoxContainer/OptionButton
|
||
@onready var resolution_label := $MarginContainer/HBoxContainer/VBoxContainer/ResolutionLabel
|
||
@onready var gamelist := $MarginContainer/HBoxContainer/VBoxContainer2
|
||
|
||
#var Resoltuions: Dictionary = {
|
||
# "3840x2160" : Vector2(3840,2160),
|
||
# "2560x1440" : Vector2(2560,1440),
|
||
# "1920x1080" : Vector2(1920,1080)
|
||
# }
|
||
|
||
|
||
var models3d = [
|
||
"3d_head_level_v1",
|
||
"3d_multiple_basic_targets_movement_v1",
|
||
"3d_multiple_basic_targets_v1",
|
||
"3d_multiple_medium_targets_v1"
|
||
]
|
||
|
||
# Called when the node enters the scene tree for the first time.
|
||
func _ready():
|
||
# AddResolutions()
|
||
AddGames()
|
||
get_viewport().size_changed.connect(self.update_resolution_label)
|
||
update_resolution_label()
|
||
|
||
|
||
func AddGames():
|
||
for model in models3d:
|
||
var button = Button.new()
|
||
# button.texture = preload("assets/images/" + model)
|
||
button.text = model
|
||
button.name = model
|
||
button.pressed.connect(startTraining.bind(button.name))
|
||
gamelist.add_child(button)
|
||
|
||
func startTraining(type):
|
||
Global.game_type = type
|
||
get_tree().change_scene_to_file("res://scenes/levels/World.tscn")
|
||
|
||
#func AddResolutions():
|
||
# var count = 0
|
||
# for resolution in Resoltuions:
|
||
# ResOptionButton.add_item(resolution)
|
||
# if Resoltuions[resolution] == get_viewport().get_visible_rect().size:
|
||
# ResOptionButton.selected = count
|
||
# count += 1
|
||
|
||
|
||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||
#func _process(delta):
|
||
# pass
|
||
|
||
func update_resolution_label() -> void:
|
||
var viewport_render_size = get_viewport().size * get_viewport().scaling_3d_scale
|
||
resolution_label.text = "3D viewport resolution: %d × %d (%d%%)" \
|
||
% [viewport_render_size.x, viewport_render_size.y, round(get_viewport().scaling_3d_scale * 100)]
|
||
|
||
|
||
func _on_play_pressed():
|
||
var random_index = randi() % models3d.size()
|
||
var random_element = models3d[random_index]
|
||
startTraining(random_element)
|
||
|
||
|
||
#func _on_option_button_item_selected(index):
|
||
# var the_size = Resoltuions.get(ResOptionButton.get_item_text(index))
|
||
# DisplayServer.window_set_size(the_size)
|
||
|
||
|
||
func _on_quality_slider_value_changed(value: float) -> void:
|
||
get_viewport().scaling_3d_scale = value
|
||
update_resolution_label()
|
||
|
||
|
||
func _on_quit_pressed():
|
||
get_tree().quit()
|