public override string ToString()
{
switch (this.type)
{
case DataType.DT_ScratchBuffer:
// ScratchBuffer is a special case, as its stored as byte[] and ToString() doesn't really do what we want
return Convert.ToBase64String((byte[])this.value);
case DataType.DT_IVec2:
case DataType.DT_IVec3:
case DataType.DT_IVec4:
return String.Join(" ", new List<int>((int[])this.value).ConvertAll(i => i.ToString()).ToArray());
case DataType.DT_Vec2:
case DataType.DT_Vec3:
case DataType.DT_Vec4:
return String.Join(" ", new List<float>((float[])this.value).ConvertAll(i => i.ToString()).ToArray());
default:
return this.value.ToString();
}
}