public void CallDonor(BloodInfo.BloodType type, BloodInfo.BloodFamily familly) { _calledDonorCount += _data.NumberOfDonorByCall; for (int i = 0; i < _data.NumberOfDonorByCall; i++) { BloodDonor donor = Instantiate(_bloodDonor, _bdSpawn.position, _bdSpawn.rotation); donor.Init(_data, new BloodInfo(type, familly, BloodInfo.BloodRhesus.None)); donor.called = true; _bloodDonors.Add(donor); } }
IEnumerator SpawnBloodDonor() { while (State != GameState.InGame) { yield return(null); } if (_bloodDonors.Count > 0) { yield return(new WaitForSeconds(_data.SpawnSpeed)); } if (_bloodDonors.Count < _data.MaxHumanCount + _calledDonorCount) { BloodDonor donor = Instantiate(_bloodDonor, _bdSpawn.position, _bdSpawn.rotation); donor.Init(_data, BloodInfoGetRand()); _bloodDonors.Add(donor); } StartCoroutine(SpawnBloodDonor()); }