Пример #1
0
 public void AddCellStateTest(Vector2Int cPoss, CellStateCahnge change)
 {
     if (CellToCell(cPoss, out int cellPoss))
     {
         if (!candidates.TryGetValue(cellPoss, out var origChange))
         {
             candidatesQ.Enqueue(cellPoss);
         }
         if (change != origChange)
         {
             candidates[cellPoss] = origChange | change;
         }
     }
 }
Пример #2
0
 private void ProcessCellStateTest(CellStateCahnge change)
 {
     InitBufferCoords();
     if ((change & CellStateCahnge.CompactSand0) != 0)
     {
         TestCompactSand(0);
     }
     if ((change & CellStateCahnge.CompactSand1) != 0)
     {
         TestCompactSand(1);
     }
     if ((change & CellStateCahnge.FreeSand0) != 0)
     {
         TestFreeSand(0);
     }
     if ((change & CellStateCahnge.FreeSand1) != 0)
     {
         TestFreeSand(1);
     }
     ClearBuffer();
 }