public void ChangeStatus(PersonStatus newStatus) { if (newStatus == PersonStatus.HEALTHY) { GetComponent <Renderer>().material = healthyMaterial; } else if (newStatus == PersonStatus.SICK) { GetComponent <Renderer>().material = sickMaterial; StatisticsBehaviour.MeContagie(); } else if (newStatus == PersonStatus.TREATMENT) { GetComponent <Renderer>().material = inTreatmentMaterial; } else if (newStatus == PersonStatus.DIED) { GetComponent <Renderer>().material = diedMaterial; } else if (newStatus == PersonStatus.RECOVERED) { GetComponent <Renderer>().material = recoveredMaterial; } status = newStatus; }
private void Update() { if (status == PersonStatus.SICK) { sickTime += Time.deltaTime; if (StatisticsBehaviour.PuedoRecibirTratamiento()) { ChangeStatus(PersonStatus.TREATMENT); StatisticsBehaviour.RecibirTratamiento(); } if (sickTime >= (6 * StatisticsBehaviour.day)) { if (HasDied()) { StatisticsBehaviour.Fallecer(PersonStatus.SICK); ChangeStatus(PersonStatus.DIED); } else { StatisticsBehaviour.Recuperar(PersonStatus.SICK); ChangeStatus(PersonStatus.RECOVERED); } } } if (status == PersonStatus.TREATMENT) { inTreatmentTime += Time.deltaTime; if (inTreatmentTime >= tiempoEnHospital) { if (HasDied()) { StatisticsBehaviour.Fallecer(PersonStatus.TREATMENT); ChangeStatus(PersonStatus.DIED); } else { StatisticsBehaviour.Recuperar(PersonStatus.TREATMENT); ChangeStatus(PersonStatus.RECOVERED); } } } }