Files
i-mic-rts/lib/setting.rb

52 lines
1.1 KiB
Ruby

class IMICRTS
class Setting
def self.file_path
"#{GAME_ROOT_PATH}/data/settings.json"
end
def self.setup
save_defaults unless File.exist?(Setting.file_path)
@store = JSON.parse(File.read(Setting.file_path), symbolize_names: true)
end
def self.save_defaults
hash = {
player_name: "Commander",
player_color: :orange,
player_team: 1,
player_position: "A",
player_default_map_spawn: 0,
default_map: "test_map",
skip_intro: false,
debug_mode: false,
debug_info_bar: false,
debug_pathfinding: false,
debug_pathfinding_allow_diagonal: true,
}
File.open(Setting.file_path, "w") {|f| f.write(JSON.dump(hash))}
end
def self.enabled?(key)
@store.dig(key)
end
def self.disabled?(key)
@store.dig(key)
end
def self.set(key, value)
@store[key]=value
end
def self.get(key)
@store.dig(key)
end
def self.save!
File.open(Setting.file_path, "w") { |f| f.write(JSON.dump(@store)) }
end
end
end