Пример #1
0
            // Methods
            public unsafe void Read(GensReader reader, float *data, float scale = 1)
            {
                switch ((DataTypes)Type)
                {
                case DataTypes.Vector2:
                    *data   = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    break;

                case DataTypes.Vector2_Half:
                    *data   = reader.ReadHalf();
                    *++data = reader.ReadHalf();
                    break;

                case DataTypes.Vector3:
                    *data   = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    break;

                case DataTypes.Vector3_360:
                    // TODO: Read this properly
                    reader.ReadUInt32();
                    break;

                case DataTypes.Vector3_Forces:
                    // TODO: Read this properly
                    reader.ReadUInt32();
                    break;

                case DataTypes.Vector4:
                    *data   = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    *++data = reader.ReadSingle() * scale;
                    break;

                case DataTypes.Vector4_Byte:
                case DataTypes.Indices:
                    // TODO: Read this properly
                    reader.ReadUInt32();
                    break;

                case DataTypes.Indices_Byte:
                    // TODO: Read this properly
                    reader.ReadUInt32();
                    break;
                }
            }