/// <summary> /// Returns the raw bytes that make up this IMC entry. /// </summary> /// <returns></returns> public byte[] GetBytes(ImcType type) { var bytes = new List <byte>(); bytes.Add(MaterialSet); bytes.Add(Decal); bytes.AddRange(BitConverter.GetBytes(Mask)); bytes.Add(Vfx); bytes.Add(Animation); return(bytes.ToArray()); }
/// <summary> /// Returns the raw bytes that make up this IMC entry. /// </summary> /// <returns></returns> public byte[] GetBytes(ImcType type) { var bytes = new List <byte>(); bytes.AddRange(BitConverter.GetBytes(Variant)); bytes.AddRange(BitConverter.GetBytes(Mask)); if (type == ImcType.NonSet) { // Always 0 for non-set entries, their VFX number is the // same as their Material Variant #. bytes.AddRange(BitConverter.GetBytes(((ushort)0))); } else { // Actual VFX number. bytes.AddRange(BitConverter.GetBytes(Vfx)); } return(bytes.ToArray()); }