Beispiel #1
0
    public async Task Init(string robotId, UnityAction <string> onChangeCallback)
    {
        if (!SceneManager.Instance.SceneStarted || string.IsNullOrEmpty(robotId))
        {
            Dropdown.Dropdown.dropdownItems.Clear();
            gameObject.SetActive(false);
            return;
        }
        try {
            IRobot robot = SceneManager.Instance.GetRobot(robotId);
            Dropdown.Dropdown.dropdownItems.Clear();
            List <string> arms = await robot.GetArmsIds();

            PutData(arms, onChangeCallback);
            if (arms.Count == 1)
            {
                gameObject.SetActive(false);
            }
            else
            {
                gameObject.SetActive(true);
            }
        } catch (ItemNotFoundException ex) {
            Debug.LogError(ex);
            Base.NotificationsModernUI.Instance.ShowNotification("End effector load failed", "Failed to load end effectors, try again later");
        }
    }