示例#1
0
        public void DeSerialize(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Vector3 localPosition = default(Vector3);

            localPosition.x = reader.ReadSingle();
            localPosition.y = reader.ReadSingle();
            localPosition.z = reader.ReadSingle();
            LocalPosition   = localPosition;

            Quaternion localRotation = default(Quaternion);

            localRotation.x = reader.ReadSingle();
            localRotation.y = reader.ReadSingle();
            localRotation.z = reader.ReadSingle();
            localRotation.w = reader.ReadSingle();
            LocalRotation   = localRotation;

            Vector3 localScale = default(Vector3);

            localScale.x = reader.ReadSingle();
            localScale.y = reader.ReadSingle();
            localScale.z = reader.ReadSingle();
            LocalScale   = localScale;

            AssetIndex = reader.ReadInt32();

            int renderInfoCount = reader.ReadInt32();

            if (renderInfoCount > 0)
            {
                RendererInfos = new RendererInfo[renderInfoCount];
                for (int iRender = 0; iRender < renderInfoCount; iRender++)
                {
                    RendererInfo rendererInfo = new RendererInfo();
                    rendererInfo.DeSerialize(reader);
                    RendererInfos[iRender] = rendererInfo;
                }
            }



            //正式不导出 只是为了测试
#if false
            Vector3 aabbCenter = default(Vector3);
            aabbCenter.x = reader.ReadSingle();
            aabbCenter.y = reader.ReadSingle();
            aabbCenter.z = reader.ReadSingle();

            Vector3 aabbSize = default(Vector3);
            aabbSize.x = reader.ReadSingle();
            aabbSize.y = reader.ReadSingle();
            aabbSize.z = reader.ReadSingle();

            _AABB = new Bounds(aabbCenter, aabbSize);
#endif
        }