public void SetCommand_OnButtonWithBindingNoEventName_ParameterShouldUpdate() { var value = DateTime.Now.Ticks.ToString(); var vmSource = new TestViewModel { Model = new TestModel { StringProperty = value } }; var vmTarget = new TestViewModel(); var control = new UIButtonEx(); _binding = new Binding <string, string>( vmSource, () => vmSource.Model.StringProperty); control.SetCommand( vmTarget.SetPropertyCommand, _binding); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); value += "Test"; vmSource.Model.StringProperty = value; control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
public virtual void OnShow() { if (GreenHellGame.IsPadControllerActive()) { if (this.m_ActiveMenuOption != null && this.m_ActiveMenuOption.m_Button != null) { this.m_ActiveMenuOption.m_Button.Select(); this.m_ActiveMenuOption.m_Button.OnSelect(null); return; } foreach (MenuBase.MenuOptionData menuOptionData in this.m_OptionsObjects.Values) { if (this.IsMenuButtonEnabled(menuOptionData.m_Button)) { UIButtonEx component = menuOptionData.m_Button.GetComponent <UIButtonEx>(); if (!component || component.m_MoveWhenFocused) { this.m_ActiveMenuOption = menuOptionData; break; } } if (this.IsMenuSliderEnabled(menuOptionData.m_Slider)) { this.m_ActiveMenuOption = menuOptionData; break; } if (this.IsMenuSelectButtonEnabled(menuOptionData.m_SelectButton)) { this.m_ActiveMenuOption = menuOptionData; break; } } } }
public void SetCommand_WithICommandOnButtonNoValueNoEventName_ClickEventShouldBeUsed() { var vmTarget = new TestViewModel(); var control = new UIButtonEx(); control.SetCommand(vmTarget.TestCommandImpl); var castedCommand = (CommandImpl)vmTarget.TestCommandImpl; Assert.IsNull(castedCommand.Parameter); control.PerformEvent(); Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter); }
public void SetCommand_WithICommandOnButtonNoValue_NoError() { var vmTarget = new TestViewModel(); var control = new UIButtonEx(); control.SetCommand("TouchUpInside", vmTarget.TestCommandImpl); var castedCommand = (CommandImpl)vmTarget.TestCommandImpl; Assert.IsNull(castedCommand.Parameter); control.PerformEvent(); Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter); }
public void SetCommand_OnButtonWithSimpleValueNoEventName_ClickEventShouldBeUsed() { var value = DateTime.Now.Ticks.ToString(); var vmTarget = new TestViewModel(); var control = new UIButtonEx(); control.SetCommand( vmTarget.SetPropertyCommand, value); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
public void SetCommand_OnButtonNoValue_NoError() { var value = DateTime.Now.Ticks.ToString(); var vmTarget = new TestViewModel(); vmTarget.Configure(value); var control = new UIButtonEx(); control.SetCommand("TouchUpInside", vmTarget.SetPropertyWithoutValueCommand); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
public virtual void AddMenuButton(Button button, string text = null) { if (button == null) { return; } if (button is UISelectButtonArrow) { return; } Text componentInChildren = button.GetComponentInChildren <Text>(); if (componentInChildren == null) { DebugUtils.Assert(componentInChildren, "Button without Text component!", true, DebugUtils.AssertType.Info); return; } if (!this.m_OptionsObjects.Values.Any((MenuBase.MenuOptionData d) => d.m_Button == button)) { Dictionary <GameObject, MenuBase.MenuOptionData> optionsObjects = this.m_OptionsObjects; GameObject gameObject = button.gameObject; MenuBase.MenuOptionData menuOptionData = new MenuBase.MenuOptionData(); menuOptionData.m_Button = button; menuOptionData.m_Object = button.gameObject; menuOptionData.m_Texts = new Text[0]; MenuBase.MenuOptionData menuOptionData2 = menuOptionData; UIButtonEx uibuttonEx = button as UIButtonEx; menuOptionData2.m_AnimatedRectTransform = ((uibuttonEx == null || uibuttonEx.m_MoveWhenFocused) ? componentInChildren.GetComponent <RectTransform>() : null); menuOptionData.m_ExtentRectTransforms = new RectTransform[] { button.GetComponent <RectTransform>() }; menuOptionData.m_InteractRectTransforms = new RectTransform[] { button.GetComponent <RectTransform>() }; optionsObjects.Add(gameObject, menuOptionData); } if (!text.Empty()) { componentInChildren.text = GreenHellGame.Instance.GetLocalization().Get(text, true); } }
public abstract void Clicked(UIButtonEx button);
public virtual void OnInputAction(InputActionData action_data) { if (action_data.m_Action == InputsManager.InputAction.Button_B) { if (!GreenHellGame.GetYesNoDialog().gameObject.activeSelf) { this.OnBack(); return; } } else if (action_data.m_Action == InputsManager.InputAction.Button_X) { if (!GreenHellGame.GetYesNoDialog().gameObject.activeSelf) { this.OnAccept(); return; } } else if (action_data.m_Action == InputsManager.InputAction.Button_A) { if (this.m_ActiveMenuOption != null && this.m_ActiveMenuOption.m_Button && !GreenHellGame.IsYesNoDialogActive()) { string persistentMethodName = this.m_ActiveMenuOption.m_Button.onClick.GetPersistentMethodName(0); base.SendMessage(persistentMethodName); return; } } else if (action_data.m_Action == InputsManager.InputAction.LSRight || action_data.m_Action == InputsManager.InputAction.DPadRight) { if (this.m_ActiveMenuOption != null && this.m_ActiveMenuOption.m_SelectButton) { this.m_ActiveMenuOption.m_SelectButton.PressRightArrow(); return; } } else if (action_data.m_Action == InputsManager.InputAction.LSLeft || action_data.m_Action == InputsManager.InputAction.DPadLeft) { if (this.m_ActiveMenuOption != null && this.m_ActiveMenuOption.m_SelectButton) { this.m_ActiveMenuOption.m_SelectButton.PressLeftArrow(); return; } } else { if (action_data.m_Action == InputsManager.InputAction.LSBackward || action_data.m_Action == InputsManager.InputAction.DPadDown) { for (int i = 0; i < this.m_OptionsObjects.Values.Count; i++) { MenuBase.MenuOptionData menuOptionData = this.m_OptionsObjects.Values.ElementAt(i); if (this.m_ActiveMenuOption == menuOptionData) { for (int j = i + 1; j < this.m_OptionsObjects.Values.Count; j++) { menuOptionData = this.m_OptionsObjects.Values.ElementAt(j); if (this.IsMenuButtonEnabled(menuOptionData.m_Button)) { UIButtonEx component = menuOptionData.m_Button.GetComponent <UIButtonEx>(); if (!component || component.m_MoveWhenFocused) { this.m_ActiveMenuOption = menuOptionData; return; } } if (this.IsMenuSliderEnabled(menuOptionData.m_Slider)) { this.m_ActiveMenuOption = menuOptionData; return; } if (this.IsMenuSelectButtonEnabled(menuOptionData.m_SelectButton)) { this.m_ActiveMenuOption = menuOptionData; return; } } return; } } return; } if (action_data.m_Action == InputsManager.InputAction.LSForward || action_data.m_Action == InputsManager.InputAction.DPadUp) { for (int k = 0; k < this.m_OptionsObjects.Values.Count; k++) { MenuBase.MenuOptionData menuOptionData2 = this.m_OptionsObjects.Values.ElementAt(k); if (this.m_ActiveMenuOption == menuOptionData2) { for (int l = k - 1; l >= 0; l--) { menuOptionData2 = this.m_OptionsObjects.Values.ElementAt(l); if (this.IsMenuButtonEnabled(menuOptionData2.m_Button)) { UIButtonEx component2 = menuOptionData2.m_Button.GetComponent <UIButtonEx>(); if (!component2 || component2.m_MoveWhenFocused) { this.m_ActiveMenuOption = menuOptionData2; return; } } if (this.IsMenuSliderEnabled(menuOptionData2.m_Slider)) { this.m_ActiveMenuOption = menuOptionData2; return; } if (this.IsMenuSelectButtonEnabled(menuOptionData2.m_SelectButton)) { this.m_ActiveMenuOption = menuOptionData2; return; } } return; } } } } }