public void SetJournal(JournalState journal) { if (MaybeJournal == null || !MaybeJournal.Equals(journal)) { MaybeJournal = journal; Invalidate(); } }
public bool Equals(JournalState o) { return((new List <Tuple <bool[], bool[]> > { new Tuple <bool[], bool[]>(PlaceEntries, o.PlaceEntries), new Tuple <bool[], bool[]>(MonsterEntries, o.MonsterEntries), new Tuple <bool[], bool[]>(ItemEntries, o.ItemEntries), new Tuple <bool[], bool[]>(TrapEntries, o.TrapEntries) }).Aggregate(true, (totalResult, entryPair) => totalResult && entryPair.Item1.Length == entryPair.Item2.Length && Enumerable.Range(0, entryPair.Item1.Length).Aggregate(true, (result, currentIndex) => result && entryPair.Item1[currentIndex] == entryPair.Item2[currentIndex]))); }