Example #1
0
    private void Update()
    {
        timer += Time.deltaTime;

        if (timer >= nextSpawn)
        {
            Patient patient = Instantiate(PatientPrefab, transform.position, Quaternion.identity, Container).GetComponent <Patient>();
            patient.sickness = sicknessManager.GetRandomsickness();
            patient.sickness.OnCure.AddListener(() => patient.ChangeHealth(3));

            if (patient.sickness.Urgente)
            {
                patient.ChangeHealth(1);
                patient.EmergencyObj.SetActive(true);
            }
            else
            {
                patient.EmergencyObj.SetActive(false);
            }

            patient.moveTarget = TargetFinder?.GetTarget();

            spawnCount++;
            GameManager.Instance.levelManager.AddSickPatient();

            if (spawnCount >= MaxPatientSpawn)
            {
                enabled = false;
            }
            else
            {
                nextSpawn = Random.Range(DelayRangeBetweenSpawn.x, DelayRangeBetweenSpawn.y);
                timer     = 0;
            }
        }
    }