Beispiel #1
0
        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);
        }
Beispiel #2
0
 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;
             }
         }
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
    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);
Beispiel #9
0
 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;
                 }
             }
         }
     }
 }