Giter VIP home page Giter VIP logo

gamerplatformutils's Introduction

GamersPlatformUtils

GPL License .NET Core This software is under development

Description

GamerPlatformUtils is a tool created with .NET Core and WPF thought to provide utilities for the different gaming platforms such as Steam, Origin, Xbox for Windows, etc.

Tools provided:

  • Waste files cleaner
  • Game Links helper between platforms

How to use

Install

  • Pending

Run

  • Pending

Contact

Twitter

gamerplatformutils's People

Contributors

arthus15 avatar vvillena avatar xaberue avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gamerplatformutils's Issues

Improve Platforms ComboBox behaviour

Description
The platforms selector is a ComboBox which originally is not thought to have multiple selection. However, by taking advantage of Two Way data binding, is selecting/unselecting platforms fine, but the index remains null (Could be hardcoded once the list is filled, but the information will not be accurated to the selection)

Expected

  • The better eexprience should be to show as default something like "Selected plaftorms..." and only show the ones selected when the ComboBox is opened

image
image

Connection between Analysis and Cleaning actions

Once a Analysis has been performed, we should be able to select the files that we want to remove, and send it to the CleaningService in order to remove it from the system.

  • For the MVP:
    • By default all the files will be selected once are loaded
    • Cleaning result should be shown in the window
    • Files should not appear after the action
    • File names should be added
    • Loading should be added and shown when an analysys is performed and when a cleaning is performed.
  • Not now, but future considerations:
    • In the future we can think in having a backup system
    • Blocked files should be scheduled to be cleaned on startup
    • We should allow the user to ignore always some files and remember this selection

Amazon Prime info connection

Pre analysis information:

  • Amazon Prime platforms provides gifts for several games
  • Check installed games on system to provide customized information from this platform

Savegames backup system

A backup system would be interesting to add it to the system. In a global picture, we can think in games that has no mechanism to save this savegames in a cloud system automatically. Steam platform has games like that, also games distributed without a platform behind like old physical distribution games.

  • Possibility to have custom controlled paths by default like:
    • Origin games
    • Steam games
    • Xbox games
    • Folders:
      • AppData
      • Documents folder
      • Internal games folders
  • Mechanism for add new game:
    • Automatically add this game to the existing configurations
    • Send additionally an email to take into account this configured platform to the system. Note: This mechanism could be replaced by a future API implementation with more functionalities
  • Control of existing backups:
    • Allow the user to configure the backups final path. Note: Allow configuration for OneDrive, Dropbox or Google Drive could be interesting
    • Zip existing backups.
    • Allow the user to configure the number of backups for a same game (By date).
    • Remove oldest backup if no more slots are available.
    • Allow the user to restore a single backup

Steam Linker Business implementation

In UI, user will have two buttons:

Search:

  • Taking into account the detected platforms (Except Steam in the MVP), is going to search in each of one those, the different applications potentially linkable to Steam platform

Link:
A selectable grid will add the different applications back create a link in Steam platform.

Notes: Take into account threads to improve the implementation

WPF Stylesheet definition

  • Define a custom stylesheet for the whole application
  • Refactor current styles defined on the project:
    • Code Constants in VM
    • Hardcoded styles on XAML
    • Extended styles for Material XAML

Origin files are not removed

Describe the bug
Origin identified files after analysis, once are selected to be removed from the system, still remains there

To Reproduce
Steps to reproduce the behavior:

  1. Cleaner tab
  2. Analyse (Data will be shown)
  3. Click on Clean
  4. Apparently data is removed
  5. If Analysis is performed again, same files are shown

Expected behavior
Files selected should be removed

Screenshots
image

Additional context
Origin platform with games is required

Quick Help UI information

Quick help and ussage about the different functionalities of the application should be added in order to ease the experience to the user:

  • Tooltips
  • Default info on components containers once are loaded
  • Support and contact links

Steam Analyzer not working

IAnalyzer implementation for Steam is not working:

  • Requires to take into account libraries, not only the Installation Path of Steam
  • If we hardcode a library path, the execution exits with an StackOverflowException (critical)

image

Project processes improvement

Add Test step to PR build
Clarify PR template, remove redundant info
Clean Domain folder name
Add Readme
Add contribution

Connect Linker tab analysis with assignation

Linker functionality should allow the user to find games installed on platforms (ILinkFinder implementations), such as Microsoft Store, Origin or other installed platforms in the system, and create a link on another platform, allowing to start a game from platforms that not belongs to.

  • For the MVP:

    • All results should be set as unselected by default
    • Create the appropriate links in Steam platform
    • A loading must be shown while is creating the link
    • Display result of the operation
    • Recommendation:
      • Take advantage of TwoWay binding for getting selected games to create a link (Using a dictionary, is one single property)
  • Not now, but future considerations:

    • Steam allows to add a badge image for having better UI link in Big Picture and classic views, we can add this information or even more in the future as an enhancement

Steam Platform IAnalyzer implementation

In UI, user will have two buttons:

Analyze:

  • Taking into account the detected platforms, is going to search in each of one the different files and folders that should be removed. Everything will be sent back as a collection of paths.

Clean:
After user confirmation, the previous paths will be removed

Notes: Take into account threads to improve the implementation

Steam ILinkAssigner implementation

SteamBusiness should implement in the MVP this contract.

The purpose of ILinkAssigner is to get a collection of links from other platforms, creating a link internally that can be launched from Steam.

UI additionally has a tab to manage the retrivement and the assignment, this features should be done in the issue #6

Steam Platform ICleaner implementation

In UI, user will have two buttons:

Analyze:

Taking into account the detected platforms, is going to search in each of one the different files and folders that should be removed. Everything will be sent back as a collection of paths.
Clean:
After user confirmation, the previous paths will be removed

Notes: Take into account threads to improve the implementation

File Paths not loaded from Analyzers

Describe the bug
Files paths are not loaded to the UI after paralellization from AnalyzerService

To Reproduce
Steps to reproduce the behavior:

  1. Go to Cleaner tab
  2. Click on Analyse
  3. No data retrieved

Expected behavior
Data from Origin and Steam at least should be shown

Screenshots
image

Desktop (please complete the following information):

  • Windows 10 6 bits
  • Steam installed with different libraries, with many games
  • Origin installed with many games

Windows Store distribution

Prepare everything required to make application deployable and distributed via Windows Store.

If this approach works fine, task #62 would not be need, also installers would be deprecated

WPF Linker Tab component

Linker functionality should allow the user to find games installed on platforms (ILinkFinder implementations), such as Microsoft Store, Origin or other installed platforms in the system, and create a link on another platform, allowing to start a game from platforms that not belongs to.

  • In the UI ,for the MVP:
    • Allow the user to select one single platform (ILinkAssigner: Steam in the MVP) to create the link
    • Allow the user to select multiple platform for searching games (ILinkFinder: Xbox and Origin in MVP)
    • Display results of the different ILinkFinder's on a list view
    • Allow the user to select multiple games for creating a link on then ILkinkAssigner selected
    • Display the assignation result in the UI
    • A loading must be shown while the system is loading results and also while is creating the link
    • Asynchronous and parallelization tasks must be performed
  • Not now, but future considerations:
    • Steam allows to add a badge image for having better UI link in Big Picture and classic views, we can add this information or even more in the future as an enhancement

Generic Cleaning method

ICleaner is currently a contract implemented in SteamBusiness

We can make it generic as far as it is only removing files and folder paths

¿Do we also think about making that implementation as a infrastructure one?

Task #32 is related

MultiSelect bug when select and item

Describe the bug
When you click a item instead of the check box the selected option mix with the default option

To Reproduce
Steps to reproduce the behavior:

  1. Start the app
  2. Go to Cleaner
  3. Select and option (don't click the check box)

Expected behavior
Option get selected or just check box state change to true.

Screenshots
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.