示例#1
0
        public void TestIsDisabled()
        {
            var trigger = TriggerDefs.IsDisabled(UIExt.Setter());

            trigger.Property.Should().Be(UIElement.IsEnabledProperty);
            trigger.Value.Should().Be(false);
            trigger.Setters.Count.Should().Be(1);
        }
示例#2
0
        public void TestIsPressed()
        {
            var trigger = TriggerDefs.IsPressed(UIExt.Setter());

            trigger.Property.Should().Be(ButtonBase.IsPressedProperty);
            trigger.Value.Should().Be(true);
            trigger.Setters.Count.Should().Be(1);
        }
示例#3
0
        public void TestIsMouseOver()
        {
            var trigger = TriggerDefs.IsMouseOver(UIExt.Setter());

            trigger.Property.Should().Be(UIElement.IsMouseOverProperty);
            trigger.Value.Should().Be(true);
            trigger.Setters.Count.Should().Be(1);
        }
示例#4
0
        public void SubToInput(CompositeDisposable disposable)
        {
            InitUnitSelected();
            InitUnitDeselected();

            void InitUnitDeselected()
            {
                UnitDeselected = inputController.OnMouseUp
                                 .Where(_ => !UIExt.IsPointerOverUIElement())
                                 .Select(raycastController.FireRaycast)
                                 .Where(_ => !raycastController.RaycastHitsUnit(_).isHit) //TODO: do one raycast with layers combines
                                 .Where(raycastController.RaycastHitsGlobalCollider)
                                 .AsUnitObservable();
            }

            void InitUnitSelected()
            {
                UnitSelected = inputController.OnMouseDown
                               .Select(raycastController.FireRaycast)
                               .SelectWhere(raycastController.RaycastHitsUnit)
                               .Select(DragInfo)
                               .Connect(disposable);
            }
        }