public void Init(DRHeroShop drHeroShop, Action <UIHeroShop_PanelHero> onSelectCallback) { this.drHeroShop = drHeroShop; this.gameObject.GetOrAddComponent <Button>(); FocusButton focusButton = this.gameObject.GetComponent <FocusButton>(); focusButton.OnSelectListener += (sender, button) => { onSelectCallback(this); }; textName.text = drHeroShop.Name; textDes.text = drHeroShop.Des; string assetName = AssetUtility.GetUISpriteAsset(drHeroShop.AssetName); GameEntry.Resource.LoadAsset(assetName, new LoadAssetCallbacks( (_assetName, _asset, _duration, _userData) => { imgHero.sprite = ((GameObject)_asset).GetComponent <SpriteRenderer>().sprite; }, (string _assetName, LoadResourceStatus status, string errorMessage, object userData) => { Log.Warning("error:" + errorMessage); } )); }
private void OnItemClicked(object sender, EventArgs e) { PlayerPage player = new PlayerPage(); player.Disappearing += (s, ev) => FocusButton.Focus(); Navigation.PushAsync(player); }
public void ResetOtherBtns(int clickBtnIndex) { foreach (Transform child in transform) { FocusButton I_FocusButton = child.GetComponent <FocusButton>(); if (clickBtnIndex != I_FocusButton.btnIndex) { I_FocusButton.ResetBtn(); } } }
private void OnSelectCallback(object sender, FocusButton btn) { if (preSelectButton != null) { preSelectButton.Deselect(); } preSelectButton = btn; /* 可能存在一些按钮,是被动在代码中调用了Select函数的,即可能同时存在多个被select的按钮,需要再检查一遍 */ foreach (FocusButton focusBtn in buttonList) { if (focusBtn.GetInstanceID() != preSelectButton.GetInstanceID() && focusBtn.IsSelected) { focusBtn.Deselect(); } } }
public void SetFocus(FocusButton fb) { foreach (Transform child in variablesList) { GetComponent <Button>()?.onClick.RemoveAllListeners(); Destroy(child.gameObject); } focus = fb.container; Title.text = focus.ID; foreach (NFVariable e in focus.Elements.FindAll(x => x.GetType() == typeof(NFVariable))) { GameObject varBut = Instantiate(variableButtonPrefab, variablesList); //varBut.GetComponentInChildren<Text>().text = e.Name + "=" + e.Value; varBut.GetComponentInChildren <Text>().text = e.Name; varBut.GetComponent <Button>().onClick.AddListener(() => SelectVariable(e)); } }
public GameObject GameObjectify(NFContainer container) { var containerName = container.ID == "" ? container.Name : container.Name + " (" + container.ID + ")"; GameObject containerGO = new GameObject(containerName); foreach (NFElement e in container.Elements) { GameObject elementGO; if (e.GetType() == typeof(NFVariable)) { elementGO = new GameObject(e.Name + " = " + ((NFVariable)e).Value); } else if (e.GetType() == typeof(NFContainer)) { NFContainer c = (NFContainer)e; elementGO = GameObjectify(c); if (e.Name == "focus") { //Debug.Log(c.ID); GameObject newFocus = Instantiate(focusButtonPrefab, focusTransform); FocusButton fb = newFocus.GetComponent <FocusButton>(); fb.container = c; focusButtons.Add(c.ID, fb); fb.GetComponent <Button>().onClick.AddListener(() => FocusSelected(fb)); } } else { elementGO = new GameObject(); } elementGO.transform.SetParent(containerGO.transform); } return(containerGO); }
/*------------------ FocusTargetChangedEvent -------------------*/ /*------------------ FocusTargetsChangeEvent -------------------*/ void FocusTargetsChangeEventFunc() { // 删除先前的FocusBtns foreach (Transform child in FocusBtns.transform) { Destroy(child.gameObject); } // 新建FocusBtns FocusTargets I_FocusTargets = I_PlayerData.I_FocusTargets; float topY = 360; float X = -7; float deltaY = 124; int count = I_FocusTargets.focusTargets.Count; if (count > 3) { topY += deltaY * (count - 3); } for (int i = 0; i < count; ++i) { // 新建Button FocusTarget I_FocusTarget = I_FocusTargets.focusTargets[i]; GameObject btn = Instantiate(BtnFocus, FocusBtns.transform); ((RectTransform)btn.transform).anchoredPosition = new Vector2(X, topY - deltaY * i); // 是否选中 if (I_FocusTarget.isFocus) { Transform imgFocus = btn.transform.Find("ImgFocus"); imgFocus.gameObject.SetActive(true); } // 初始化赋值 FocusButton I_FocusButton = btn.transform.GetComponent <FocusButton>(); I_FocusButton.btnIndex = i; I_FocusButton.focusTarget = I_FocusTarget.focusTarget; } }
void FocusSelected(FocusButton fb) { editorPanel.gameObject.SetActive(true); editorPanel.SetFocus(fb); }
void ReleaseDesignerOutlets() { if (AreaButton != null) { AreaButton.Dispose(); AreaButton = null; } if (BackgroundView != null) { BackgroundView.Dispose(); BackgroundView = null; } if (CastingTimeButton != null) { CastingTimeButton.Dispose(); CastingTimeButton = null; } if (DescriptionButton != null) { DescriptionButton.Dispose(); DescriptionButton = null; } if (DescriptorButton != null) { DescriptorButton.Dispose(); DescriptorButton = null; } if (DismissableButton != null) { DismissableButton.Dispose(); DismissableButton = null; } if (DivineFocusButton != null) { DivineFocusButton.Dispose(); DivineFocusButton = null; } if (DurationButton != null) { DurationButton.Dispose(); DurationButton = null; } if (FocusButton != null) { FocusButton.Dispose(); FocusButton = null; } if (FocusTextButton != null) { FocusTextButton.Dispose(); FocusTextButton = null; } if (LevelsButton != null) { LevelsButton.Dispose(); LevelsButton = null; } if (MaterialButton != null) { MaterialButton.Dispose(); MaterialButton = null; } if (MaterialTextButton != null) { MaterialTextButton.Dispose(); MaterialTextButton = null; } if (NameButton != null) { NameButton.Dispose(); NameButton = null; } if (RangeButton != null) { RangeButton.Dispose(); RangeButton = null; } if (SavingThrowButton != null) { SavingThrowButton.Dispose(); SavingThrowButton = null; } if (SchoolButton != null) { SchoolButton.Dispose(); SchoolButton = null; } if (SomaticButton != null) { SomaticButton.Dispose(); SomaticButton = null; } if (SpellResistanceButton != null) { SpellResistanceButton.Dispose(); SpellResistanceButton = null; } if (SubschoolButton != null) { SubschoolButton.Dispose(); SubschoolButton = null; } if (TargetsButton != null) { TargetsButton.Dispose(); TargetsButton = null; } if (VerbalButton != null) { VerbalButton.Dispose(); VerbalButton = null; } }
private void FocusKeyboard(object sender, RoutedEventArgs e) { FocusButton.Focus(FocusState.Keyboard); }
private void FocusPointer(object sender, RoutedEventArgs e) { FocusButton.Focus(FocusState.Pointer); }