public CgeLayoutCommon(Action repaintCallback, CgeEditorEffector editorEffector, CgeActivityPreviewQueryAggregator activityPreviewQueryAggregator, CgeMemoryQuery memoryQuery) { _repaintCallback = repaintCallback; _editorEffector = editorEffector; _activityPreviewQueryAggregator = activityPreviewQueryAggregator; _memoryQuery = memoryQuery; }
private void OnEnable() { _editorEffector = new CgeEditorEffector(new CgeEditorState()); var blendTreeEffector = new CgeBlendTreeEffector(); var memoization = Cge.Get().Memoization; var renderingCommands = Ee.Get().RenderingCommands; var activityPreviewQueryAggregator = new CgeActivityPreviewQueryAggregator(memoization, _editorEffector, blendTreeEffector, renderingCommands); var cgeMemoryQuery = new CgeMemoryQuery(memoization); _common = new CgeLayoutCommon(Repaint, _editorEffector, activityPreviewQueryAggregator, cgeMemoryQuery); var driver = new CgeActivityEditorDriver(_editorEffector); _layoutPreventEyesBlinking = new CgeLayoutPreventEyesBlinking(_common, _editorEffector); _layoutFaceExpressionCombiner = new CgeLayoutFaceExpressionCombiner(_common, driver, _editorEffector, renderingCommands, activityPreviewQueryAggregator); _layoutOtherOptions = new CgeLayoutOtherOptions(_common, _editorEffector, activityPreviewQueryAggregator); _layoutSetFaceExpressions = new CgeLayoutSetFaceExpressions(_common, driver, _layoutFaceExpressionCombiner /* FIXME it is not normal to inject the layout here */, _editorEffector, Repaint, blendTreeEffector); _layoutManipulateTrees = new CgeLayoutManipulateTrees(_common, _editorEffector, blendTreeEffector); WindowHandler = new CgeWindowHandler(this, _editorEffector); _common.GuiInit(); _helpIcon16 = AssetDatabase.LoadAssetAtPath <Texture>("Assets/Hai/ComboGesture/Icons/help-16.png"); Ee.Get().Hooks.SetOnMainRenderedListener(rendered => { activityPreviewQueryAggregator.OnMainRendered(rendered, Repaint); }); }
public CgeActivityEditorCombiner(AnimationClip leftAnim, AnimationClip rightAnim, Action onClipRenderedFn, CgeEditorEffector editorEffector, EeRenderingCommands previewController) { _leftPreview = new EeRenderingSample(leftAnim, CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewWidth, CombinerPreviewHeight), OnClipRendered); _rightPreview = new EeRenderingSample(rightAnim, CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewWidth, CombinerPreviewHeight), OnClipRendered); _combinedPreview = new EeRenderingSample(new AnimationClip(), CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewCenterWidth, CombinerPreviewCenterHeight), OnClipRendered); _onClipRenderedFn = onClipRenderedFn; _editorEffector = editorEffector; _previewController = previewController; }
public CgeActivityEditorLipsync(ComboGestureLimitedLipsync limitedLipsync, Action onClipRenderedFn, CgeEditorEffector editorEffector, EeRenderingCommands renderingCommands) { _limitedLipsync = limitedLipsync; _onClipRenderedFn = onClipRenderedFn; _editorEffector = editorEffector; _renderingCommands = renderingCommands; _visemePreviews = Enumerable.Range(0, 15) .Select(i => new EeRenderingSample( new AnimationClip(), CgeMemoryQuery.NewPreviewTexture2D(LipsyncPreviewWidth, LipsyncPreviewHeight), OnClipRendered) ) .ToList(); }
private Dictionary <AnimationClip, Texture2D> GatherAnimations(ProcessMode processMode) { var enumerable = _editorArbitraryAnimations .Union(_editorEffector.AllDistinctAnimations()) .Union(_blendTreeEffector.AllAnimationsOfSelected()) .Distinct() .Where(clip => clip != null); if (processMode == ProcessMode.CalculateMissing) { enumerable = enumerable.Where(clip => !_memoization.Has(clip)); } return(new HashSet <AnimationClip>(enumerable.ToList()) .ToDictionary(clip => clip, clip => CgeMemoryQuery.NewPreviewTexture2D(_pictureWidth, _pictureHeight))); }