Esempio n. 1
0
        void HandleInput(Event guiEvent, VoiceOverrideRoomExitButton voiceOverrideRoomExitButton)
        {
            Ray     mouseRay        = HandleUtility.GUIPointToWorldRay(guiEvent.mousePosition);
            float   drawPlaneHeight = 0;
            float   dstToDrawPlane  = (drawPlaneHeight - mouseRay.origin.y) / mouseRay.direction.y;
            Vector3 mousePosition   = mouseRay.GetPoint(dstToDrawPlane);

            if (guiEvent.type == EventType.MouseDown && guiEvent.button == 0 &&
                guiEvent.modifiers == EventModifiers.None)
            {
                HandleLeftMouseDown(mousePosition, voiceOverrideRoomExitButton);
            }
        }
Esempio n. 2
0
 void HandleLeftMouseDown(Vector3 mousePosition, VoiceOverrideRoomExitButton voiceOverrideRoomExitButton)
 {
     if (Utilities.IsValid(voiceOverrideRoomExitButton.voiceOverrideRoom))
     {
         var roomGuiPosition =
             HandleUtility.WorldToGUIPoint(voiceOverrideRoomExitButton.voiceOverrideRoom.transform.position);
         var mouseGuiPosition           = HandleUtility.WorldToGUIPoint(mousePosition);
         var clickCloseToRoomGameObject = Vector2.Distance(roomGuiPosition, mouseGuiPosition) < 10f;
         if (clickCloseToRoomGameObject)
         {
             Selection.SetActiveObjectWithContext(voiceOverrideRoomExitButton.voiceOverrideRoom.gameObject,
                                                  voiceOverrideRoomExitButton.voiceOverrideRoom);
             EditorGUIUtility.PingObject(voiceOverrideRoomExitButton.voiceOverrideRoom);
         }
     }
 }