protected override void Write(Stream output, DataFormats.Ranged <float> value, Endian endian, long ownerOffset) { throw new NotImplementedException(); }
private static object ParseProperty(XPathNavigator nav, object parent) { var type = nav.ParseAttributeString("type"); object value; switch (type) { case "Float32": { value = nav.ParseValueFloat32(); break; } case "Int8": { value = nav.ParseValueInt8(); break; } case "Int16": { value = nav.ParseValueInt16(); break; } case "Int32": { value = nav.ParseValueInt32(); break; } case "Int64": { value = nav.ParseValueInt64(); break; } case "UInt8": { value = nav.ParseValueUInt8(); break; } case "UInt16": { value = nav.ParseValueUInt16(); break; } case "UInt32": { value = nav.ParseValueUInt32(); break; } case "UInt64": { value = nav.ParseValueUInt64(); break; } case "Boolean": { value = nav.ParseValueBoolean(); break; } case "String": { value = nav.Value; break; } case "Symbol": { value = nav.ParseValueSymbol(); break; } case "SymbolUC": { value = nav.ParseValueSymbolUpperCase(); break; } case "WwiseID": { value = nav.ParseValueWwiseId(); break; } case "Vector2": { var x = nav.ParseAttributeFloat32("x"); var y = nav.ParseAttributeFloat32("y"); value = new DataFormats.Vector2(x, y); break; } case "Vector3": { var x = nav.ParseAttributeFloat32("x"); var y = nav.ParseAttributeFloat32("y"); var z = nav.ParseAttributeFloat32("z"); value = new DataFormats.Vector3(x, y, z); break; } case "Vector4": { var x = nav.ParseAttributeFloat32("x"); var y = nav.ParseAttributeFloat32("y"); var z = nav.ParseAttributeFloat32("z"); var w = nav.ParseAttributeFloat32("w"); value = new DataFormats.Vector4(x, y, z, w); break; } case "TransQuat": { var tx = nav.ParseAttributeFloat32("tx"); var ty = nav.ParseAttributeFloat32("ty"); var tz = nav.ParseAttributeFloat32("tz"); var rx = nav.ParseAttributeFloat32("rx"); var ry = nav.ParseAttributeFloat32("ry"); var rz = nav.ParseAttributeFloat32("rz"); var rw = nav.ParseAttributeFloat32("rw"); var transform = new DataFormats.Vector3(tx, ty, tz); var rotation = new DataFormats.Quaternion(rx, ry, rz, rw); value = new DataFormats.TransQuaternion(rotation, transform); break; } case "Matrix44": { var v0 = nav.SelectSingleNode("V0"); var v0X = v0.ParseAttributeFloat32("x"); var v0Y = v0.ParseAttributeFloat32("y"); var v0Z = v0.ParseAttributeFloat32("z"); var v0W = v0.ParseAttributeFloat32("w"); var v1 = nav.SelectSingleNode("V1"); var v1X = v1.ParseAttributeFloat32("x"); var v1Y = v1.ParseAttributeFloat32("y"); var v1Z = v1.ParseAttributeFloat32("z"); var v1W = v1.ParseAttributeFloat32("w"); var v2 = nav.SelectSingleNode("V2"); var v2X = v2.ParseAttributeFloat32("x"); var v2Y = v2.ParseAttributeFloat32("y"); var v2Z = v2.ParseAttributeFloat32("z"); var v2W = v2.ParseAttributeFloat32("w"); var v3 = nav.SelectSingleNode("V3"); var v3X = v3.ParseAttributeFloat32("x"); var v3Y = v3.ParseAttributeFloat32("y"); var v3Z = v3.ParseAttributeFloat32("z"); var v3W = v3.ParseAttributeFloat32("w"); value = new DataFormats.Matrix44( new DataFormats.Vector4(v0X, v0Y, v0Z, v0W), new DataFormats.Vector4(v1X, v1Y, v1Z, v1W), new DataFormats.Vector4(v2X, v2Y, v2Z, v2W), new DataFormats.Vector4(v3X, v3Y, v3Z, v3W)); break; } case "Int32Ranged": { var range = nav.ParseAttributeInt32("range"); var dummy = nav.ParseValueInt32(); value = new DataFormats.Ranged <int>(range, dummy); break; } case "WeightedListProperty": { throw new NotSupportedException(); } case "Float32Ranged": { var range = nav.ParseAttributeFloat32("range"); var dummy = nav.ParseValueFloat32(); value = new DataFormats.Ranged <float>(range, dummy); break; } case "List": { value = ReadPropertyList(nav, parent); break; } case "PropSet": { value = ReadPropertySet(nav, parent); break; } default: { throw new NotImplementedException(); } } return(value); }
protected override void Write(Stream output, DataFormats.Ranged <int> value, Endian endian, long ownerOffset) { output.WriteValueS32(value.Range, endian); output.WriteValueS32(value.Value, endian); }