Fixed game ordering, added ApplicationManager class that'll manage installing/repairing/removing games

This commit is contained in:
2021-11-14 19:52:27 -06:00
parent b7ccdb2ad3
commit 7fd38cd92d
9 changed files with 120 additions and 39 deletions

View File

@@ -9,6 +9,7 @@ class W3DHub
@games = []
games.each { |hash| @games << Game.new(hash) }
@games.sort_by! { |a| a.slot }.reverse
end
def games
@@ -16,11 +17,13 @@ class W3DHub
end
class Game
attr_reader :id, :name, :type, :category, :studio_id, :channels, :web_links, :color
attr_reader :slot, :id, :name, :type, :category, :studio_id, :channels, :web_links, :color
def initialize(hash)
@data = hash
@slot = slot_index(@data[:id])
@id = @data[:id]
@name = @data[:name]
@type = @data[:type]
@@ -37,6 +40,23 @@ class W3DHub
@color = "ff#{color}".to_i(16)
end
private def slot_index(app_id)
case app_id
when "ren"
1
when "ecw"
2
when "ia"
3
when "apb"
4
when "tsr"
5
else
-10
end
end
class Channel
attr_reader :id, :name, :user_level, :current_version