internal override void Write(ResourceWriter writer)
 {
     writer.WriteInt16(( short )TargetKind);
     writer.WriteInt32(TargetId);
     writer.WriteStringWithHash(Version, TargetName, true);
     writer.WriteResourceList(Layers);
 }
Exemple #2
0
 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);
 }
Exemple #3
0
        internal override void Write(ResourceWriter writer)
        {
            writer.WriteInt32(TargetCount);

            foreach (int t in TargetInts)
            {
                writer.WriteInt32(t);
            }

            writer.WriteStringWithHash(Version, MaterialName);
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #6
0
        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}");
                }
            }
        }