コード例 #1
0
    private bool HandleMouseDown(Event evt)
    {
        // Handle this event if we clicked on this object
        RaycastHit info;

        if (Physics.Raycast(HandleUtility.GUIPointToWorldRay(evt.mousePosition), out info, float.MaxValue, 1 << LayerMask.NameToLayer("EditorWaypoint")))
        {
            Waypoint selectedWaypoint = info.transform.parent.GetComponent <Waypoint>();
            if (selectedWaypoint == null)
            {
                selectedWaypoint = info.transform.GetComponent <Waypoint>();
            }

            if (selectedWaypoint == this.target as Waypoint)
            {
                // Nothing
            }
            else
            {
                Selection.activeObject = selectedWaypoint.gameObject;
            }
            WalkableFloorEditor.StoreTool();
            GUIUtility.hotControl = GUIUtility.GetControlID(FocusType.Passive);
            return(true);
        }
        return(false);
    }
コード例 #2
0
    private void OnSceneGUI()
    {
        Event evt = Event.current;

        switch (evt.type)
        {
        case EventType.MouseDrag:
            if (evt.button == 0)
            {
                if (HandleDrag(evt))
                {
                    evt.Use();
                }
            }
            break;

        case EventType.MouseUp:
            if (evt.button == 0)
            {
                if (HandleMouseUp(evt))
                {
                    evt.Use();
                }
                WalkableFloorEditor.RestoreTool();
            }
            break;

        case EventType.MouseDown:
            if (evt.button == 0)
            {
                if (HandleMouseDown(evt))
                {
                    evt.Use();
                }
                else
                {
                    WalkableFloorEditor.RestoreTool();
                }
            }
            break;

        case EventType.KeyDown:
            if (evt.keyCode == KeyCode.T)
            {
                if ((target as Waypoint).transform.parent != null)
                {
                    Selection.activeGameObject = (target as Waypoint).transform.parent.gameObject;
                }
            }
            break;
        }
        helpOpen = WalkableFloorEditor.ShowHelpControls(helpOpen);
    }
コード例 #3
0
    private void OnSceneGUI()
    {
        Event evt = Event.current;

        switch (evt.type)
        {
        case EventType.MouseDrag:
            if (evt.button == 0)
            {
                if (HandleDrag(evt))
                {
                    evt.Use();
                }
            }
            break;

        case EventType.MouseUp:
            if (evt.button == 0)
            {
                if (HandleMouseUp(evt))
                {
                    evt.Use();
                }
                WalkableFloorEditor.RestoreTool();
            }
            break;

        case EventType.MouseDown:
            if (evt.button == 0)
            {
                if (HandleMouseDown(evt))
                {
                    evt.Use();
                }
                else
                {
                    WalkableFloorEditor.RestoreTool();
                }
            }
            break;
        }
        helpOpen = WalkableFloorEditor.ShowHelpControls(helpOpen);
    }