示例#1
0
    void OnSceneGUI()
    {
        Tools.current = Tool.None;
        HandleUtility.AddDefaultControl(GUIUtility.GetControlID(FocusType.Passive));

        Handles.BeginGUI();
        GUILayout.BeginArea(new Rect(0, 0, 200, 200));
        GUILayout.Label("Hello");
        if (GUILayout.Button("Change Color"))
        {
            m_target.ChangeColor();
        }
        GUILayout.EndArea();
        Handles.EndGUI();

        Vector3 newPosition = Handles.FreeMoveHandle(m_target.transform.position, m_target.transform.rotation, 1, Vector3.one, Handles.RectangleCap);

        m_target.transform.position = newPosition;

        if (Event.current.type == EventType.MouseDown || Event.current.type == EventType.MouseUp)
        {
            m_target.ToggleShape();
            SceneView.lastActiveSceneView.Repaint();
        }
    }