Exemple #1
0
 public static void Commit()
 {
     BlackBoard.instance.isInitialCommitMade = true;
     while (BlackBoard.instance.pendingWrites.Count > 0)
     {
         BlackBoard.WriteEntry writeEntry = BlackBoard.instance.pendingWrites.Dequeue();
         BlackBoard.Board      board;
         if (BlackBoard.instance.boards.Contains(writeEntry.board))
         {
             board = (BlackBoard.Board)BlackBoard.instance.boards[writeEntry.board];
         }
         else
         {
             board = new BlackBoard.Board(writeEntry.board);
             BlackBoard.instance.boards.Add(writeEntry.board, board);
         }
         board.Write(writeEntry.id, writeEntry.value);
         if (board.GetWriteCount() == 1)
         {
             BlackBoard.instance.boardNames.Add(writeEntry.board);
         }
         BlackBoard.instance.writtenIDs.Add(writeEntry.id);
     }
     BlackBoard.instance.UpdateCache();
     BlackBoard.instance.writtenIDs.Clear();
 }
Exemple #2
0
 public static void WriteInstant(string board, string id, object value)
 {
     BlackBoard.WriteEntry writeEntry = new BlackBoard.WriteEntry(board, id, value);
     BlackBoard.Board      board2;
     if (BlackBoard.instance.boards.Contains(writeEntry.board))
     {
         board2 = (BlackBoard.Board)BlackBoard.instance.boards[writeEntry.board];
     }
     else
     {
         board2 = new BlackBoard.Board(writeEntry.board);
         BlackBoard.instance.boards.Add(writeEntry.board, board2);
     }
     board2.WriteInstant(writeEntry.id, writeEntry.value);
     if (board2.GetWriteCount() == 1)
     {
         BlackBoard.instance.boardNames.Add(writeEntry.board);
     }
 }