public static byte[] GetBytes(Data.CommonValues value) { List <byte[]> data = new List <byte[]>(); var bytes = CommonValues.Create(value).GetBytes(); data.Add(bytes.Count().GetBytes()); data.Add(bytes); return(data.ToArray().ToArray()); }
public static byte[] GetBytes(Data.CommonValues value, ExporterVersion version) { List <byte[]> data = new List <byte[]>(); var bytes = CommonValues.Create(value).GetBytes(); data.Add(bytes.Count().GetBytes()); data.Add(bytes); if (value.LocationEffectType == Data.TranslationParentEffectType.NotBind_FollowParent || value.LocationEffectType == Data.TranslationParentEffectType.WhenCreating_FollowParent) { data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Max.GetBytes()); data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Min.GetBytes()); data.Add(value.SteeringBehaviorParam.SteeringSpeed.Max.GetBytes()); data.Add(value.SteeringBehaviorParam.SteeringSpeed.Min.GetBytes()); } if (version >= ExporterVersion.Ver17Alpha1) { // Trigger's parameters int triggerFlags = ((value.TriggerParam.ToStartGeneration.Value != Data.TriggerType.None) ? (1 << 0) : 0) | ((value.TriggerParam.ToStopGeneration.Value != Data.TriggerType.None) ? (1 << 1) : 0) | ((value.TriggerParam.ToRemove.Value != Data.TriggerType.None) ? (1 << 2) : 0); data.Add(((byte)triggerFlags).GetBytes()); if (value.TriggerParam.ToStartGeneration.Value != Data.TriggerType.None) { data.Add(((ushort)value.TriggerParam.ToStartGeneration.GetValue()).GetBytes()); } if (value.TriggerParam.ToStopGeneration.Value != Data.TriggerType.None) { data.Add(((ushort)value.TriggerParam.ToStopGeneration.GetValue()).GetBytes()); } if (value.TriggerParam.ToRemove.Value != Data.TriggerType.None) { data.Add(((ushort)value.TriggerParam.ToRemove.GetValue()).GetBytes()); } } return(data.ToArray().ToArray()); }
public static byte[] GetBytes(Data.CommonValues value) { List <byte[]> data = new List <byte[]>(); var bytes = CommonValues.Create(value).GetBytes(); data.Add(bytes.Count().GetBytes()); data.Add(bytes); if (value.LocationEffectType == Data.TranslationParentEffectType.NotBind_FollowParent || value.LocationEffectType == Data.TranslationParentEffectType.WhenCreating_FollowParent) { data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Max.GetBytes()); data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Min.GetBytes()); data.Add(value.SteeringBehaviorParam.SteeringSpeed.Max.GetBytes()); data.Add(value.SteeringBehaviorParam.SteeringSpeed.Min.GetBytes()); } return(data.ToArray().ToArray()); }