override public void SetEditableElement(GameObject element_) { p = element_.GetComponent <PersonBehavior>(); if (p != null) { addTypeDD.onValueChanged.RemoveAllListeners(); removeTypeDD.onValueChanged.RemoveAllListeners(); familyIdDD.onValueChanged.RemoveAllListeners(); addRespDD.onValueChanged.RemoveAllListeners(); removeRespDD.onValueChanged.RemoveAllListeners(); familyMenu.SetActive(false); independentMenu.SetActive(false); IDText.text = "ID: " + p.GetID(); ageText.text = "Age: " + p.GetAge(); ageSlider.value = p.GetAge(); speedText.text = "Speed: " + p.GetSpeed() / 2; speedSlider.value = p.GetSpeed() / 2; UpdateTypes(); manualToggle.isOn = p.GetManual(); dependentToggle.isOn = p.GetDependent(); UpdateFamilyMenu(); addTypeDD.onValueChanged.AddListener(delegate { AddTypeCheck(); }); removeTypeDD.onValueChanged.AddListener(delegate { RemoveTypeCheck(); }); familyIdDD.onValueChanged.AddListener(delegate { SetToFamily(); }); addRespDD.onValueChanged.AddListener(delegate { AddDependentCheck(); }); removeRespDD.onValueChanged.AddListener(delegate { RemoveDependentCheck(); }); } }
public void WhenIndependentReachedDestination() { reachedDestination = false; nextDependent = CheckDependentsInSection(); if (nextDependent != null) { agent.SetDestination(nextDependent.GetPos()); pathIndex--; responsibleForIDs.Remove(nextDependent.GetID()); followers.Add(nextDependent); if (nextDependent.GetSpeed() < groupSpeed) { groupSpeed = nextDependent.GetSpeed(); } nextDependent.GetAgent().speed = groupSpeed; nextDependent.SetDestSection(destSection); nextDependent.startedMovement = true; destSection.AddPerson(nextDependent); } else { agent.SetDestination(nodesPath[pathIndex].GetPos()); } UpdateFollowersMovement(); }
public void PersonArrived(PersonBehavior p_, float timer_, bool isInCP) { // peopleTotalCount++; if (isInCP) { peopleArrivedCounter++; IDsPeopleArrivedToCP.Add(p_.GetID()); Utils.Print("The person " + p_.GetID() + " is safe in " + timer_ + "s in a CP!!"); } if (peopleArrivedCounter >= people.Count) { timer = timer_; Utils.Print("Everyone is safe in " + timer_ + "s !!!!!!"); lastArrivedPerson = p_; foreach (PersonBehavior p in people) { p.StopMovement(); } sc.SimulationFinished(true); } //if (peopleTotalCount >= people.Count && peopleArrivedCounter < people.Count) if (peopleTotalCount >= people.Count && peopleArrivedCounter < people.Count) { timer = timer_; Utils.Print("Everyone is not safe in " + timer_ + "s !!!!!!"); lastArrivedPerson = p_; foreach (PersonBehavior p in people) { p.StopMovement(); } sc.SimulationFinished(true); } // }
public void RemoveFromTutory(PersonBehavior p_) { responsibleForIDs.Remove(p_.GetID()); p_.SetTutorID(-1); }
public void AddToTutory(PersonBehavior p_) { responsibleForIDs.Add(p_.GetID()); p_.SetTutorID(ID); }