internal override void Write(ResourceWriter writer) { writer.WriteInt16(( short )TargetKind); writer.WriteInt32(TargetId); writer.WriteStringWithHash(Version, TargetName, true); writer.WriteResourceList(Layers); }
protected override void WriteCore(ResourceWriter writer) { writer.WriteStringWithHash(Version, Name); writer.WriteInt32(Field44); writer.WriteByte(Field48); writer.WriteByte(Field49); writer.WriteByte(Field4A); writer.WriteByte(Field4B); writer.WriteSingle(Field4C); writer.WriteSingle(Field50); writer.WriteSingle(Field54); writer.WriteSingle(Field58); writer.WriteSingle(Field5C); writer.WriteSingle(Field60); writer.WriteSingle(Field64); writer.WriteSingle(Field68); writer.WriteSingle(Field6C); writer.WriteSingle(Field70); writer.WriteSingle(Field74); writer.WriteSingle(Field78); writer.WriteSingle(Field7C); writer.WriteSingle(Field80); writer.WriteSingle(Field84); writer.WriteSingle(Field88); }
internal override void Write(ResourceWriter writer) { writer.WriteInt32(TargetCount); foreach (int t in TargetInts) { writer.WriteInt32(t); } writer.WriteStringWithHash(Version, MaterialName); }
protected override void WriteCore(ResourceWriter writer) { writer.WriteInt32(TargetCount); foreach (int t in TargetInts) { writer.WriteInt32(t); } writer.WriteStringWithHash(Version, NodeName); }
internal override void Write(ResourceWriter writer) { writer.WriteInt32(Field140); writer.WriteSingle(Field13C); writer.WriteSingle(Field138); writer.WriteSingle(Field134); writer.WriteSingle(Field130); writer.WriteInt32(Entry1List.Count); writer.WriteInt32(Entry2List.Count); writer.WriteInt32(Entry3List.Count); foreach (var entry in Entry1List) { writer.WriteSingle(entry.Field34); writer.WriteSingle(entry.Field38); if (Version > 0x1104120) { writer.WriteSingle(entry.Field3C); writer.WriteSingle(entry.Field40); } if (entry.NodeName != null) { writer.WriteBoolean(true); writer.WriteStringWithHash(Version, entry.NodeName); } else { writer.WriteBoolean(false); writer.WriteSingle(entry.Field10); writer.WriteSingle(entry.Field08); writer.WriteSingle(entry.Field04); } } foreach (var entry in Entry2List) { writer.WriteInt16(entry.Field94); if (entry.Field94 == 0) { writer.WriteSingle(entry.Field84); } else if (entry.Field94 == 1) { writer.WriteSingle(entry.Field84); writer.WriteSingle(entry.Field88); } writer.WriteMatrix4x4(entry.Field8C); if (entry.NodeName != null) { writer.WriteBoolean(true); writer.WriteStringWithHash(Version, entry.NodeName); } else { writer.WriteBoolean(false); } } foreach (var entry in Entry3List) { writer.WriteSingle(entry.Field00); writer.WriteSingle(entry.Field04); if (Version <= 0x1104120) { writer.WriteInt16(entry.Field0C); writer.WriteInt16(entry.Field0E); } else { writer.WriteSingle(entry.Field08); writer.WriteInt16(entry.Field0C); writer.WriteInt16(entry.Field0E); } } }
protected override void WriteCore(ResourceWriter writer) { writer.WriteInt32(Count); foreach (var property in Values) { writer.WriteInt32(( int )property.ValueType); writer.WriteStringWithHash(Version, property.Name); switch (property.ValueType) { case UserPropertyValueType.Int: writer.WriteInt32(4); writer.WriteInt32(property.GetValue <int>()); break; case UserPropertyValueType.Float: writer.WriteInt32(4); writer.WriteSingle(property.GetValue <float>()); break; case UserPropertyValueType.Bool: writer.WriteInt32(1); writer.WriteBoolean(property.GetValue <bool>()); break; case UserPropertyValueType.String: { var value = property.GetValue <string>(); writer.WriteInt32(value.Length + 1); writer.WriteStringRaw(value); } break; case UserPropertyValueType.ByteVector3: writer.WriteInt32(3); writer.WriteByteVector3(property.GetValue <ByteVector3>()); break; case UserPropertyValueType.ByteVector4: writer.WriteInt32(4); writer.WriteByteVector4(property.GetValue <ByteVector4>()); break; case UserPropertyValueType.Vector3: writer.WriteInt32(12); writer.WriteVector3(property.GetValue <Vector3>()); break; case UserPropertyValueType.Vector4: writer.WriteInt32(16); writer.WriteVector4(property.GetValue <Vector4>()); break; case UserPropertyValueType.ByteArray: { var value = property.GetValue <byte[]>(); writer.WriteInt32(value.Length); writer.WriteBytes(value); } break; default: throw new InvalidOperationException($"Unknown node property type: {property.ValueType}"); } } }