Exemple #1
0
		/// <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;
		}
Exemple #2
0
		/// <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;
		}
Exemple #3
0
		/// <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;
		}
Exemple #4
0
		/// <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;
		}
Exemple #5
0
		/// <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);
		}