Re-Organizing Structure Layout
Restructuring project to proper directory layout.
This commit is contained in:
parent
38518a1fcd
commit
1340eba1cb
10806 changed files with 16774 additions and 16774 deletions
85
UI/Panels/User/user_games.gd
Normal file
85
UI/Panels/User/user_games.gd
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
extends PanelContainer
|
||||
class_name UserGamesPanel
|
||||
const GAME_ENTRY = preload("res://UI/Controls/game_entry.tscn")
|
||||
|
||||
@onready var splitter: HSplitContainer = %Splitter
|
||||
var chatter: Chatter:
|
||||
set(value):
|
||||
chatter = value
|
||||
if not chatter: return
|
||||
clear()
|
||||
populate_games()
|
||||
|
||||
func _ready() -> void:
|
||||
%SteamSearch.pressed.connect(_handle_search)
|
||||
%AddSteamGame.pressed.connect(_handle_add)
|
||||
|
||||
func _handle_search() -> void:
|
||||
var info: String = %SteamGameInput.text
|
||||
var app_id: int = -1
|
||||
if info.begins_with("https:"):
|
||||
var parts := Array(info.split("/"))
|
||||
parts.reverse()
|
||||
for part in parts:
|
||||
if part.is_valid_int():
|
||||
app_id = part.to_int()
|
||||
break
|
||||
elif info.is_valid_int():
|
||||
app_id = info.to_int()
|
||||
if app_id == -1: return
|
||||
var data: SteamAppData = await %SteamService.get_steam_app_data(app_id)
|
||||
if data:
|
||||
%SteamAppPanel.display_app_info(data)
|
||||
%SteamAppPanel.show()
|
||||
|
||||
func _handle_add() -> void:
|
||||
var info: String = %SteamGameInput.text
|
||||
var app_id: int = -1
|
||||
if info.begins_with("https:"):
|
||||
var parts = Array(info.split("/"))
|
||||
parts.reverse()
|
||||
for part in parts:
|
||||
if part.is_valid_int():
|
||||
app_id = part.to_int()
|
||||
break
|
||||
elif info.is_valid_int():
|
||||
app_id = info.to_int()
|
||||
|
||||
if app_id == -1: return
|
||||
|
||||
var data: SteamAppData = await %SteamService.get_steam_app_data(app_id)
|
||||
if data:
|
||||
chatter.steam_games.append(app_id)
|
||||
chatter.save()
|
||||
clear()
|
||||
populate_games()
|
||||
|
||||
func populate_games() -> void:
|
||||
for game in chatter.steam_games:
|
||||
var inst: GameEntry = GAME_ENTRY.instantiate()
|
||||
inst.steam_app_id = game
|
||||
inst.type = GameEntry.Type.STEAM
|
||||
inst.game_info_steam_pressed.connect(func(x: SteamAppData):
|
||||
%SteamAppPanel.show()
|
||||
%SteamAppPanel.display_app_info(x)
|
||||
)
|
||||
%SteamList.add_child(inst)
|
||||
|
||||
for game in chatter.itch_games:
|
||||
var inst: GameEntry = GAME_ENTRY.instantiate()
|
||||
inst.itchio_app_url = chatter.itch_games[game]
|
||||
inst.type = GameEntry.Type.ITCHIO
|
||||
inst.game_info_itchio_pressesd.connect(func(x: ItchIOAppData):
|
||||
%ItchAppPanel.show()
|
||||
%ItchAppPanel.display_app_info(x)
|
||||
)
|
||||
%ItchList.add_child(inst)
|
||||
|
||||
func clear() -> void:
|
||||
for node in %SteamList.get_children():
|
||||
node.queue_free()
|
||||
for node in %ItchList.get_children():
|
||||
node.queue_free()
|
||||
|
||||
%SteamAppPanel.clear()
|
||||
%ItchAppPanel.clear()
|
||||
Loading…
Add table
Add a link
Reference in a new issue