浏览代码

Merge pull request #3189 from neikeq/cfg_getval_default

Added default value param to ConfigFile.get_value()
Rémi Verschelde 9 年之前
父节点
当前提交
2cc2524329
共有 2 个文件被更改,包括 5 次插入5 次删除
  1. 4 4
      core/io/config_file.cpp
  2. 1 1
      core/io/config_file.h

+ 4 - 4
core/io/config_file.cpp

@@ -84,10 +84,10 @@ void ConfigFile::set_value(const String& p_section, const String& p_key, const V
 	}
 
 }
-Variant ConfigFile::get_value(const String& p_section, const String& p_key) const{
+Variant ConfigFile::get_value(const String& p_section, const String& p_key, Variant p_default) const {
 
-	ERR_FAIL_COND_V(!values.has(p_section),Variant());
-	ERR_FAIL_COND_V(!values[p_section].has(p_key),Variant());
+	ERR_FAIL_COND_V(!values.has(p_section),p_default);
+	ERR_FAIL_COND_V(!values[p_section].has(p_key),p_default);
 	return values[p_section][p_key];
 
 }
@@ -199,7 +199,7 @@ Error ConfigFile::load(const String& p_path) {
 void ConfigFile::_bind_methods(){
 
 	ObjectTypeDB::bind_method(_MD("set_value","section","key","value"),&ConfigFile::set_value);
-	ObjectTypeDB::bind_method(_MD("get_value","section","key"),&ConfigFile::get_value);
+	ObjectTypeDB::bind_method(_MD("get_value","section","key","default"),&ConfigFile::get_value,DEFVAL(Variant()));
 
 	ObjectTypeDB::bind_method(_MD("has_section","section"),&ConfigFile::has_section);
 	ObjectTypeDB::bind_method(_MD("has_section_key","section","key"),&ConfigFile::has_section_key);

+ 1 - 1
core/io/config_file.h

@@ -46,7 +46,7 @@ protected:
 public:
 
 	void set_value(const String& p_section, const String& p_key, const Variant& p_value);
-	Variant get_value(const String& p_section, const String& p_key) const;
+	Variant get_value(const String& p_section, const String& p_key, Variant p_default=Variant()) const;
 
 	bool has_section(const String& p_section) const;
 	bool has_section_key(const String& p_section,const String& p_key) const;