Esempio n. 1
0
        public TimelineVisuals(
            PlaybackControllerCallback playbackControllerCallback, LockButtonCallback onLockButton,
            TimelineCursorLineCallback cursorLineCallback, NodeEventsCallback nodeEventsCallback,
            SettingsEventsCallback settingsEventsCallback, FTMSelectedCallback FTMSelectedCallback,
            Val <bool> visualizationMode, Val <bool> isLocked, ExternalEditor advancedEditor, ImmutableArray <FunTweenManager> ftms,
            TimelineVisualsSettings visualsSettings
            )
        {
            this.visualizationMode     = visualizationMode;
            onPlaybackControllerButton = playbackControllerCallback;
            onTimelineCursorLine       = cursorLineCallback;
            onNodeEvent          = nodeEventsCallback;
            onNewSettings        = settingsEventsCallback;
            onFTMselectionChange = FTMSelectedCallback;
            this.isLocked        = isLocked;
            this.onLockButton    = onLockButton;
            this.advancedEditor  = advancedEditor;
            _visualsSettings     = visualsSettings;
            ftmsLabels           = ftms.Select((ftm, idx) => $"{idx}: {ftm.title}").ToArray();

            toStartButtonTexture     = EditorGUIUtility.FindTexture("d_beginButton");
            startButtonTexture       = EditorGUIUtility.FindTexture("d_StepButton");
            playButtonTexture        = EditorGUIUtility.FindTexture("d_PlayButton");
            pauseButtonTexture       = EditorGUIUtility.FindTexture("d_PauseButton");
            playFromEndButtonTexture = EditorGUIUtility.FindTexture("d_StepLeftButton");
            toEndButtonTexture       = EditorGUIUtility.FindTexture("d_endButton");
            reverseButtonTexture     = EditorGUIUtility.FindTexture("d_playLoopOff");
            exitButtonTexture        = EditorGUIUtility.FindTexture("P4_DeletedLocal");
            lockTexture   = EditorGUIUtility.FindTexture("LockIcon");
            lockOnTexture = EditorGUIUtility.FindTexture("LockIcon-On");
        }
    static void Init()
    {
        EditScoreSysScoEditor window = EditorWindow.GetWindow <EditScoreSysScoEditor>();

        window.wantsMouseMove = true;
        window.editor         = ExternalEditor.CreateInstance <ExternalEditor>();

        window.editor.DraggableSeparator = false;
        window.editor.DivisionSeparator  = 150;
    }
Esempio n. 3
0
    public static void Init()
    {
        ExternalInspectorWindow window = EditorWindow.GetWindow <ExternalInspectorWindow>();

        window.wantsMouseMove = true;
        window.editor         = ExternalEditor.CreateInstance <ExternalEditor>();

        window.editor.DraggableSeparator = false;
        window.editor.DivisionSeparator  = 150;
    }
Esempio n. 4
0
    static void Init()
    {
        SaveLoadExternalEditor window = EditorWindow.GetWindow <SaveLoadExternalEditor>();

        window.wantsMouseMove = true;
        window.editor         = ExternalEditor.CreateInstance <ExternalEditor>();

        window.editor.DraggableSeparator = false;
        window.editor.DivisionSeparator  = 150;
        saveload.UpdateWorldLevel();
    }
Esempio n. 5
0
            public Init(
                TimelineEditor backing, Option <FunTweenManager> ftmToSetOpt, Option <TimelineNode> rootSelectedNodeToSet
                )
            {
                EditorApplication.playmodeStateChanged += OnPlaymodeStateChanged;
                Undo.undoRedoPerformed         += undoCallback;
                EditorSceneManager.sceneSaving += EditorSceneManagerOnSceneSaving;

                advancedEditor           = CreateInstance <ExternalEditor>();
                advancedEditor.Instances = new object[] { };
                selectedGameObjectOpt    = Selection.activeGameObject.opt();

                isStartSnapped = false;
                isEndSnapped   = false;

                funNodes.Clear();
                selectedNodesList.Clear();

                this.backing = backing;

                ftms = getFunTweenManagers(selectedGameObjectOpt);

                foreach (var root in rootSelectedNodeToSet)
                {
                    selectedNodesList.Add(root);
                }
                rootSelectedNodeOpt = rootSelectedNodeToSet;

                selectedFunTweenManager =
                    ftmToSetOpt
                    .flatMap(ftmToSet => ftms.find(ftm => ftm == ftmToSet)) ||
                    ftms.headOption();

                timelineVisuals = new TimelineVisuals(
                    manageAnimationPlayback, toggleLock, manageCursorLine, doNodeEvents, doNewSettings, selectNewFunTweenManager,
                    visualizationMode, isLocked, advancedEditor, ftms,
                    getSettings()
                    );

                TimelineVisuals.TimelineVisualsSettings getSettings()
                {
                    var idx = selectedFunTweenManager.isSome
            ? ftms.IndexOf(selectedFunTweenManager.get)
            : 0;

                    return(selectedFunTweenManager.flatMap(
                               ftm => backing.mappedSettings.TryGet(ftm)
                               .map(settings => {
                        settings.selectedFTMindex = idx;
                        return settings;
                    })
                               ).getOrElse(new TimelineVisuals.TimelineVisualsSettings(idx)));
                }

                selectedFunTweenManager.voidFold(
                    () => funNodes.Clear(),
                    manager => {
                    tweenPlaybackController     = new TweenPlaybackController(manager, visualizationMode).some();
                    advancedEditor.unityObjects = new UnityEngine.Object[] { manager };
                    funNodes.Clear();
                    importTimeline();
                }
                    );

                backing.Repaint();
            }