예제 #1
0
 void OnLongPressMover(LongPressGesture gesture)
 {
     if (gesture.Selection == this.gameObject)
     {
         if (!GUISprites.isOnAGUIElement)
         {
             MainDrawerHandler.CloseAllOpenDrawers();
             ShowSelectedState();
             ChangePositionHandler.SelectMovingObject(this);
         }
     }
 }
예제 #2
0
    void OnTap(TapGesture gesture)
    {
        if (gesture.Selection == gameObject)
        {
            if (!ModeSwitcher.isInTransition)
            {
                if (!GUISprites.isOnAGUIElement)
                {
                    if (!ChangePositionHandler.isInRepositioningMode)
                    {
                        if (!InputOutputManager.isUndergoingConnectivity)
                        {
                            //...Show device is touched
                            ShowSelectedState();

                            //If device only has one Affordance and it is a Binary one...
                            if (ListOfAffordances.Count == 1 && ListOfAffordances[0].Type == Affordances.Types.Binary)
                            {
                                //...Toggle it's binary affordance
                                ChangeAffordanceValue(new AffordanceInput(Affordances.Types.Binary, ListOfAffordances[0].name, (ListOfAffordances[0].value == 0) ? 1 : 0), true);
                                Invoke("ShowUnselectedState", changeColorDuration);
                            }
                            else
                            {
                                //...If not, bring up Functionality Drawer
                                if (Sub_FunctionalityMenuHandler)
                                {
                                    Sub_FunctionalityMenuHandler.BringUpMenu(this);
                                }
                            }
                            //...Revert device appearance back to it's original state
                        }
                        else
                        {
                            if (isCompatibleWithConnectivityType(InputOutputManager.ConnectingDeviceDictionary[InputOutputManager.ConnectingDevice]))
                            {
                                Sub_DeviceConnectivityManager.ConnectionAccepted(this);
                            }
                            else
                            {
                                Sub_DeviceConnectivityManager.ConnectionRefused(this);
                            }
                        }
                    }
                    else
                    {
                        ShowSelectedState();
                        ChangePositionHandler.SelectMovingObject(this);
                    }
                }
            }
        }
    }
예제 #3
0
    void OnLongPressShort(LongPressGesture gesture)
    {
        if (gesture.Selection == gameObject)
        {
            if (ListOfAffordances.Count == 1 && ListOfAffordances[0].Type == Affordances.Types.Binary)
            {
                if (!ModeSwitcher.isInTransition)
                {
                    if (!GUISprites.isOnAGUIElement)
                    {
                        if (!ChangePositionHandler.isInRepositioningMode)
                        {
                            if (!InputOutputManager.isUndergoingConnectivity)
                            {
                                //...Show device is touched
                                ShowSelectedState();

                                //...Bring up Functionality Drawer
                                Sub_FunctionalityMenuHandler.BringUpMenu(this);
                            }
                            else
                            {
                                if (isCompatibleWithConnectivityType(InputOutputManager.ConnectingDeviceDictionary[InputOutputManager.ConnectingDevice]))
                                {
                                    Sub_DeviceConnectivityManager.ConnectionAccepted(this);
                                }
                                else
                                {
                                    Sub_DeviceConnectivityManager.ConnectionRefused(this);
                                }
                            }
                        }
                        else
                        {
                            ShowSelectedState();
                            ChangePositionHandler.SelectMovingObject(this);
                        }
                    }
                }
            }
        }
    }