From d39e50ddcef14b7e6442a9ca161aebc96d208e67 Mon Sep 17 00:00:00 2001 From: Karroffel Date: Fri, 3 Mar 2017 01:07:14 +0100 Subject: [PATCH] Added NodePath.h --- include/godot/core/NodePath.h | 76 +++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 include/godot/core/NodePath.h diff --git a/include/godot/core/NodePath.h b/include/godot/core/NodePath.h new file mode 100644 index 0000000..d687cc9 --- /dev/null +++ b/include/godot/core/NodePath.h @@ -0,0 +1,76 @@ +#ifndef NODEPATH_H +#define NODEPATH_H + +#include + +#include + +namespace godot { + + +class NodePath +{ + godot_node_path _node_path; +public: + NodePath(const String &from) + { + godot_node_path_new(&_node_path, (godot_string *) &from); + } + + String get_name(const int idx) const + { + godot_string str = godot_node_path_get_name(&_node_path, idx); + + return *(String *) &str; + } + + int get_name_count() const + { + return godot_node_path_get_name_count(&_node_path); + } + + String get_property() const + { + godot_string str = godot_node_path_get_property(&_node_path); + return *(String *) &str; + } + + String get_subname(const int idx) const + { + godot_string str = godot_node_path_get_subname(&_node_path, idx); + return *(String *) &str; + } + + int get_subname_count() const + { + return godot_node_path_get_subname_count(&_node_path); + } + + bool is_absolute() const + { + return godot_node_path_is_absolute(&_node_path); + } + + bool is_empty() const + { + return godot_node_path_is_empty(&_node_path); + } + + operator String() const + { + godot_string str = godot_node_path_as_string(&_node_path); + + return *(String *) &str; + } + + ~NodePath() + { + godot_node_path_destroy(&_node_path); + } +}; + + + +} + +#endif // NODEPATH_H