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; } } }
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(); }