summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authormarynate <mary.w.nate@gmail.com>2014-05-25 11:34:51 +0800
committermarynate <mary.w.nate@gmail.com>2014-05-25 14:50:54 +0800
commite6c1689b69e9e0ec530902b550c9e1e2d1cd0aae (patch)
treeec9350bef9fc1c0bf6bedd73cc5768115dd6efec /core
parent71355aaab7eca64bec694918c6b911a412ad17f0 (diff)
Add DirAccess:dir_exist api
Diffstat (limited to 'core')
-rw-r--r--core/bind/core_bind.cpp5
-rw-r--r--core/bind/core_bind.h1
-rw-r--r--core/io/file_access_pack.cpp5
-rw-r--r--core/io/file_access_pack.h1
-rw-r--r--core/os/dir_access.h2
5 files changed, 13 insertions, 1 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 960cdbac20..73b8c01ee2 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -1347,6 +1347,10 @@ bool _Directory::file_exists(String p_file){
return d->file_exists(p_file);
}
+bool _Directory::dir_exists(String p_dir) {
+ ERR_FAIL_COND_V(!d,false);
+ return d->dir_exists(p_dir);
+}
int _Directory::get_space_left(){
@@ -1386,6 +1390,7 @@ void _Directory::_bind_methods() {
ObjectTypeDB::bind_method(_MD("make_dir:Error","name"),&_Directory::make_dir);
ObjectTypeDB::bind_method(_MD("make_dir_recursive:Error","name"),&_Directory::make_dir_recursive);
ObjectTypeDB::bind_method(_MD("file_exists","name"),&_Directory::file_exists);
+ ObjectTypeDB::bind_method(_MD("dir_exists","name"),&_Directory::dir_exists);
// ObjectTypeDB::bind_method(_MD("get_modified_time","file"),&_Directory::get_modified_time);
ObjectTypeDB::bind_method(_MD("get_space_left"),&_Directory::get_space_left);
ObjectTypeDB::bind_method(_MD("copy:Error","from","to"),&_Directory::copy);
diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h
index bb68bbaad8..02fe3e8874 100644
--- a/core/bind/core_bind.h
+++ b/core/bind/core_bind.h
@@ -350,6 +350,7 @@ public:
Error make_dir_recursive(String p_dir);
bool file_exists(String p_file);
+ bool dir_exists(String p_dir);
int get_space_left();
diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp
index 6a28fa9dae..e2cb300ebc 100644
--- a/core/io/file_access_pack.cpp
+++ b/core/io/file_access_pack.cpp
@@ -443,6 +443,11 @@ bool DirAccessPack::file_exists(String p_file){
return current->files.has(p_file);
}
+bool DirAccessPack::dir_exists(String p_dir) {
+
+ return current->subdirs.has(p_dir);
+}
+
Error DirAccessPack::make_dir(String p_dir){
return ERR_UNAVAILABLE;
diff --git a/core/io/file_access_pack.h b/core/io/file_access_pack.h
index 07ce8cbaf8..a4c750bf3c 100644
--- a/core/io/file_access_pack.h
+++ b/core/io/file_access_pack.h
@@ -190,6 +190,7 @@ public:
virtual bool file_exists(String p_file);
+ virtual bool dir_exists(String p_dir);
virtual Error make_dir(String p_dir);
diff --git a/core/os/dir_access.h b/core/os/dir_access.h
index 58a925465a..d8672218bd 100644
--- a/core/os/dir_access.h
+++ b/core/os/dir_access.h
@@ -91,7 +91,7 @@ public:
virtual Error erase_contents_recursive(); //super dangerous, use with care!
virtual bool file_exists(String p_file)=0;
-
+ virtual bool dir_exists(String p_dir)=0;
virtual size_t get_space_left()=0;