internal void Read(ParameterReader paramReader) { while (paramReader.Read()) { switch (paramReader.HeadToken) { case "type": Type = ( FogType )paramReader.ReadInt32(); break; case "density": Density = paramReader.ReadSingle(); break; case "linear": Start = paramReader.ReadSingle(); End = paramReader.ReadSingle(); break; case "color": Color = paramReader.ReadVector4(); break; case "group_start": throw new InvalidDataException("Expected group end before group start"); case "group_end": if (paramReader.ReadUInt32() != Id) { throw new InvalidDataException($"Expected group end with id {Id}"); } return; } } }
internal void Read(ParameterReader paramReader) { while (paramReader.Read()) { switch (paramReader.HeadToken) { case "type": Type = ( LightType )paramReader.ReadInt32(); break; case "ambient": Ambient = paramReader.ReadVector4(); break; case "diffuse": Diffuse = paramReader.ReadVector4(); break; case "specular": Specular = paramReader.ReadVector4(); break; case "position": Position = paramReader.ReadVector4(); break; case "spot_direction": SpotDirection = paramReader.ReadVector3(); break; case "spot_exponent": SpotExponent = paramReader.ReadSingle(); break; case "spot_cutoff": SpotCutoff = paramReader.ReadSingle(); break; case "attenuation": SpotAttenuationConstant = paramReader.ReadSingle(); SpotAttenuationLinear = paramReader.ReadSingle(); SpotAttenuationQuadratic = paramReader.ReadSingle(); break; case "clipplane": ClipPlane = paramReader.ReadVector4(); break; case "tonecurve": ToneCurve = paramReader.ReadVector3(); break; case "id_end": if (paramReader.ReadInt32() != ( int )Id) { throw new InvalidDataException($"Expected id end with id {( int ) Id}"); } return; } } }