Commit e9d90e00 authored by Georgiy Yankovskiy's avatar Georgiy Yankovskiy

Merge branch 'ILAct1mel-main'

parents 6fa45932 0f6e8282
......@@ -27,6 +27,8 @@ class App(QtCore.QObject):
game_started = Signal(bool, name="gameStarted")
game_ended = Signal(bool, name="gameEnded")
data_found = Signal(dict, name="gotGameData")
gamepad_clicked_LB = Signal(bool, name="gamepadClickedLB")
gamepad_clicked_RB = Signal(bool, name="gamepadClickedRB")
gamepad_clicked_apply = Signal(bool, name="gamepadClickedApply")
......@@ -121,10 +123,20 @@ class App(QtCore.QObject):
@Slot(str, result=dict)
def get_game_data(self, game_name):
print(game_name)
# self.agent.search_game("Risk of rain 2") # оригинальной osu в стиме нет =) Плейсхолдер
return self.agent.search_game(game_name)
# self.agent.search_game("asdjfiawefhawijefh")
#print(game_name)
def search_thread(t, name):
search_result = t.agent.search_game(name)
t.data_found.emit(search_result)
return
thread = threading.Thread(target=search_thread, args=(self, game_name))
thread.start()
pass
@Slot(str)
def start_game(self, exec):
......
......@@ -2,12 +2,11 @@ import os
import pickle
from steam_web_api import Steam
# TODO:
# - Определиться, используется ли Lutris. Если да, вместо этого будет обращение к нему. Если нет,
# [?] Определиться, используется ли Lutris. Если да, вместо этого будет обращение к нему. Если нет,
# продумать "рыбу" более логично.
# - Починить отображение системных требований (точнее, разобраться, что именно возвращает API.
# - Додумать форматированные данные, что именно мы видим на странице игры?
# [?] Починить отображение системных требований (точнее, разобраться, что именно возвращает API.
# [done 1/2] Додумать форматированные данные, что именно мы видим на странице игры?
class GameAgent:
......@@ -22,6 +21,8 @@ class GameAgent:
self.steam_process = Steam(agent_key)
self.get_all_data()
def add_game_info(self, data, name):
if not data['apps']:
self.all_data[name] = 0
......@@ -34,7 +35,9 @@ class GameAgent:
self.get_all_data()
def search_game(self, game_name):
self.get_all_data()
if game_name in self.all_data:
print("ITS HERE!")
else:
......@@ -59,8 +62,13 @@ class GameAgent:
# for key, value in formatted_data.items():
# print("{0}: {1}".format(key, value))
else:
print("Игра не распознана!")
#TODO исправить это недоразумение, временная затычка
formatted_data['title'] = "Информация не найдена!"
formatted_data['desc'] = "Информация не найдена!"
formatted_data['languages'] = "Информация не найдена!"
formatted_data['reqs'] = "Информация не найдена!"
# print(formatted_data)
return formatted_data
def clean_data(self):
......
......@@ -28,6 +28,10 @@ Window {
// console.log("core_app: gameEnded");
window.scene = SceneConstants.gameInfoScene;
}
function onGotGameData(result) {
// console.log(JSON.stringify(result))
gameInfoScene.setGameData(result)
}
function onGamepadClickedLB(done){
window._trigger("onGamepadClickedLB", done);
}
......
......@@ -40,8 +40,8 @@ Rectangle {
let _l = v['languages'];
let _r = v['reqs'];
// console.log(_t, _d, _l, _r);
let pretty_title = ((_t === undefined) ? "Нет информации об игре" : _t);
let pretty_description = ((_d === undefined) ? "Нет информации об игре" : _d);
let pretty_title = ((_t === undefined) ? "Поиск информации..." : _t);
let pretty_description = ((_d === undefined) ? "Поиск информации..." : _d);
description.text = "Наименование игры:\n" + pretty_title + "\n\nОписание игры:\n" + pretty_description;
}
......@@ -386,6 +386,9 @@ Rectangle {
c[i].forceActiveFocus();
}
function setGameData(result){
description.text = "Наименование игры:\n" + result['title'] + "\n\nОписание игры:\n" + result['desc']
}
function onGamepadAxisLeft(done){
if(window.scene !== S.gameInfoScene) return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment