diff options
author | Karroffel <therzog@mail.de> | 2017-05-12 21:53:07 +0200 |
---|---|---|
committer | Karroffel <therzog@mail.de> | 2017-05-12 21:53:07 +0200 |
commit | cf30b0f39ddb2c6acad5d22655c4bca9015d7502 (patch) | |
tree | 45a4df6ff16450b334d6c8856a74f4f47f3e9336 /src/core/Dictionary.cpp | |
parent | 3969bcf07857b1a4af391bbddb924388cc7f44bb (diff) | |
download | redot-cpp-cf30b0f39ddb2c6acad5d22655c4bca9015d7502.tar.gz |
rewrote binding generator in python
Diffstat (limited to 'src/core/Dictionary.cpp')
-rw-r--r-- | src/core/Dictionary.cpp | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/core/Dictionary.cpp b/src/core/Dictionary.cpp new file mode 100644 index 0000000..7ac6312 --- /dev/null +++ b/src/core/Dictionary.cpp @@ -0,0 +1,91 @@ +#include "Dictionary.hpp" + +#include "Variant.hpp" + +#include "Array.hpp" + +#include <godot/godot_dictionary.h> + +namespace godot { + +Dictionary::Dictionary() +{ + godot_dictionary_new(&_godot_dictionary); +} + +void Dictionary::clear() +{ + godot_dictionary_clear(&_godot_dictionary); +} + +bool Dictionary::empty() const +{ + return godot_dictionary_empty(&_godot_dictionary); +} + +void Dictionary::erase(const Variant& key) +{ + godot_dictionary_erase(&_godot_dictionary, (godot_variant *) &key); +} + +bool Dictionary::has(const Variant& key) const +{ + return godot_dictionary_has(&_godot_dictionary, (godot_variant *) &key); +} + +bool Dictionary::has_all(const Array& keys) const +{ + return godot_dictionary_has_all(&_godot_dictionary, (godot_array *) &keys); +} + +uint32_t Dictionary::hash() const +{ + return godot_dictionary_hash(&_godot_dictionary); +} + +Array Dictionary::keys() const +{ + godot_array a = godot_dictionary_keys(&_godot_dictionary); + return *(Array *) &a; +} + +int Dictionary::parse_json(const String& json) +{ + return godot_dictionary_parse_json(&_godot_dictionary, (godot_string *) &json); +} + +Variant &Dictionary::operator [](const Variant& key) +{ + return *(Variant *) godot_dictionary_operator_index(&_godot_dictionary, (godot_variant *) &key); +} + +const Variant &Dictionary::operator [](const Variant& key) const +{ + // oops I did it again + return *(Variant *) godot_dictionary_operator_index((godot_dictionary *) &_godot_dictionary, (godot_variant *) &key); +} + +int Dictionary::size() const +{ + return godot_dictionary_size(&_godot_dictionary); +} + +String Dictionary::to_json() const +{ + godot_string s = godot_dictionary_to_json(&_godot_dictionary); + return *(String *) &s; +} + +Array Dictionary::values() const +{ + godot_array a = godot_dictionary_values(&_godot_dictionary); + return *(Array *) &a; +} + +Dictionary::~Dictionary() +{ + godot_dictionary_destroy(&_godot_dictionary); +} + + +} |