From a5ec9d749bb2118edaec8f215145df1350a9e6e5 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Mon, 10 May 2021 22:54:52 +0200 Subject: [PATCH] Uint16 & Int16 Variant CanCast. --- Source/Engine/Core/Types/Variant.cpp | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Source/Engine/Core/Types/Variant.cpp b/Source/Engine/Core/Types/Variant.cpp index 06fd3a9f3..5ef66879d 100644 --- a/Source/Engine/Core/Types/Variant.cpp +++ b/Source/Engine/Core/Types/Variant.cpp @@ -2317,6 +2317,8 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) case VariantType::Bool: switch (to.Type) { + case VariantType::Int16: + case VariantType::Uint16: case VariantType::Int: case VariantType::Uint: case VariantType::Int64: @@ -2331,10 +2333,50 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) default: return false; } + case VariantType::Int16: + switch (to.Type) + { + case VariantType::Bool: + case VariantType::Int: + case VariantType::Int64: + case VariantType::Uint16: + case VariantType::Uint: + case VariantType::Uint64: + case VariantType::Float: + case VariantType::Double: + case VariantType::Vector2: + case VariantType::Vector3: + case VariantType::Vector4: + case VariantType::Color: + return true; + default: + return false; + } case VariantType::Int: switch (to.Type) { case VariantType::Bool: + case VariantType::Int16: + case VariantType::Int64: + case VariantType::Uint16: + case VariantType::Uint: + case VariantType::Uint64: + case VariantType::Float: + case VariantType::Double: + case VariantType::Vector2: + case VariantType::Vector3: + case VariantType::Vector4: + case VariantType::Color: + return true; + default: + return false; + } + case VariantType::Uint16: + switch (to.Type) + { + case VariantType::Bool: + case VariantType::Int16: + case VariantType::Int: case VariantType::Int64: case VariantType::Uint: case VariantType::Uint64: @@ -2352,7 +2394,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Uint16: case VariantType::Uint64: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: @@ -2369,7 +2413,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Int16: case VariantType::Int: + case VariantType::Uint16: case VariantType::Uint: case VariantType::Uint64: case VariantType::Float: @@ -2386,7 +2432,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Uint16: case VariantType::Uint: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: @@ -2403,7 +2451,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Int16: case VariantType::Int: + case VariantType::Uint16: case VariantType::Uint: case VariantType::Int64: case VariantType::Uint64: @@ -2420,8 +2470,10 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Int16: case VariantType::Int: case VariantType::Uint: + case VariantType::Uint16: case VariantType::Int64: case VariantType::Uint64: case VariantType::Float: @@ -2437,7 +2489,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Uint16: case VariantType::Uint: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: @@ -2454,6 +2508,7 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) { case VariantType::Bool: case VariantType::Uint: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: @@ -2469,7 +2524,9 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) switch (to.Type) { case VariantType::Bool: + case VariantType::Uint16: case VariantType::Uint: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: @@ -2486,6 +2543,7 @@ bool Variant::CanCast(const Variant& v, const VariantType& to) { case VariantType::Bool: case VariantType::Uint: + case VariantType::Int16: case VariantType::Int: case VariantType::Int64: case VariantType::Float: