From 8d710708939be068739fc67a0751656020fd1452 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Thu, 24 Oct 2019 22:21:31 -0500 Subject: [PATCH] Added files --- .gitignore | 1 + lib/setting.rb | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 .gitignore create mode 100644 lib/setting.rb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb1d15f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +data/settings.json \ No newline at end of file diff --git a/lib/setting.rb b/lib/setting.rb new file mode 100644 index 0000000..c3a60db --- /dev/null +++ b/lib/setting.rb @@ -0,0 +1,49 @@ +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: "Rookie", + 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 \ No newline at end of file