public static void OpenSceneTool(GameObject go)
    {
        enabled            = false;
        activeGameObject   = go;
        selectedPointIndex = -1;

        CloseSceneTool();
        activeAnimationClip = AnimationWindowUtil.GetActiveAnimationClip();
        if (activeAnimationClip == null)
        {
            Type type = foundation.ObjectFactory.Locate("UnityEditor.AnimationWindow");
            EditorWindow.GetWindow(type);
            activeAnimationClip = AnimationWindowUtil.GetActiveAnimationClip();
            if (activeAnimationClip == null)
            {
                return;
            }
        }

        InitPointsInfo();
        AnimationWindowUtil.SetOnClipSelectionChanged(onClipSelectionChanged);
        AnimationUtility.onCurveWasModified += OnCurveWasModified;
        if (keepShow)
        {
            SceneView.duringSceneGui += OnSceneViewGUI;
        }

        enabled = true;
        SceneView.RepaintAll();
    }
示例#2
0
 private static void CloseSceneTool()
 {
     selectedPointIndex = -1;
     enabled            = false;
     AnimationWindowUtil.SetOnClipSelectionChanged(onClipSelectionChanged, true);
     AnimationUtility.onCurveWasModified -= OnCurveWasModified;
     SceneView.onSceneGUIDelegate         = (SceneView.OnSceneFunc)Delegate.RemoveAll(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(OnSceneViewGUI));
     SceneView.RepaintAll();
 }
 private static void CloseSceneTool()
 {
     selectedPointIndex = -1;
     enabled            = false;
     AnimationWindowUtil.SetOnClipSelectionChanged(onClipSelectionChanged, true);
     AnimationUtility.onCurveWasModified -= OnCurveWasModified;
     SceneView.duringSceneGui            -= OnSceneViewGUI;
     SceneView.RepaintAll();
 }
示例#4
0
    public static void OpenSceneTool(GameObject go)
    {
        enabled            = false;
        activeGameObject   = go;
        selectedPointIndex = -1;

        CloseSceneTool();
        activeAnimationClip = AnimationWindowUtil.GetActiveAnimationClip();
        if (activeAnimationClip == null)
        {
            return;
        }

        InitPointsInfo();
        AnimationWindowUtil.SetOnClipSelectionChanged(onClipSelectionChanged);
        AnimationUtility.onCurveWasModified += OnCurveWasModified;
        if (keepShow)
        {
            SceneView.onSceneGUIDelegate = (SceneView.OnSceneFunc)Delegate.Combine(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(OnSceneViewGUI));
        }

        enabled = true;
        SceneView.RepaintAll();
    }