From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- Runtime/mecanim/generic/typetraits.h | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Runtime/mecanim/generic/typetraits.h (limited to 'Runtime/mecanim/generic/typetraits.h') diff --git a/Runtime/mecanim/generic/typetraits.h b/Runtime/mecanim/generic/typetraits.h new file mode 100644 index 0000000..1f9aa25 --- /dev/null +++ b/Runtime/mecanim/generic/typetraits.h @@ -0,0 +1,47 @@ +#pragma once + +#include "Runtime/mecanim/types.h" +#include "Runtime/Math/Simd/float4.h" +#include "Runtime/Math/Simd/xform.h" +#include "Runtime/Math/Simd/bool4.h" + +namespace mecanim +{ + enum ValueType + { + kFloatType = 1, + kInt32Type = 3, + kBoolType = 4, + kPositionType = 6, + kQuaternionType = 7, + kScaleType = 8, + kTriggerType = 9, + kLastType + }; + + template struct traits; + + template<> struct traits + { + typedef int32_t value_type; + + static value_type zero() { return 0; } + static ValueType type() { return kInt32Type; } + }; + + template<> struct traits + { + typedef float value_type; + + static value_type zero() { return 0.f; } + static ValueType type() { return kFloatType; } + }; + + template<> struct traits + { + typedef bool value_type; + + static value_type zero() { return false; } + static ValueType type() { return kBoolType; } + }; +} -- cgit v1.1-26-g67d0