예제 #1
0
        //------------------------------------------------------------------------/
        // Events
        //------------------------------------------------------------------------/
        private void ProcessTransitionEvent(BaseTransitionEvent e, Action startAction, Action endAction)
        {
            this.Log($"Received transition {e.GetType().GetNiceName()}. Window open ? {open}");
            TransitionAction action = new TransitionAction(e, startAction, endAction);

            transitions.Enqueue(action);

            // If not opened yet
            if (!open)
            {
                if (e.clearSelection)
                {
                    ClearSelectedObject();
                }

                OpenWindow(new StratusCanvasWindowOpenArguments()
                {
                    transitionSpeed = e.speed
                });
            }
            // If already open
            else
            {
                if (currentTransition.canContinue)
                {
                    this.Log("Moving onto next transition");
                    Continue();
                }
            }
        }
예제 #2
0
 public TransitionAction(BaseTransitionEvent e, Action start, Action end)
 {
     this.e     = e;
     this.start = start;
     this.end   = end;
 }