Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
    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());
    }