public int GetHashCodeOld() { unchecked { int result = (Title != null ? Title.GetHashCode() : 1); result = (result * 397) ^ (Subtitle != null ? Subtitle.GetHashCode() : 1); result = (result * 397) ^ (Artist != null ? Artist.GetHashCode() : 1); result = (result * 397) ^ BPMs.GetHashCode(); foreach (var bpm in BPMs) { result = (result * 397) ^ bpm.Key.GetHashCode(); result = (result * 397) ^ bpm.Value.GetHashCode(); } foreach (var stop in Stops) { result = (result * 397) ^ stop.Key.GetHashCode(); result = (result * 397) ^ stop.Value.GetHashCode(); } foreach (var note in AddNotes) { result = (result * 397) ^ note.GetHashCode(); } foreach (var note in RemoveNotes) { result = (result * 397) ^ note.GetHashCode(); } foreach (var note in SuperNotes) { result = (result * 397) ^ note.GetHashCode(); } result = (result * 397) ^ Offset.GetHashCode(); result = (result * 397) ^ Length.GetHashCode(); return(result); } }
public void Write(BinaryWriter w) { BPMs.Write(w); Phrases.Write(w); Chords.Write(w); ChordNotes.Write(w); Vocals.Write(w); if (Vocals.Count > 0) { SymbolsHeader.Write(w); SymbolsTexture.Write(w); SymbolsDefinition.Write(w); } PhraseIterations.Write(w); PhraseExtraInfo.Write(w); NLD.Write(w); Actions.Write(w); Events.Write(w); Tones.Write(w); DNAs.Write(w); Sections.Write(w); Arrangements.Write(w); Meta.Write(w); }
public override bool Equals(object obj) { var chart = obj as Chart; if (chart == null) { return(false); } return( KeyCount == chart.KeyCount && BPMs.Equals(chart.BPMs) && Objects.Equals(chart.Objects) ); }