//---------------------------------------------------------------------------------------------------------------------- #region IPlayableBehaviour interfaces public override void OnPlayableCreate(Playable playable) { #if UNITY_EDITOR m_editorUpdateTask = new SISPlayableMixerEditorUpdateTask(this); EditorUpdateManager.AddEditorUpdateTask( m_editorUpdateTask); #endif //UNITY_EDITOR }
public override void OnPlayableDestroy(Playable playable) { var clipAssets = GetClipAssets(); foreach (KeyValuePair<TimelineClip, StreamingImageSequencePlayableAsset> kv in clipAssets) { StreamingImageSequencePlayableAsset sisAsset = kv.Value; sisAsset.OnPlayableDestroy(playable); } base.OnPlayableDestroy(playable); #if UNITY_EDITOR EditorUpdateManager.RemoveEditorUpdateTask( m_editorUpdateTask); #endif //UNITY_EDITOR }
static void InitImageLoaderInEditor() { for (int i = 0; i < StreamingImageSequenceConstants.MAX_IMAGE_TYPES; ++i) { if (null != m_imageLoadEditorUpdateTasks[i]) { //Just in case: Elements of m_imageLoadEditorUpdateTasks should be back to null after entering edit mode continue; } ImageLoadEditorUpdateTask task = new ImageLoadEditorUpdateTask(); EditorUpdateManager.AddEditorUpdateTask(task); m_imageLoadEditorUpdateTasks[i] = task; } }