コード例 #1
0
    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(); });
        }
    }
コード例 #2
0
    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();
    }
コード例 #3
0
 public void SpeedValueChangeCheck()
 {
     if (p != null)
     {
         p.SetSpeed(speedSlider.value * 2);
         speedText.text = "Speed: " + p.GetSpeed() / 2;
     }
 }