Esempio n. 1
0
        private void CancelInteractions()
        {
            if (LastHitComponent && LastHitComponent.GetComponent <IMorphInteractiveComponent>() != null)
            {
                //Unfocus
                IMorphComponentFocus focus = LastHitComponent?.GetComponent <IMorphComponentFocus>();
                if (focus != null && focus.IsFocused)
                {
                    focus.Unfocus();
                }

                //Deselect
                IMorphComponentSelect select = LastHitComponent?.GetComponent <IMorphComponentSelect>();
                if (select != null && select.IsSelected)
                {
                    select.Deselect();
                }

                //Release
                IMorphComponentGrab grab = LastHitComponent?.GetComponent <IMorphComponentGrab>();
                if (grab != null && grab.IsGrabbed)
                {
                    grab.Release();
                }
            }
        }
Esempio n. 2
0
        public override void Visit(IMorphComponentSelect visitable)
        {
            base.Visit(visitable);

            GameObject componentGameObject = (visitable as Component)?.gameObject;

            if (!componentGameObject)
            {
                return;
            }

            TMorphComponentSelectWithEventTrigger selectWithEventTrigger = componentGameObject.GetComponent <TMorphComponentSelectWithEventTrigger>();

            if (!selectWithEventTrigger)
            {
                selectWithEventTrigger = componentGameObject.AddComponent <TMorphComponentSelectWithEventTrigger>();
            }

            selectWithEventTrigger.SelectValidation   = SelectValidation;
            selectWithEventTrigger.DeselectValidation = DeselectValidation;
        }
Esempio n. 3
0
        protected void ListenTouchpadClicked(object sender, bool clicked)
        {
            if (!LastHitComponent || LastHitComponent.GetComponent <IMorphInteractiveComponent>() == null)
            {
                return;
            }

            //Select
            IMorphComponentSelect select = LastHitComponent.GetComponent <IMorphComponentSelect>();

            if (select == null)
            {
                return;
            }

            if (clicked && !select.IsSelected)
            {
                select.Select();
            }
            else if (!clicked && select.IsSelected)
            {
                select.Deselect();
            }
        }
Esempio n. 4
0
 public virtual void Visit(IMorphComponentSelect select)
 {
 }