예제 #1
0
 public void SetJournal(JournalState journal)
 {
     if (MaybeJournal == null || !MaybeJournal.Equals(journal))
     {
         MaybeJournal = journal;
         Invalidate();
     }
 }
예제 #2
0
 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])));
 }