Exemplo n.º 1
0
        internal void WriteTo(BinaryWriter writer, W3dShaderMaterialPropertyType propertyType)
        {
            switch (propertyType)
            {
            case W3dShaderMaterialPropertyType.Float:
                writer.Write(Float);
                break;

            case W3dShaderMaterialPropertyType.Vector2:
                writer.Write(Vector2);
                break;

            case W3dShaderMaterialPropertyType.Vector3:
                writer.Write(Vector3);
                break;

            case W3dShaderMaterialPropertyType.Vector4:
                writer.Write(Vector4);
                break;

            case W3dShaderMaterialPropertyType.Int:
                writer.Write(Int);
                break;

            case W3dShaderMaterialPropertyType.Bool:
                writer.Write(Bool);
                break;

            default:
                throw new InvalidDataException();
            }
        }
Exemplo n.º 2
0
        internal static W3dShaderMaterialPropertyValue Parse(BinaryReader reader, W3dShaderMaterialPropertyType propertyType)
        {
            switch (propertyType)
            {
            case W3dShaderMaterialPropertyType.Float:
                return(new W3dShaderMaterialPropertyValue
                {
                    Float = reader.ReadSingle()
                });

            case W3dShaderMaterialPropertyType.Vector2:
                return(new W3dShaderMaterialPropertyValue
                {
                    Vector2 = reader.ReadVector2()
                });

            case W3dShaderMaterialPropertyType.Vector3:
                return(new W3dShaderMaterialPropertyValue
                {
                    Vector3 = reader.ReadVector3()
                });

            case W3dShaderMaterialPropertyType.Vector4:
                return(new W3dShaderMaterialPropertyValue
                {
                    Vector4 = reader.ReadVector4()
                });

            case W3dShaderMaterialPropertyType.Int:
                return(new W3dShaderMaterialPropertyValue
                {
                    Int = reader.ReadInt32()
                });

            case W3dShaderMaterialPropertyType.Bool:
                return(new W3dShaderMaterialPropertyValue
                {
                    Bool = reader.ReadBooleanChecked()
                });

            default:
                throw new InvalidDataException();
            }
        }