public async Task Init(string robotId, string arm_id, 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(); PutData(await robot.GetEndEffectorIds(arm_id), onChangeCallback); } catch (ItemNotFoundException ex) { Debug.LogError(ex); Base.NotificationsModernUI.Instance.ShowNotification("End effector load failed", "Failed to load end effectors, try again later"); } }