public void RevealSubjectStatus() { timer = hideTime; if (subjectVisibility == SubjectVisibility.Hidden) { subjectVisibility = SubjectVisibility.Visible; if (subjectStatus == SubjectStatus.Infected) { infected.SetActive(true); neutralSymptoms.SetActive(false); healthy.SetActive(false); neutral.SetActive(false); } else if (subjectStatus == SubjectStatus.Healthy) { infected.SetActive(false); neutral.SetActive(false); healthy.SetActive(true); neutralSymptoms.SetActive(false); } RevealInfo revealInfo = new RevealInfo(); revealInfo.subjectStatus = subjectStatus; onRevealEvent.Invoke(revealInfo); } }
public void HideSubjectStatus() { if (subjectVisibility == SubjectVisibility.Visible) { subjectVisibility = SubjectVisibility.Hidden; infected.SetActive(false); healthy.SetActive(false); if (subjectStatus == SubjectStatus.Infected) { neutralSymptoms.SetActive(true); } else { neutral.SetActive(true); } } }
public void IsolateInfectedSubject() { if (subjectStatus == SubjectStatus.Infected) { infected.SetActive(true); neutralSymptoms.SetActive(false); curPos = this.transform.position; destPos = isolationZone.SpawnPoint; lodGroup.enabled = false; subjectInfectedBall.SetActive(false); subjectInfectedZoom.SetActive(true); subjectInfectedZoom.transform.localScale = new Vector3(4f, 4f, 4f); subjectInfectedZoom.transform.eulerAngles = new Vector3(-60f, UnityEngine.Random.Range(0f, 230f), 0f); this.transform.localScale = new Vector3(2f, 2f, 2f); subjectVisibility = SubjectVisibility.GoingToIsolation; onSubjectIsolated.Invoke(id, subjectStatus); } }