private ServiceButton CreateJointsButton(Transform parent, string objectId, string label, UnityAction callback) { ServiceButton serviceBtn = Instantiate(Base.GameManager.Instance.ServiceButtonPrefab, parent).GetComponent <ServiceButton>(); var btn = serviceBtn.GetComponentInChildren <ActionButton>(); btn.transform.localScale = new Vector3(1, 1, 1); btn.SetLabel(label); btn.ObjectId = objectId; btn.Button.onClick.AddListener(callback); return(serviceBtn); }
private void OnActionPointJointsAdded(object sender, RobotJointsEventArgs args) { if (!IsVisible || args.ActionPointId != CurrentActionPoint.GetId()) { return; } if (args.Data.RobotId == SceneManager.Instance.SelectedRobot.GetId()) { ServiceButton btn = CreateJointsButton(JointsDynamicList.transform, args.Data.Id, args.Data.Name, () => OpenDetailMenu(args.Data), args.Data.IsValid); btn.GetComponentInChildren <ActionButton>().Highlight(2f); } }
/// <summary> /// Creates button for joints /// </summary> /// <param name="parent"></param> /// <param name="jointsID"></param> /// <param name="label"></param> /// <param name="callback"></param> /// <param name="isValid">State of joints</param> /// <returns></returns> private ServiceButton CreateJointsButton(Transform parent, string jointsID, string label, UnityAction callback, bool isValid) { ServiceButton serviceBtn = Instantiate(Base.GameManager.Instance.ServiceButtonPrefab, parent).GetComponent <ServiceButton>(); var btn = serviceBtn.GetComponentInChildren <ActionButton>(); btn.transform.localScale = new Vector3(1, 1, 1); btn.SetLabel(label); btn.ObjectId = jointsID; btn.Button.onClick.AddListener(callback); serviceBtn.State = isValid; btn.GetComponent <TooltipContent>().description = "Invalid"; if (isValid) { btn.GetComponent <TooltipContent>().enabled = false; } else { btn.GetComponent <TooltipContent>().enabled = true; } return(serviceBtn); }