void Update()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hitInfo;

        if (Physics.Raycast(ray, out hitInfo, Mathf.Infinity))
        {
            if (hover_state == HoverState.NONE)
            {
                // -- not used, but may be useful :
                // -- hitInfo.collider.SendMessage("OnMouseEnter", SendMessageOptions.DontRequireReceiver);
                // -- hitInfo.transform.gameObject.GetComponent<TileScript>().myName = "yo";

                hoverObject            = hitInfo.transform.gameObject.GetComponent <TileScript>();
                hoverObject.IsSelected = true;
            }

            hover_state = HoverState.HOVER;

            selected();
        }
        else
        {
            if (hover_state == HoverState.HOVER)
            {
                //if (!hoverObject) {
                hoverObject.IsSelected = false;
                hoverObject.SetVisual();
                //}
            }
            ///hoverObject = null;
            hover_state = HoverState.NONE;
        }
    }
 void Update() {
     Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     RaycastHit hitInfo;
     
     if (Physics.Raycast(ray, out hitInfo, Mathf.Infinity)) {
         
         if (hover_state == HoverState.NONE) {
             // -- not used, but may be useful : 
             // -- hitInfo.collider.SendMessage("OnMouseEnter", SendMessageOptions.DontRequireReceiver);
             // -- hitInfo.transform.gameObject.GetComponent<TileScript>().myName = "yo";
             
             hoverObject = hitInfo.transform.gameObject.GetComponent<TileScript>();
             hoverObject.IsSelected = true;
         }
             
         hover_state = HoverState.HOVER;
         
         selected();
         
     } else {
         if (hover_state == HoverState.HOVER) {
             //if (!hoverObject) {
                 hoverObject.IsSelected = false;
                 hoverObject.SetVisual();
             //}
         }
         ///hoverObject = null;
         hover_state = HoverState.NONE;
     }
     
     
     
 }
        private async Task SetOpacityAsync(TouchEff sender, TouchState touchState, HoverState hoverState, int duration)
        {
            var regularOpacity = sender.RegularOpacity;
            var pressedOpacity = sender.PressedOpacity;
            var hoveredOpacity = sender.HoveredOpacity;

            if (Abs(regularOpacity - 1) <= double.Epsilon &&
                Abs(pressedOpacity - 1) <= double.Epsilon &&
                Abs(hoveredOpacity - 1) <= double.Epsilon)
            {
                return;
            }

            var opacity = regularOpacity;
            var easing  = sender.RegularAnimationEasing;

            if (touchState == TouchState.Pressed)
            {
                opacity = pressedOpacity;
                easing  = sender.PressedAnimationEasing;
            }
            else if (hoverState == HoverState.Hovering)
            {
                opacity = hoveredOpacity;
                easing  = sender.HoveredAnimationEasing;
            }

            await sender.Control.FadeTo(opacity, (uint)Abs(duration), easing);
        }
    private void Hover()
    {
        if (Input.GetKey(KeyCode.Space) && hoverState == HoverState.Ready)
        {
            if (currentHoverFuel > 0)
            {
                rb.AddRelativeForce(Vector2.up * hoverAcceleration);
                currentHoverFuel -= fuelDrainAmount * Time.fixedDeltaTime;
            }
            else
            {
                //Fuel fully drained, put hover on cooldown
                hoverState = HoverState.CoolDown;
                StartCoroutine(RechargeCD(hoverCDDuration));
            }
        }

        if (DG.IsGrounded)
        {
            //Fuel has been recharged, hover is ready
            if (currentHoverFuel >= maxHoverFuel)
            {
                hoverState = HoverState.Ready;
            }
            if (hoverState == HoverState.Recharging && currentHoverFuel < maxHoverFuel)
            {
                currentHoverFuel += fuelGainAmount * Time.deltaTime;
                if (currentHoverFuel > maxHoverFuel)
                {
                    currentHoverFuel = maxHoverFuel;
                }
            }
        }
    }
示例#5
0
        private async Task SetRotationXAsync(TouchEff sender, TouchState touchState, HoverState hoverState, int duration, Easing easing)
        {
            var regularRotationX = sender.RegularRotationX;
            var pressedRotationX = sender.PressedRotationX;
            var hoveredRotationX = sender.HoveredRotationX;

            if (Abs(regularRotationX) <= double.Epsilon &&
                Abs(pressedRotationX) <= double.Epsilon &&
                Abs(hoveredRotationX) <= double.Epsilon)
            {
                return;
            }

            var rotationX = regularRotationX;

            if (touchState == TouchState.Pressed)
            {
                rotationX = pressedRotationX;
            }
            else if (hoverState == HoverState.Hovering)
            {
                rotationX = hoveredRotationX;
            }

            await sender.Control.RotateXTo(rotationX, (uint)Abs(duration), easing);
        }
        private async Task SetRotationYAsync(TouchEff sender, TouchState touchState, HoverState hoverState, int duration)
        {
            var regularRotationY = sender.RegularRotationY;
            var pressedRotationY = sender.PressedRotationY;
            var hoveredRotationY = sender.HoveredRotationY;

            if (Abs(regularRotationY) <= double.Epsilon &&
                Abs(pressedRotationY) <= double.Epsilon &&
                Abs(hoveredRotationY) <= double.Epsilon)
            {
                return;
            }

            var rotationY = regularRotationY;
            var easing    = sender.RegularAnimationEasing;

            if (touchState == TouchState.Pressed)
            {
                rotationY = pressedRotationY;
                easing    = sender.PressedAnimationEasing;
            }
            else if (hoverState == HoverState.Hovering)
            {
                rotationY = hoveredRotationY;
                easing    = sender.HoveredAnimationEasing;
            }

            await sender.Control.RotateYTo(rotationY, (uint)Abs(duration), easing);
        }
示例#7
0
        protected override void ApplyHoverState(HoverState newHoverState, bool isStateChange, List <ProximityController> changedControllers)
        {
            foreach (ProximityController interactor in changedControllers)
            {
                if (interactor == null)
                {
                    continue;
                }

                LaserBeamController lbi = interactor.GetComponent <LaserBeamController> ();
                switch (newHoverState)
                {
                case HoverState.Hovered:
                case HoverState.Pressed:
                    if (lbi.hoveredObject != this)
                    {
//						Debug.Log (name + ": Adding hover state for pointer event: " + lbi.name);
                        UILaserInputModule.instance.HandleInputExitAndEnter(lbi.uiLaser.pointerEvent, gameObject);
                        lbi.hoveredObject = this;
                    }
                    break;

                case HoverState.DraggedAway:
                case HoverState.None:
                    if (lbi.hoveredObject == this)
                    {
//						Debug.Log (name + ": Removing hover state for pointer event: " + lbi.name);
                        UILaserInputModule.instance.HandleInputExitAndEnter(lbi.uiLaser.pointerEvent, null);
                        lbi.hoveredObject = null;
                    }
                    break;
                }
            }
        }
示例#8
0
        Task SetRotationX(TouchEffect sender, TouchState touchState, HoverState hoverState, int duration, Easing?easing)
        {
            var normalRotationX  = sender.NormalRotationX;
            var pressedRotationX = sender.PressedRotationX;
            var hoveredRotationX = sender.HoveredRotationX;

            if (Abs(normalRotationX) <= double.Epsilon &&
                Abs(pressedRotationX) <= double.Epsilon &&
                Abs(hoveredRotationX) <= double.Epsilon)
            {
                return(Task.FromResult(false));
            }

            var rotationX = normalRotationX;

            if (touchState == TouchState.Pressed)
            {
                rotationX = pressedRotationX;
            }
            else if (hoverState == HoverState.Hovered && (sender.Element?.IsSet(TouchEffect.HoveredRotationXProperty) ?? false))
            {
                rotationX = hoveredRotationX;
            }

            var element = sender.Element;

            if (duration <= 0 && element != null)
            {
                element.AbortAnimations();
                element.RotationX = rotationX;
                return(Task.FromResult(true));
            }

            return(element?.RotateXTo(rotationX, (uint)Abs(duration), easing) ?? Task.FromResult(false));
        }
    public void MouseOverTile()
    {
        //Start Tile highlighting code
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        hit = Physics2D.Raycast(ray.origin, ray.direction, 100f);
        if (hit)
        {
            hover_state = HoverState.HOVER;
        }
        else
        {
            hover_state = HoverState.NONE;
        }

        if (hover_state == HoverState.HOVER)
        {
            //Mouse is hovering
            //Debug.Log(mapController.GridToMap(mapController.grid.WorldToCell(hit.point)));
            //Debug.Log(MapController.instance.grid.WorldToCell(hit.point));
            //if (lastTileLoc != null)
            //    tileSelecting.SetTile(lastTileLoc, null);
            lastTileLoc = MapController.instance.grid.WorldToCell(hit.point);
            tilePointer = MapController.instance.grid.WorldToCell(hit.point);
        }
        //else
        //{
        //    tileSelecting.SetTile(lastTileLoc, null);
        //}
        //End Tile highlighting code
    }
        Task SetOpacity(TouchEffect sender, TouchState touchState, HoverState hoverState, int duration, Easing easing)
        {
            var normalOpacity  = sender.NormalOpacity;
            var pressedOpacity = sender.PressedOpacity;
            var hoveredOpacity = sender.HoveredOpacity;

            if (Abs(normalOpacity - 1) <= double.Epsilon &&
                Abs(pressedOpacity - 1) <= double.Epsilon &&
                Abs(hoveredOpacity - 1) <= double.Epsilon)
            {
                return(Task.FromResult(false));
            }

            var opacity = normalOpacity;

            if (touchState == TouchState.Pressed)
            {
                opacity = pressedOpacity;
            }
            else if (hoverState == HoverState.Hovered && sender.Element.IsSet(TouchEffect.HoveredOpacityProperty))
            {
                opacity = hoveredOpacity;
            }

            var element = sender.Element;

            if (duration <= 0)
            {
                element.Opacity = opacity;
                return(Task.FromResult(true));
            }

            return(element.FadeTo(opacity, (uint)Abs(duration), easing));
        }
示例#11
0
        protected override void OnMouseMove(MouseEventArgs args)
        {
            if (args.Button == MouseButtons.None)
            {
                if (mouseMoveIgnore > 0)
                {
                    mouseMoveIgnore--;
                    return;
                }
                lastLocation = args;

                if (hoverState == HoverState.InHover)
                {
                    DoHover();
                }
                else
                {
                    try
                    {
                        hoverTimer.Enabled = false;
                        hoverTimer.Enabled = true;
                        hoverTimer.Start();
                        hoverState = HoverState.Ready;
                    }
                    catch (InvalidOperationException)
                    {
                        // eat this here...
                    }
                }
            }

            base.OnMouseMove(args);
        }
        Task SetRotationY(TouchEffect sender, TouchState touchState, HoverState hoverState, int duration, Easing easing)
        {
            var normalRotationY  = sender.NormalRotationY;
            var pressedRotationY = sender.PressedRotationY;
            var hoveredRotationY = sender.HoveredRotationY;

            if (Abs(normalRotationY) <= double.Epsilon &&
                Abs(pressedRotationY) <= double.Epsilon &&
                Abs(hoveredRotationY) <= double.Epsilon)
            {
                return(Task.FromResult(false));
            }

            var rotationY = normalRotationY;

            if (touchState == TouchState.Pressed)
            {
                rotationY = pressedRotationY;
            }
            else if (hoverState == HoverState.Hovered && sender.Element.IsSet(TouchEffect.HoveredRotationYProperty))
            {
                rotationY = hoveredRotationY;
            }

            var element = sender.Element;

            if (duration <= 0)
            {
                element.RotationY = rotationY;
                return(Task.FromResult(true));
            }

            return(element.RotateYTo(rotationY, (uint)Abs(duration), easing));
        }
示例#13
0
    void Start()
    {
        anim = GetComponent <Animator>();
        //stateInfo = anim.GetCurrentAnimatorStateInfo(0);
        //jumpHash = Animator.StringToHash("Jump");

        hover_state = HoverState.NONE;
    }
示例#14
0
 public void OnButtonMouseover()
 {
     if (_selectedState != SelectedState.Selected)
     {
         _hoverState = HoverState.Hover;
         UpdateState();
     }
 }
示例#15
0
        public void Clear()
        {
            m_hoveredGO  = null;
            m_hoverState = HoverState.NONE;

            m_clickCount       = 0;
            m_isDetectingClick = false;
        }
示例#16
0
 public void OnButtonMouseout()
 {
     if (_selectedState != SelectedState.Selected)
     {
         _hoverState = HoverState.Default;
         UpdateState();
     }
 }
示例#17
0
 protected override void OnClick(EventArgs e)
 {
     hoverTimer.Enabled = false;
     hoverState         = HoverState.AfterClick;
     hoverTooltip.Hide();
     mouseMoveIgnore = 1;
     base.OnClick(e);
 }
示例#18
0
 private void checkLeaderChanged()
 {
     if (this.leaderLastPosition != toFollow.position ||
     this.leaderLastRotation != this.toFollow.rotation) {
     this.leaderLastPosition = toFollow.position;
     this.leaderLastRotation = toFollow.rotation;
     this.currentState = HoverState.FOLLOWING;
     }
 }
示例#19
0
        private Task GetAnimationTask(TouchEff sender, TouchState touchState, HoverState hoverState, double?durationMultiplier = null)
        {
            if (sender.Control == null)
            {
                return(Task.CompletedTask);
            }
            var token    = _animationTokenSource.Token;
            var duration = sender.RegularAnimationDuration;
            var easing   = sender.RegularAnimationEasing;

            if (touchState == TouchState.Pressed)
            {
                duration = sender.RegularAnimationDuration;
                easing   = sender.PressedAnimationEasing;
            }
            else if (hoverState == HoverState.Hovering)
            {
                duration = sender.HoveredAnimationDuration;
                easing   = sender.HoveredAnimationEasing;
            }
            duration = duration.AdjustDurationMultiplier(durationMultiplier);

            if (duration <= 0 &&
                Device.RuntimePlatform != Device.iOS &&
                Device.RuntimePlatform != Device.macOS)
            {
                duration = 1;
            }

            sender.RaiseAnimationStarted(touchState, hoverState, duration);
            return(Task.WhenAll(
                       _customAnimationTaskGetter?.Invoke(sender, touchState, hoverState, duration, easing, token) ?? Task.FromResult(true),
                       SetBackgroundColorAsync(sender, touchState, hoverState, duration, easing),
                       SetOpacityAsync(sender, touchState, hoverState, duration, easing),
                       SetScaleAsync(sender, touchState, hoverState, duration, easing),
                       SetTranslationAsync(sender, touchState, hoverState, duration, easing),
                       SetRotationAsync(sender, touchState, hoverState, duration, easing),
                       SetRotationXAsync(sender, touchState, hoverState, duration, easing),
                       SetRotationYAsync(sender, touchState, hoverState, duration, easing),
                       Task.Run(async() =>
            {
                _animationProgress = 0;
                _animationState = touchState;

                for (var progress = AnimationProgressDelay; progress < duration; progress += AnimationProgressDelay)
                {
                    await Task.Delay(AnimationProgressDelay).ConfigureAwait(false);
                    if (token.IsCancellationRequested)
                    {
                        return;
                    }
                    _animationProgress = (double)progress / duration;
                }
                _animationProgress = 1;
            })));
        }
示例#20
0
 void DoneHover()
 {
     if (hoverState == HoverState.InHover)
     {
         hoverTooltip.Hide();
         this.SelectionLength = 0;
         hoverState           = HoverState.Ready;
         hoverTimer.Enabled   = false;
     }
 }
示例#21
0
 private void followLeader()
 {
     Transform t = this.transform;
     t.position = Vector3.MoveTowards(t.position,toFollow.position + positionOffset,positionSpeed);
     t.LookAt(targetLookAt);
     t.Rotate (rotationOffset);
     if (t.position == toFollow.position + positionOffset) {
     this.currentState = HoverState.HOVERING;
     }
 }
        void UpdateVisualState(VisualElement visualElement, TouchState touchState, HoverState hoverState)
        {
            var state = touchState == TouchState.Pressed
                                ? nameof(TouchState.Pressed)
                                : hoverState == HoverState.Hovered
                                        ? nameof(HoverState.Hovered)
                                        : nameof(TouchState.Normal);

            VisualStateManager.GoToState(visualElement, state);
        }
示例#23
0
 private void checkLeaderChanged()
 {
     if (this.leaderLastPosition != toFollow.position ||
         this.leaderLastRotation != this.toFollow.rotation)
     {
         this.leaderLastPosition = toFollow.position;
         this.leaderLastRotation = toFollow.rotation;
         this.currentState       = HoverState.FOLLOWING;
     }
 }
示例#24
0
        void UpdateVisualState(VisualElement visualElement, TouchState touchState, HoverState hoverState)
        {
            var state = touchState == TouchState.Pressed
                                ? TouchEffect.PressedVisualState
                                : hoverState == HoverState.Hovered
                                        ? TouchEffect.HoveredVisualState
                                        : TouchEffect.UnpressedVisualState;

            VisualStateManager.GoToState(visualElement, state);
        }
 protected override void OnMouseLeave(EventArgs e)
 {
     if (_toggleHover)
     {
         if (_hoverState == HoverState.On)
         {
             _hoverState = HoverState.Off;
             RecreateHandle();
         }
     }
 }
示例#26
0
 private Predicate <Touch> MakeTriggerRule(GameObject obj, HoverState hover)
 {
     return(delegate(Touch touch)
     {
         if (obj == null || obj.IsDestroyed || obj.Layer == null)
         {
             return false;
         }
         return GetHoverState(touch, obj) == hover;
     });
 }
示例#27
0
 private void ButtonUp(XRButtonDatum datum)
 {
     if (datum.InputName == _visualizeButtonPressHitRay && _hoverState == HoverState.Press)
     {
         _hoverState = HoverState.Hover;
         _hitTargetMaterial.color = _hoverEndColor;
         _hitTargetInstance.transform.localScale = new Vector3(
             _hitTargetScale,
             _hitTargetScale,
             _hitTargetScale);
     }
 }
示例#28
0
        private void followLeader()
        {
            Transform t = this.transform;

            t.position = Vector3.MoveTowards(t.position, toFollow.position + positionOffset, positionSpeed);
            t.LookAt(targetLookAt);
            t.Rotate(rotationOffset);
            if (t.position == toFollow.position + positionOffset)
            {
                this.currentState = HoverState.HOVERING;
            }
        }
示例#29
0
        Task SetTranslation(TouchEffect sender, TouchState touchState, HoverState hoverState, int duration, Easing easing)
        {
            var normalTranslationX  = sender.NormalTranslationX;
            var pressedTranslationX = sender.PressedTranslationX;
            var hoveredTranslationX = sender.HoveredTranslationX;

            var normalTranslationY  = sender.NormalTranslationY;
            var pressedTranslationY = sender.PressedTranslationY;
            var hoveredTranslationY = sender.HoveredTranslationY;

            if (Abs(normalTranslationX) <= double.Epsilon &&
                Abs(pressedTranslationX) <= double.Epsilon &&
                Abs(hoveredTranslationX) <= double.Epsilon &&
                Abs(normalTranslationY) <= double.Epsilon &&
                Abs(pressedTranslationY) <= double.Epsilon &&
                Abs(hoveredTranslationY) <= double.Epsilon)
            {
                return(Task.FromResult(false));
            }

            var translationX = normalTranslationX;
            var translationY = normalTranslationY;

            if (touchState == TouchState.Pressed)
            {
                translationX = pressedTranslationX;
                translationY = pressedTranslationY;
            }
            else if (hoverState == HoverState.Hovered)
            {
                if (sender.Element.IsSet(TouchEffect.HoveredTranslationXProperty))
                {
                    translationX = hoveredTranslationX;
                }

                if (sender.Element.IsSet(TouchEffect.HoveredTranslationYProperty))
                {
                    translationY = hoveredTranslationY;
                }
            }

            var element = sender.Element;

            if (duration <= 0)
            {
                element.AbortAnimations();
                element.TranslationX = translationX;
                element.TranslationY = translationY;
                return(Task.FromResult(true));
            }

            return(element.TranslateTo(translationX, translationY, (uint)Abs(duration), easing));
        }
示例#30
0
 private void ButtonDown(XRButtonDatum datum)
 {
     if (datum.InputName == _visualizeButtonPressHitRay && datum.PressCollider != null)
     {
         _hoverState = HoverState.Press;
         _hitTargetMaterial.color = _pressEndColor;
         _hitTargetInstance.transform.localScale = new Vector3(
             _hitTargetScale * 1.5f,
             _hitTargetScale * 1.5f,
             _hitTargetScale * 1.5f);
     }
 }
    // Use this for initialization
    void Start()
    {
        arm = transform.GetChild(1).GetComponent <Arm>();
        if (arm.transform.GetChild(0).childCount > 0)
        {
            weapon = arm.transform.GetChild(0).GetChild(0);
        }

        direction        = Direction.RIGHT;
        hoverState       = HoverState.Ready;
        currentHoverFuel = maxHoverFuel;
    }
示例#32
0
        public bool SetHoverState(ProximityController controller, HoverState newHoverState)
        {
            if (newHoverState == HoverState.Hovered || newHoverState == HoverState.None)
            {
                Debug.LogError("Use AddHover or RemoveHover for setting hover state");
                // DSL: Might just want to re-route
                return(false);
            }

            // HoverState.Pressed or HoverState.DraggedAway
            if (newHoverState == HoverState.Pressed)
            {
                if (hoverState != HoverState.Hovered && hoverState != HoverState.DraggedAway)
                {
                    Debug.LogError("Cannot move to Pressed state from " + hoverState);
                    // DSL: Might just want to re-route
                    return(false);
                }
                if (!controller.SortedHoveredObjectsContains(this))
                {
                    controller.AddHoveredItem(this);
                }
                if (!hoveredList.Contains(controller))
                {
                    hoveredList.Add(controller);
                }
            }
            else if (newHoverState == HoverState.DraggedAway)
            {
                if (hoverState != HoverState.Pressed)
                {
                    Debug.LogError("Cannot move to DraggedAway state from " + hoverState);
                    // DSL: Might just want to re-route
                    return(false);
                }
                if (controller.SortedHoveredObjectsContains(this))
                {
                    controller.RemoveHoveredItem(this);
                }
                hoveredList.Remove(controller);
            }

            List <ProximityController> controllerList = new List <ProximityController>()
            {
                controller
            };

            ApplyHoverState(newHoverState, true, controllerList);
            hoverState = newHoverState;

            return(true);
        }
示例#33
0
        Task SetScale(TouchEffect sender, TouchState touchState, HoverState hoverState, int duration, Easing?easing)
        {
            var normalScale  = sender.NormalScale;
            var pressedScale = sender.PressedScale;
            var hoveredScale = sender.HoveredScale;

            if (Abs(normalScale - 1) <= double.Epsilon &&
                Abs(pressedScale - 1) <= double.Epsilon &&
                Abs(hoveredScale - 1) <= double.Epsilon)
            {
                return(Task.FromResult(false));
            }

            var scale = normalScale;

            if (touchState == TouchState.Pressed)
            {
                scale = pressedScale;
            }
            else if (hoverState == HoverState.Hovered && (sender.Element?.IsSet(TouchEffect.HoveredScaleProperty) ?? false))
            {
                scale = hoveredScale;
            }

            var element = sender.Element;

            if (element == null)
            {
                return(Task.FromResult(false));
            }

            if (duration <= 0)
            {
                element.AbortAnimations(nameof(SetScale));
                element.Scale = scale;
                return(Task.FromResult(true));
            }

            var animationCompletionSource = new TaskCompletionSource <bool>();

            element.Animate(nameof(SetScale), v =>
            {
                if (double.IsNaN(v))
                {
                    return;
                }

                element.Scale = v;
            }, element.Scale, scale, 16, (uint)Abs(duration), easing, (v, b) => animationCompletionSource.SetResult(b));
            return(animationCompletionSource.Task);
        }
 /// <summary>
 /// Initializes a new instance of the HoverStateChangeEventArgs class.
 /// </summary>
 /// <param name="hoverState">The <see cref="HoverState"/> values.</param>
 public HoverStateChangeEventArgs(HoverState hoverState)
 {
     this.m_hoverState = hoverState;
 }
示例#35
0
    void Update()
    {
        if (inGame && objectHolder.tutorialPanel.activeSelf)
        {
            if (tutCountDown < 0)
                objectHolder.tutorialPanel.SetActive(false);
            else
                tutCountDown -= Time.deltaTime;
        }
        if (Input.GetKeyDown(KeyCode.Escape) && inGame)
        {
            paused = !paused;
            OnPauseMenu();
        }
        if(Input.GetKeyDown(KeyCode.O))
        {
            if (inGame)
                UIHolder.Instance().WriteText("pressed O :/");
            Screen.SetResolution(1920, 1080, true);
            Screen.fullScreen = true;
        }
        if(Input.GetKeyDown(KeyCode.P))
        {
            Screen.fullScreen = false;
        }

        #region CenterMouse

        RaycastHit hitInfo = new RaycastHit();
        Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));

        if (Physics.Raycast(ray, out hitInfo))
        {
            if (hover_state == HoverState.NONE)
            {
                hoveredGO = hitInfo.collider.gameObject;
            }
            hover_state = HoverState.HOVER;
        }

        if(hitInfo.collider != null && (hitInfo.collider.gameObject != hoveredGO || hitInfo.distance > 3))
        {
            if (hover_state == HoverState.HOVER)
            {
                hoveredGO.SendMessage("MouseExit", SendMessageOptions.DontRequireReceiver);
            }
            hover_state = HoverState.NONE;
        }

        if (hover_state == HoverState.HOVER)
        {
            hitInfo.collider.SendMessage("MouseOver", SendMessageOptions.DontRequireReceiver); //Mouse is hovering
        }
        #endregion
    }
示例#36
0
        /// <summary>
        /// Raises the MouseMove event
        /// </summary>
        /// <param name="e">A MouseEventArgs that contains the event data.</param>
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (this.CaptionRectangle.Contains(e.X, e.Y) == true)
            {
                if (this.m_hoverStateCaptionBar == HoverState.None)
                {
                    this.m_hoverStateCaptionBar = HoverState.Hover;
                    OnCaptionBarHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateCaptionBar));
                }
            }
            else
            {
                if (this.m_hoverStateCaptionBar == HoverState.Hover)
                {
                    this.m_hoverStateCaptionBar = HoverState.None;
                    OnCaptionBarHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateCaptionBar));
                }
            }

            if ((this.ShowExpandIcon == true) || (this.ShowCloseIcon == true))
            {
                if (this.RectangleExpandIcon.Contains(e.X, e.Y) == true)
                {
                    if (this.m_hoverStateExpandIcon == HoverState.None)
                    {
                        this.m_hoverStateExpandIcon = HoverState.Hover;
                        OnExpandIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateExpandIcon));
                    }
                }
                else
                {
                    if (this.m_hoverStateExpandIcon == HoverState.Hover)
                    {
                        this.m_hoverStateExpandIcon = HoverState.None;
                        OnExpandIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateExpandIcon));
                    }
                }
                if (this.RectangleCloseIcon.Contains(e.X, e.Y) == true)
                {
                    if (this.m_hoverStateCloseIcon == HoverState.None)
                    {
                        this.m_hoverStateCloseIcon = HoverState.Hover;
                        OnCloseIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateCloseIcon));
                    }
                }
                else
                {
                    if (this.m_hoverStateCloseIcon == HoverState.Hover)
                    {
                        this.m_hoverStateCloseIcon = HoverState.None;
                        OnCloseIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateCloseIcon));
                    }
                }
            }
            base.OnMouseMove(e);
        }
示例#37
0
 /// <summary>
 /// Raises the MouseLeave event.
 /// </summary>
 /// <param name="e">An EventArgs that contains the event data.</param>
 protected override void OnMouseLeave(EventArgs e)
 {
     if (this.m_hoverStateCaptionBar == HoverState.Hover)
     {
         this.m_hoverStateCaptionBar = HoverState.None;
         OnCaptionBarHoverStateChanged(this,new HoverStateChangeEventArgs(this.m_hoverStateCaptionBar));
     }
     if (this.m_hoverStateExpandIcon == HoverState.Hover)
     {
         this.m_hoverStateExpandIcon = HoverState.None;
         OnExpandIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateExpandIcon));
     }
     if (this.m_hoverStateCloseIcon == HoverState.Hover)
     {
         this.m_hoverStateCloseIcon = HoverState.None;
         OnCloseIconHoverStateChanged(this, new HoverStateChangeEventArgs(this.m_hoverStateCloseIcon));
     }
     base.OnMouseLeave(e);
 }