public static byte[] GetBytes(Data.RingShapeParameter value, ExporterVersion version) { List <byte[]> data = new List <byte[]>(); data.Add(BitConverter.GetBytes((int)value.Type.Value)); if (value.Type.Value == Data.RingShapeType.Donut) { } else if (value.Type.Value == Data.RingShapeType.Crescent) { data.Add(BitConverter.GetBytes(value.Crescent.StartingFade.Value)); data.Add(BitConverter.GetBytes(value.Crescent.EndingFade.Value)); data.Add(((int)value.Crescent.StartingAngle.Value).GetBytes()); if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Fixed) { data.Add(value.Crescent.StartingAngle_Fixed.Value.GetBytes()); } else if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Random) { data.Add(value.Crescent.StartingAngle_Random.Max.GetBytes()); data.Add(value.Crescent.StartingAngle_Random.Min.GetBytes()); } if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Easing) { Utils.ExportEasing(value.Crescent.StartingAngle_Easing, 1.0f, data, version, version >= ExporterVersion.Ver16Alpha9); } data.Add(((int)value.Crescent.EndingAngle.Value).GetBytes()); if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Fixed) { data.Add(value.Crescent.EndingAngle_Fixed.Value.GetBytes()); } else if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Random) { data.Add(value.Crescent.EndingAngle_Random.Max.GetBytes()); data.Add(value.Crescent.EndingAngle_Random.Min.GetBytes()); } if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Easing) { Utils.ExportEasing(value.Crescent.EndingAngle_Easing, 1.0f, data, version, version >= ExporterVersion.Ver16Alpha9); } } return(data.SelectMany(_ => _).ToArray()); }
public static byte[] GetBytes(Data.RingShapeParameter value) { List <byte[]> data = new List <byte[]>(); data.Add(BitConverter.GetBytes((int)value.Type.Value)); if (value.Type.Value == Data.RingShapeType.Donut) { } else if (value.Type.Value == Data.RingShapeType.Crescent) { data.Add(BitConverter.GetBytes(value.Crescent.StartingFade.Value)); data.Add(BitConverter.GetBytes(value.Crescent.EndingFade.Value)); data.Add(((int)value.Crescent.StartingAngle.Value).GetBytes()); if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Fixed) { data.Add(value.Crescent.StartingAngle_Fixed.Value.GetBytes()); } else if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Random) { data.Add(value.Crescent.StartingAngle_Random.Max.GetBytes()); data.Add(value.Crescent.StartingAngle_Random.Min.GetBytes()); } if (value.Crescent.StartingAngle.Value == Data.FixedRandomEasingType.Easing) { var easing = Utl.MathUtl.Easing( (float)value.Crescent.StartingAngle_Easing.StartSpeed.Value, (float)value.Crescent.StartingAngle_Easing.EndSpeed.Value); data.Add(value.Crescent.StartingAngle_Easing.Start.Max.GetBytes()); data.Add(value.Crescent.StartingAngle_Easing.Start.Min.GetBytes()); data.Add(value.Crescent.StartingAngle_Easing.End.Max.GetBytes()); data.Add(value.Crescent.StartingAngle_Easing.End.Min.GetBytes()); data.Add(BitConverter.GetBytes(easing[0])); data.Add(BitConverter.GetBytes(easing[1])); data.Add(BitConverter.GetBytes(easing[2])); } data.Add(((int)value.Crescent.EndingAngle.Value).GetBytes()); if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Fixed) { data.Add(value.Crescent.EndingAngle_Fixed.Value.GetBytes()); } else if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Random) { data.Add(value.Crescent.EndingAngle_Random.Max.GetBytes()); data.Add(value.Crescent.EndingAngle_Random.Min.GetBytes()); } if (value.Crescent.EndingAngle.Value == Data.FixedRandomEasingType.Easing) { var easing = Utl.MathUtl.Easing( (float)value.Crescent.EndingAngle_Easing.StartSpeed.Value, (float)value.Crescent.EndingAngle_Easing.EndSpeed.Value); data.Add(value.Crescent.EndingAngle_Easing.Start.Max.GetBytes()); data.Add(value.Crescent.EndingAngle_Easing.Start.Min.GetBytes()); data.Add(value.Crescent.EndingAngle_Easing.End.Max.GetBytes()); data.Add(value.Crescent.EndingAngle_Easing.End.Min.GetBytes()); data.Add(BitConverter.GetBytes(easing[0])); data.Add(BitConverter.GetBytes(easing[1])); data.Add(BitConverter.GetBytes(easing[2])); } } return(data.SelectMany(_ => _).ToArray()); }