/// <summary> /// 设置当前页面的默认焦点 /// </summary> /// <param UIName="buttonName1P"> 1P的默认选择的名字 </param> /// <param UIName="buttonName2P"> 2P的默认选择的名字 </param> /// <param UIName="isSaveFocusePos"> 是否保存当前页面按钮光标位置 </param> public void ButtonDefaultFocus(string buttonName1P, string buttonName2P, bool isSaveFocusePos = true) { LtButton button = gameObject.GetChildComponet <LtButton>(buttonName1P); LtButton button_2p = null; if (buttonName2P != null) { button_2p = gameObject.GetChildComponet <LtButton>(buttonName2P); } ButtonDefaultFocus(button, button_2p, isSaveFocusePos); }
/// <summary> /// 设置当前页面的默认焦点 /// </summary> /// <param UIName="buttonName1P"> 1P的默认选择 </param> /// <param UIName="buttonName2P"> 2P的默认选择 </param> /// <param UIName="isSaveFocusePos"> 是否保存当前页面按钮光标位置 </param> public void ButtonDefaultFocus(LtButton button1p, LtButton button2p, bool isSaveFocusePos = true) { string[] cacheFocus = null; if (isSaveFocusePos) { cacheFocus = UIMonoManager.Instance.GetFocus(this); if (cacheFocus == null) { UIMonoManager.Instance.SaveFocus(this, button1p, button2p); } } SelectableCtrl.StartSelect1P = button1p; SelectableCtrl.StartSelect2P = button2p; if (button2p != null) { CursorType = CursorType.Single; } SelectableCtrl.IsSaveFocuseButton = isSaveFocusePos; }
/// <summary> /// 设置当前页面的默认焦点 /// </summary> /// <param UIName="buttonName1P"> 1P的默认选择 </param> /// <param UIName="isSaveFocusePos"> 是否保存当前页面按钮光标位置 </param> public void ButtonDefaultFocus(LtButton button1p, bool isSaveFocusePos = true) { ButtonDefaultFocus(button1p, null, isSaveFocusePos); }
/// <summary> /// LtButton注册 /// </summary> /// <param UIName="buttonName">Button的名字</param> /// <param UIName="call">1P事件</param> /// <param UIName="call2">2P事件</param> protected void ButtonOnClick(LtButton button, UnityAction call, UnityAction call2 = null) { button.OnClick(call, call2); }
protected void ButtonOnClick(GameObject buttonObj, UnityAction call, UnityAction call2 = null) { LtButton button = buttonObj.GetComponent <LtButton>(); button.ButtonOnClick(call, call2); }
/// <summary> /// 当前页面的LtButton注册 /// </summary> /// <param UIName="buttonName">Button的名字</param> /// <param UIName="call">1P事件</param> /// <param UIName="call2">2P事件</param> protected void ButtonOnClick(string buttonName, UnityAction call, UnityAction call2 = null) { LtButton button = gameObject.GetChildComponet <LtButton>(buttonName); button.ButtonOnClick(call, call2); }
/// <summary> /// 按键自动导航的回调 /// 执行在导航之前 /// </summary> /// <param UIName="currentButton">当前选择的按钮</param> /// <param UIName="autoSelecteButton">自动导航将要设置的按钮</param> /// <param UIName="is2P">false 为1P操作,true 为2P操作</param> /// <returns> 你需要修改的导航按钮 </returns> public virtual LtButton OnDownSelected(LtButton currentButton, LtButton autoSelecteButton, CtrlHandler ctrl) { return(autoSelecteButton); }
/// <summary> /// 当按钮取消选中的回调 /// </summary> /// <param UIName="button"> 取消选中的按钮 </param> /// <param UIName="ctrl"> 操作者 </param> public virtual void OnDisSelected(LtButton button, CtrlHandler ctrl) { }
public override LtButton OnDownSelected(LtButton currentButton, LtButton autoSelecteButton, CtrlHandler ctrl) { AudioMgr.Instance.PlayEffect(SoundType.UI.UI_move); return(base.OnDownSelected(currentButton, autoSelecteButton, ctrl)); }
public static GameObject CreateButton(DefaultControls.Resources resources) { GameObject buttonRoot = CreateUIElementRoot("LtButton", s_ThickElementSize); GameObject childGo1P = new GameObject("Selected1P"); childGo1P.AddComponent <LtButtonSelectedCtrl>(); Image childImage1P = childGo1P.AddComponent <Image>(); childImage1P.sprite = resources.standard; childImage1P.color = new Color(1, 1, 1, 1); childImage1P.type = Image.Type.Sliced; SetParentAndAlign(childImage1P.gameObject, buttonRoot); GameObject childGo2P = new GameObject("Selected2P"); childGo2P.AddComponent <LtButtonSelectedCtrl>(); Image childImage2P = childGo2P.AddComponent <Image>(); childImage2P.sprite = resources.standard; childImage2P.color = new Color(1, 1, 1, 1); childImage2P.type = Image.Type.Sliced; SetParentAndAlign(childImage2P.gameObject, buttonRoot); GameObject childText = new GameObject("LtText"); childText.AddComponent <RectTransform>(); SetParentAndAlign(childText, buttonRoot); Image image = buttonRoot.AddComponent <Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; image.color = new Color(1f, 1f, 1f, 1f); LtButton bt = buttonRoot.AddComponent <LtButton>(); bt.SelectedShow1P = childGo1P; bt.SelectedShow2P = childGo2P; SetDefaultColorTransitionValues(bt); Text text = childText.AddComponent <Text>(); text.text = "LtButton"; text.alignment = TextAnchor.MiddleCenter; text.color = new Color(50f / 255f, 50f / 255f, 50f / 255f, 1f); text.font = Resources.GetBuiltinResource <Font>("Arial.ttf"); RectTransform textRectTransform = childText.GetComponent <RectTransform>(); textRectTransform.anchorMin = Vector2.zero; textRectTransform.anchorMax = Vector2.one; textRectTransform.sizeDelta = Vector2.zero; RectTransform childImageRect1P = childImage1P.GetComponent <RectTransform>(); childImageRect1P.anchorMin = Vector2.zero; childImageRect1P.anchorMax = Vector2.one; childImageRect1P.sizeDelta = Vector2.zero; RectTransform childImageRect2P = childImage2P.GetComponent <RectTransform>(); childImageRect2P.anchorMin = Vector2.zero; childImageRect2P.anchorMax = Vector2.one; childImageRect2P.sizeDelta = Vector2.zero; childImage2P.gameObject.SetActive(false); return(buttonRoot); }