public override void OnTick() { List <Vector3Int> bushes = new List <Vector3Int>(burningBushes.Keys); foreach (Vector3Int cellPos in bushes) { FlameMeta flame = burningBushes[cellPos]; burningBushes[cellPos] = new FlameMeta(flame.ticksLeft - 1, flame.fxObject); if (burningBushes[cellPos].ticksLeft <= 0) { Destroy(burningBushes[cellPos].fxObject); burningBushes.Remove(cellPos); } } }
private void ResetTicks(Vector3Int cellPos) { FlameMeta flame = burningBushes[cellPos]; burningBushes[cellPos] = new FlameMeta(flameDuration, flame.fxObject); }