Class: Osu::DB::ScoreDB
- Inherits:
-
Object
- Object
- Osu::DB::ScoreDB
- Includes:
- Enumerable
- Defined in:
- lib/osu-db/scoredb.rb
Constant Summary collapse
- @@game_mode_score =
{ :osu! => OsuScore, :Taiko => TaikoScore, :CatchTheBeat => CTBScore, :'osu!mania' => ManiaScore }
Instance Attribute Summary collapse
-
#scores ⇒ Object
readonly
Returns the value of attribute scores.
Instance Method Summary collapse
Instance Attribute Details
#scores ⇒ Object (readonly)
Returns the value of attribute scores.
16 17 18 |
# File 'lib/osu-db/scoredb.rb', line 16 def scores @scores end |
Instance Method Details
#each ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/osu-db/scoredb.rb', line 18 def each scores.each do |_, v| v.each do |score| yield score end end end |
#load(str) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/osu-db/scoredb.rb', line 26 def load(str) ios = StringIO.new(str, "rb") @scores = Hash.new{[]} ios.read_version n = ios.read_int(4) n.times do beatmapcode = ios.read_str m = ios.read_int(4) m.times do game_mode = GameMode[ios.read_int 1] if game_mode && @@game_mode_score[game_mode] score = @@game_mode_score[game_mode].new(game_mode, ios) else score = Score.new(game_mode, ios) end @scores[beatmapcode] <<= score end end end |