internal void RenderAddBlendshape(EePreviewAvatar?dummy, EeEditableBlendshape editableBlendshape, AnimationClip currentClip, int cameraIndex) { if (!dummy.HasValue) { return; } _renderingCommands.GenerateSpecificFastMode( new List <EeRenderingSample> { new EeRenderingSample( CreateAnimationClipForBinding(currentClip, editableBlendshape.Binding), BufferTexture2D(), preview => { EnsureBasedInitialized(); EeRenderingSupport.MutateMultilevelHighlightDifferences(editableBlendshape.BoundaryTexture, preview.RenderTexture, BasedTexture(editableBlendshape.Property)); EeAnimationEditorWindow.Obtain().Repaint(); } ) }, dummy.Value, cameraIndex ); RenderMain(dummy.Value); }
internal void Throttle(EePreviewAvatar?dummy, EeEditableBlendshape info, AnimationClip currentClip, int cameraIndex, bool stateMaintain, EeAnimationEditorScenePreviewMode stateScenePreviewMode) { if (!dummy.HasValue) { return; } _throttleFinishedAction = () => { RenderMain(dummy.Value); _renderingCommands.GenerateSpecificFastMode( new List <EeRenderingSample> { new EeRenderingSample( CreateAnimationClipForBinding(currentClip, info.Binding), BufferTexture2D(), preview => { EnsureBasedInitialized(); EeRenderingSupport.MutateMultilevelHighlightDifferences(info.BoundaryTexture, preview.RenderTexture, BasedTexture(info.Property)); EeAnimationEditorWindow.Obtain().Repaint(); } ) }, dummy.Value, cameraIndex ); }; if (stateMaintain && stateScenePreviewMode != EeAnimationEditorScenePreviewMode.Always) { Maintain(dummy.Value); } else if (!_isCalling) { EditorApplication.delayCall += () => { _isCalling = false; _throttleFinishedAction(); }; _isCalling = true; } }