public static OsuTimingPoint GetTimingPoint(string Value) { IEnumerable <string> Values = Value.SeparateCommaList(StringSplitOptions.RemoveEmptyEntries); int Time = 0, Meter = 0, SampleIndex = 0, Volume = 100; decimal BeatLength = 0; OsuSampleSet SampleSet = default; bool Uninherited = default; OsuEffects Effects = default; int I = 0; foreach (string V in Values) { switch (I) { case 0: //Time Time = V.ConvertToInt(0); break; case 1: //BeatLength BeatLength = V.ConvertToDecimal(0); break; case 2: //Meter Meter = V.ConvertToInt(0); break; case 3: //SampleSet SampleSet = V.ConvertToEnum <OsuSampleSet>(); break; case 4: //SampleIndex SampleIndex = V.ConvertToInt(0); break; case 5: //Volume Volume = V.ConvertToInt(0); break; case 6: //Uninherited Uninherited = V.ConvertToBool(StringComparison.InvariantCultureIgnoreCase); break; default: //Effects Effects = V.ConvertToEnum <OsuEffects>(); break; } I++; } return(new OsuTimingPoint(Time, BeatLength, Meter, SampleSet, SampleIndex, Volume, Uninherited, Effects)); }
public OsuTimingPoint(int Time, decimal BeatLength, int Meter, OsuSampleSet SampleSet, int SampleIndex, int Volume, bool Uninherited, OsuEffects Effects) { this.Time = Time; this.BeatLength = BeatLength; this.Meter = Meter; this.SampleSet = SampleSet; this.SampleIndex = SampleIndex; this.Volume = Volume; this.Uninherited = Uninherited; this.Effects = Effects; }