예제 #1
0
        public override void Parse(AssetsReader reader)
        {
            base.ParseBase(reader);
            IsEnabled            = reader.ReadBoolean();
            CastShadows          = reader.ReadByte();
            ReceiveShadows       = reader.ReadByte();
            DynamicOcclude       = reader.ReadByte();
            MotionVectors        = reader.ReadByte();
            LightProbeUsage      = reader.ReadByte();
            ReflectionProbeUsage = reader.ReadByte();
            reader.AlignTo(4);
            RenderingLayerMask = reader.ReadUInt32();
            if (ObjectInfo.ParentFile.Metadata.VersionGte("2018.3"))
            {
                RendererPriority = reader.ReadInt32();
            }
            LightmapIndex               = reader.ReadUInt16();
            LightmapIndexDynamic        = reader.ReadUInt16();
            LightmapTilingOffset        = new Vector4F(reader);
            LightmapTilingOffsetDynamic = new Vector4F(reader);
            Materials       = reader.ReadArrayOf(r => (ISmartPtr <MaterialObject>)SmartPtr <MaterialObject> .Read(ObjectInfo.ParentFile, this, r));
            StaticBatchInfo = new StaticBatchInfo(reader);
            StaticBatchRoot = SmartPtr <Transform> .Read(ObjectInfo.ParentFile, this, reader);

            ProbeAnchor = SmartPtr <Transform> .Read(ObjectInfo.ParentFile, this, reader);

            LightProbeVolumeOverride = SmartPtr <GameObject> .Read(ObjectInfo.ParentFile, this, reader);

            SortingLayerID          = reader.ReadInt32();
            SortingLayer            = reader.ReadInt16();
            SortingOrder            = reader.ReadInt16();
            AdditionalVertexStreams = SmartPtr <MeshObject> .Read(ObjectInfo.ParentFile, this, reader);
        }
예제 #2
0
        protected void ParseDetails(AssetsReader reader)
        {
            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                Components.Add(SmartPtr <AssetsObject> .Read(ObjectInfo.ParentFile, this, reader));
            }
            Layer    = reader.ReadUInt32();
            Name     = reader.ReadString();
            Tag      = reader.ReadUInt16();
            IsActive = reader.ReadBoolean();
        }
예제 #3
0
        public override void Parse(AssetsReader reader)
        {
            base.ParseBase(reader);
            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                Components.Add(SmartPtr <AssetsObject> .Read(ObjectInfo.ParentFile, this, reader));
            }
            Layer    = reader.ReadUInt32();
            Name     = reader.ReadString();
            Tag      = reader.ReadUInt16();
            IsActive = reader.ReadBoolean();
        }
예제 #4
0
 public void Parse(AssetsReader reader)
 {
     FirstSubMesh = reader.ReadUInt16();
     SubMeshCount = reader.ReadUInt16();
 }