Esempio n. 1
0
 private void AddReading(Character character, ConsideredActions alreadyConsidered, IEnumerable<IBook> topicalBooks, double remainingTotal, double desire)
 {
     if (topicalBooks.Any())
     {
         var bestBook =
             (from book in topicalBooks
              orderby character.GetBookLevelGain(book),
                      book.Level ascending
              select new EvaluatedBook
              {
                  Book = book,
                  PerceivedValue = character.GetBookLevelGain(book) * desire / remainingTotal
              }).First();
         // check to see if reading this book is already in the action list
         Reading readingAction = new Reading(bestBook.Book, bestBook.PerceivedValue);
         alreadyConsidered.Add(readingAction);
     }
 }