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);
            });
        }
Пример #2
0
 public CgeLayoutCommon(Action repaintCallback, CgeEditorEffector editorEffector, CgeActivityPreviewQueryAggregator activityPreviewQueryAggregator, CgeMemoryQuery memoryQuery)
 {
     _repaintCallback = repaintCallback;
     _editorEffector  = editorEffector;
     _activityPreviewQueryAggregator = activityPreviewQueryAggregator;
     _memoryQuery = memoryQuery;
 }
Пример #3
0
 public CgeActivityPreviewQueryAggregator(CgeMemoization cgeMemoization, CgeEditorEffector editorEffector, CgeBlendTreeEffector blendTreeEffector, EeRenderingCommands renderingCommands)
 {
     _cgeMemoization    = cgeMemoization;
     _editorEffector    = editorEffector;
     _blendTreeEffector = blendTreeEffector;
     _renderingCommands = renderingCommands;
 }
 public CgeLayoutMakeLipsyncMovementsSubtle(CgeLayoutCommon common, CgeActivityEditorDriver driver, CgeEditorEffector editorEffector, EeRenderingCommands renderingCommands)
 {
     _common            = common;
     _driver            = driver;
     _editorEffector    = editorEffector;
     _renderingCommands = renderingCommands;
 }
 public CgeLayoutFaceExpressionCombiner(CgeLayoutCommon common, CgeActivityEditorDriver driver, CgeEditorEffector editorEffector, EeRenderingCommands renderingCommands, CgeActivityPreviewQueryAggregator activityPreviewQueryAggregator)
 {
     _common            = common;
     _driver            = driver;
     _editorEffector    = editorEffector;
     _renderingCommands = renderingCommands;
     _activityPreviewQueryAggregator = activityPreviewQueryAggregator;
 }
Пример #6
0
 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;
 }
Пример #7
0
 public CgeLayoutSetFaceExpressions(CgeLayoutCommon common, CgeActivityEditorDriver driver, CgeLayoutFaceExpressionCombiner layoutFaceExpressionCombiner, CgeEditorEffector editorEffector, Action repaintCallback, CgeBlendTreeEffector blendTreeEffector)
 {
     _common = common;
     _driver = driver;
     _layoutFaceExpressionCombiner = layoutFaceExpressionCombiner;
     _editorEffector    = editorEffector;
     _repaintCallback   = repaintCallback;
     _blendTreeEffector = blendTreeEffector;
 }
Пример #8
0
        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();
        }
Пример #9
0
 public CgeActivityPreviewInternal(Action onClipRenderedFn,
                                   CgeEditorEffector editorEffector,
                                   CgeBlendTreeEffector blendTreeEffector,
                                   CgeMemoization memoization,
                                   int pictureWidth,
                                   int pictureHeight,
                                   EeRenderingCommands eeRenderingCommands)
 {
     _onClipRenderedFn          = onClipRenderedFn;
     _editorEffector            = editorEffector;
     _blendTreeEffector         = blendTreeEffector;
     _memoization               = memoization;
     _pictureWidth              = pictureWidth;
     _pictureHeight             = pictureHeight;
     _editorArbitraryAnimations = _editorEffector.GetActivity()?.editorArbitraryAnimations ?? new AnimationClip[] {};
     _eeRenderingCommands       = eeRenderingCommands;
 }
        public void DoSetCombiner(ComboGestureActivity activity, AnimationClip leftAnim, AnimationClip rightAnim, string propertyPath, bool usePermutations, Action repaintCallback, CgeEditorEffector editorEffector, EeRenderingCommands previewController)
        {
            Combiner = new CgeActivityEditorCombiner(leftAnim, rightAnim, repaintCallback, editorEffector /* FIXME: it is not normal to pass the effector here*/, previewController);
            Combiner.Prepare();

            CombinerTarget            = propertyPath;
            CombinerIsAPermutation    = usePermutations;
            CombinerCandidateFileName = "cge_" + leftAnim.name + "__combined__" + rightAnim.name;

            CombinerIsLikelyEyesClosed = activity.blinking.Contains(leftAnim) || activity.blinking.Contains(rightAnim);
        }
Пример #11
0
 public CgeWindowHandler(CgeEditorWindow window, CgeEditorEffector editorEffector)
 {
     _window         = window;
     _editorEffector = editorEffector;
 }
Пример #12
0
 public CgeActivityEditorDriver(CgeEditorEffector editorEffector)
 {
     _editorEffector = editorEffector;
 }
 public CgeLayoutManipulateTrees(CgeLayoutCommon common, CgeEditorEffector editorEffector, CgeBlendTreeEffector blendTreeEffector)
 {
     _common            = common;
     _editorEffector    = editorEffector;
     _blendTreeEffector = blendTreeEffector;
 }
 public CgeLayoutOtherOptions(CgeLayoutCommon common, CgeEditorEffector editorEffector, CgeActivityPreviewQueryAggregator activityPreviewQueryAggregator)
 {
     _common         = common;
     _editorEffector = editorEffector;
     _activityPreviewQueryAggregator = activityPreviewQueryAggregator;
 }
Пример #15
0
 public CgeLayoutPreventEyesBlinking(CgeLayoutCommon common, CgeEditorEffector editorEffector)
 {
     _common         = common;
     _editorEffector = editorEffector;
 }