diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-03-01 14:01:27 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2016-03-01 14:01:27 +0100 |
commit | c26f753ffe0e853bc248a76165935f169cb2dbbb (patch) | |
tree | fbb1ea115bd472306be53c02186ff0941961e0dd /core/variant.cpp | |
parent | a12c63ef9e6332d0003228e1d8d79a57ef3995fb (diff) | |
parent | 391ce81c5ea037ffcbc525434673f4edd55a7d7e (diff) |
Merge pull request #3757 from JoshuaGrams/animation-tree-blending
AnimationTreePlayer: blend value tracks (intended to close #2299)
Diffstat (limited to 'core/variant.cpp')
-rw-r--r-- | core/variant.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/variant.cpp b/core/variant.cpp index 3bd8d80528..1fdbc9f753 100644 --- a/core/variant.cpp +++ b/core/variant.cpp @@ -1116,6 +1116,21 @@ void Variant::reference(const Variant& p_variant) { } +void Variant::zero() { + switch(type) { + case NIL: break; + case BOOL: this->_data._bool = false; break; + case INT: this->_data._int = 0; break; + case REAL: this->_data._real = 0; break; + case VECTOR2: *reinterpret_cast<Vector2*>(this->_data._mem) = Vector2(); break; + case RECT2: *reinterpret_cast<Rect2*>(this->_data._mem) = Rect2(); break; + case VECTOR3: *reinterpret_cast<Vector3*>(this->_data._mem) = Vector3(); break; + case PLANE: *reinterpret_cast<Plane*>(this->_data._mem) = Plane(); break; + case QUAT: *reinterpret_cast<Quat*>(this->_data._mem) = Quat(); break; + case COLOR: *reinterpret_cast<Color*>(this->_data._mem) = Color(); break; + default: this->clear(); break; + } +} void Variant::clear() { switch(type) { |