public void Spawn() { var spawnAmount = Math.Max(0, this.Amount - _creatures.Count); for (int i = 0; i < spawnAmount; ++i) { if (this.Delay == 0) this.SpawnOne(); else Task.Delay(this.Delay).ContinueWith(_ => this.SpawnOne()); } }