mirror of
https://github.com/cyberarm/i-mic-rts.git
synced 2025-12-13 06:52:33 +00:00
52 lines
1.1 KiB
Ruby
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 |