fixed element leak across chunks
This commit is contained in:
@@ -138,6 +138,9 @@ public class Chunk {
|
||||
if (what.Chunk != swapTo.Chunk) {
|
||||
what.Chunk.RemoveFromChunk(what);
|
||||
swapTo.Chunk.AddToChunk(what);
|
||||
|
||||
swapTo.Chunk.RemoveFromChunk(swapTo);
|
||||
what.Chunk.AddToChunk(swapTo);
|
||||
}
|
||||
|
||||
Element temp = new Element(what);
|
||||
|
||||
@@ -88,7 +88,7 @@ public class Element{
|
||||
else if (Chunk.IsEmpty(Position + randomDirection * VERTICAL_OPPOSITE))
|
||||
Chunk.Swap(this, Position + randomDirection * VERTICAL_OPPOSITE);
|
||||
|
||||
if (GD.Randi() % MAX_DIFFUSE_SPEED > DiffuseSpeed) return; // ascend slower
|
||||
if (GD.Randi() % MAX_DIFFUSE_SPEED > DiffuseSpeed) return; // descend slower
|
||||
|
||||
if (Chunk.Get(Position + randomDirection)?.Density < Density)
|
||||
Chunk.Swap(this, Position + Vector2I.Down);
|
||||
|
||||
Reference in New Issue
Block a user