/// <summary> /// 从字节数组里读取 Vector2 /// </summary> /// <param name="buffer"> 字节数组 </param> /// <param name="offset"> 从字节数组里开始读取的下标, 操作完成后增加 8 </param> /// <returns> 读取的 Vector2 值 </returns> public static Vector2 ReadVector2(IList<byte> buffer, ref int offset) { var value = new Vector2(); Union8 union = new Union8(); union.ReadFloat(buffer, ref offset); value.x = union.floatValue; union.ReadFloat(buffer, ref offset); value.y = union.floatValue; return value; }
/// <summary> /// 从字节数组里读取 Color /// </summary> /// <param name="buffer"> 字节数组 </param> /// <param name="offset"> 从字节数组里开始读取的下标, 操作完成后增加 16 </param> /// <returns> 读取的 Color 值 </returns> public static Color ReadColor(IList<byte> buffer, ref int offset) { var value = new Color(); Union8 union = new Union8(); union.ReadFloat(buffer, ref offset); value.r = union.floatValue; union.ReadFloat(buffer, ref offset); value.g = union.floatValue; union.ReadFloat(buffer, ref offset); value.b = union.floatValue; union.ReadFloat(buffer, ref offset); value.a = union.floatValue; return value; }
/// <summary> /// 从字节数组里读取 Rect /// </summary> /// <param name="buffer"> 字节数组 </param> /// <param name="offset"> 从字节数组里开始读取的下标, 操作完成后增加 16 </param> /// <returns> 读取的 Rect 值 </returns> public static Rect ReadRect(IList<byte> buffer, ref int offset) { var value = new Rect(); Union8 union = new Union8(); union.ReadFloat(buffer, ref offset); value.x = union.floatValue; union.ReadFloat(buffer, ref offset); value.y = union.floatValue; union.ReadFloat(buffer, ref offset); value.width = union.floatValue; union.ReadFloat(buffer, ref offset); value.height = union.floatValue; return value; }
/// <summary> /// 从字节数组里读取 Quaternion /// </summary> /// <param name="buffer"> 字节数组 </param> /// <param name="offset"> 从字节数组里开始读取的下标, 操作完成后增加 16 </param> /// <returns> 读取的 Quaternion 值 </returns> public static Quaternion ReadQuaternion(IList<byte> buffer, ref int offset) { var value = new Quaternion(); Union8 union = new Union8(); union.ReadFloat(buffer, ref offset); value.x = union.floatValue; union.ReadFloat(buffer, ref offset); value.y = union.floatValue; union.ReadFloat(buffer, ref offset); value.z = union.floatValue; union.ReadFloat(buffer, ref offset); value.w = union.floatValue; return value; }
/// <summary> /// 从字节数组里读取 Bounds /// </summary> /// <param name="buffer"> 字节数组 </param> /// <param name="offset"> 从字节数组里开始读取的下标, 操作完成后增加 24 </param> /// <returns> 读取的 Bounds 值 </returns> public static Bounds ReadBounds(IList<byte> buffer, ref int offset) { Union8 union = new Union8(); var center = new Vector3(); union.ReadFloat(buffer, ref offset); center.x = union.floatValue; union.ReadFloat(buffer, ref offset); center.y = union.floatValue; union.ReadFloat(buffer, ref offset); center.z = union.floatValue; var size = new Vector3(); union.ReadFloat(buffer, ref offset); size.x = union.floatValue; union.ReadFloat(buffer, ref offset); size.y = union.floatValue; union.ReadFloat(buffer, ref offset); size.z = union.floatValue; return new Bounds(center, size); }