/// <summary> /// Override to write part details. /// </summary> /// <param name="packet">Packet buffer to write to.</param> /// <returns>true on success.</returns> public override bool WriteCreate(PacketBuffer packet) { if (!base.WriteCreate(packet)) { return(false); } packet.WriteBytes(BitConverter.GetBytes((ushort)_parts.Count), true); ObjectAttributes partAttributes = new ObjectAttributes(); for (int i = 0; i < _parts.Count; ++i) { MeshResource part = _parts[i]; Matrix4 transform = _transforms[i]; partAttributes.SetFromTransform(transform); partAttributes.Color = 0xffffffffu; packet.WriteBytes(BitConverter.GetBytes((uint)part.ID), true); partAttributes.Write(packet); } return(true); }
public override void Write(XdrDataWriter writer) { writer.Write((int)Status); ObjectAttributes.Write(writer); if (Status == Nfs3Status.Ok) { writer.Write(LinkMax); writer.Write(NameMax); writer.Write(NoTrunc); writer.Write(ChownRestricted); writer.Write(CaseInsensitive); writer.Write(CasePreserving); } }
public override void Write(XdrDataWriter writer) { writer.Write((int)this.Status); if (Status == Nfs3Status.Ok) { ObjectHandle.Write(writer); writer.Write(ObjectAttributes != null); if (ObjectAttributes != null) { ObjectAttributes.Write(writer); } } writer.Write(DirAttributes != null); if (DirAttributes != null) { DirAttributes.Write(writer); } }
/// <summary> /// Override to write part details. /// </summary> /// <param name="packet">Packet buffer to write to.</param> /// <returns>true on success.</returns> public override bool WriteCreate(PacketBuffer packet) { if (!base.WriteCreate(packet)) { return(false); } packet.WriteBytes(BitConverter.GetBytes((ushort)_parts.Count), true); ObjectAttributes partAttributes = new ObjectAttributes(); for (int i = 0; i < _parts.Count; ++i) { uint partId = (_parts[i].Resource != null) ? (uint)_parts[i].Resource.ID : 0; partAttributes.SetFromTransform(_parts[i].Transform); partAttributes.Color = _parts[i].Colour.Value; packet.WriteBytes(BitConverter.GetBytes(partId), true); partAttributes.Write(packet); } return(true); }