private static void selectionChangeEventHandler() { if (Selection.activeGameObject != null) { Stop (); Sequence sequence = Selection.activeGameObject.GetComponent<Sequence> (); if (sequence != null) { __sequenceGameObject = sequence.gameObject; __sequence = sequence; SceneView.currentDrawingSceneView.Repaint (); EditorWindow.GetWindow<SequenceEditorWindow> ().Repaint (); __timeAreaW.hTicks.SetTickModulosForFrameRate (__sequence.frameRate); } } }
public static void ShowWindow() { SequenceEditorWindow window = EditorWindow.GetWindow<SequenceEditorWindow> (false, "Sequence"); if (__sequence != null) { __sequence = Selection.activeGameObject.GetComponent<Sequence> (); __sequenceGameObject = Selection.activeGameObject; if(__timeAreaW!=null) __timeAreaW.hTicks.SetTickModulosForFrameRate (__sequence.frameRate); } else { selectionChangeEventHandler (); } window.wantsMouseMove = true; UnityEngine.Object.DontDestroyOnLoad (window); }
/// <summary> /// Update this instance. /// </summary> private void Update() { if (__sequenceGameObject != null) { __sequence = __sequenceGameObject.GetComponent<Sequence> (); } if (!EditorApplication.isPlaying && __sequence != null && __sequence.isPlaying && (float)__sequence.timeCurrent<__sequence.duration) {//??? enters here even isPlaying is false __sequence.UpdateSequence (EditorApplication.timeSinceStartup); Debug.Log((float)__sequence.timeCurrent+"__"+__sequence.duration+" "+__sequence.isPlaying+" "+__sequence.name); SampleClipNodesAt (__sequence.timeCurrent); this.Repaint (); //this ensure update of MovieTexture (it its bottle neck do some reflection and force render call) //GetWindow<SceneView>().Repaint(); SceneView.RepaintAll (); //AudioUtilW.UpdateAudio(); } }
/// <summary> /// Ons the sequence end. /// </summary> /// <param name="sequence">Sequence.</param> public static void onSequenceEnd(Sequence sequence) { Stop (); }
/// <summary> /// Raises the game object selection changed event. /// </summary> /// <param name="data">Data.</param> private void OnGameObjectSelectionChanged(object data) { Sequence sequence = data as Sequence; Selection.activeGameObject = sequence.gameObject; __sequenceGameObject = sequence.gameObject; __sequence = sequence; }
//// CREATE NEW SEQUENCE GAME OBJECT WITH SEQUENCE BEHAVIOUR //// /// <summary> /// Creates the new sequence. /// </summary> private void CreateNewSequence() { List<Sequence> sequences = GameObjectUtilityEx.FindAllContainComponentOfType<Sequence> (); int count = 0; while (sequences.Find(x=>x.name == "Sequence "+count.ToString())!=null) { count++; } __sequenceGameObject = new GameObject ("Sequence " + count.ToString ()); __sequence = __sequenceGameObject.AddComponent<Sequence> (); Selection.activeGameObject = __sequenceGameObject; }