public override bool AddAction(ITransitionAction action)
        {
            if (action == null || this.actions.Contains(action))
            {
                return(false);
            }

            switch (action)
            {
            case ITransitionAction <TState, TTransition, TSignal> actionSTS:
                actionSTS.Transition = this;
                break;

            case ITransitionAction <TTransition> actionT:
                actionT.Transition = this;
                break;

            default:
                action.Transition = this;
                break;
            }

            this.actions.Add(action);
            this.tickableActions.Add(action);
            return(true);
        }
Beispiel #2
0
        protected override void OnPanelOpen(params object[] args)
        {
            m_OpenParam = null;

            if (args.Length > 0)
            {
                m_OpenParam = args[0] as TransitionHelper.OpenParam;
            }

            if (m_OpenParam == null)
            {
                CloseSelfPanel();
                return;
            }

            if (m_OpenParam.action == null)
            {
                m_Action = this;
            }
            else
            {
                m_Action = m_OpenParam.action;
            }
            m_Action.transitionHandler = this;
            m_Action.PrepareTransition();
        }
Beispiel #3
0
        public void AddTransition(FTrigger trigger, IState target, ITransitionAction action)
        {
            FAssert.IsTrue(trigger != null, "Trigger is invalid.");
            FAssert.IsNotNull(target, $"Target state can't be null.");
            FAssert.IsNotNull(action, "Action can't be null");

            _transitions.Add(new FTransition(trigger, target, action));
        }
        public void UpdateMainTransitionTime(ITransitionAction _)
        {
            var elapsed = Time.time - this.transitionTime;

            this.transitionTimeText.text = $"{elapsed}";

            if (this.mainSlider)
            {
                this.mainSlider.value = elapsed / this.totalTransitionTime;
            }
        }
        public void UpdateMainTransitionName(ITransitionAction action, TransitionArgs _)
        {
            var transitionName = $"{action.Transition.Name}";

            this.transitionNameText.text = transitionName;
            this.transitionTime          = Time.time;
            this.mainSlider = null;

            ResetAll(this.mainTransitions, transitionName);

            if (this.mainTransitionMap.TryGetValue(transitionName, out var slider))
            {
                this.mainSlider = slider;
            }
        }
Beispiel #6
0
        protected override void OnClose()
        {
            if (m_Action != null)
            {
                m_Action.OnTransitionDestroy();
            }

            m_OpenParam = null;

            m_Action = null;

            m_NextPanel = null;

            if (m_NextPanelResLoader != null)
            {
                m_NextPanelResLoader.Recycle2Cache();
                m_NextPanelResLoader = null;
            }
        }
 public Transition <TState, TTransition, TSignal> On(
     ITransitionAction action)
 {
     AddAction(action);
     return(this);
 }
Beispiel #8
0
 public OrthogonalTransition <TState, TTransition, TSignal> On(
     ITransitionAction action)
 {
     this.Transition.On(action);
     return(this);
 }
Beispiel #9
0
 public FTransition(FTrigger trigger, IState target, ICondition condition, ITransitionAction action) : this(trigger, target, condition)
 {
     _actions.Add(action);
 }
Beispiel #10
0
 public abstract bool AddAction(ITransitionAction action);
 public void RemoveMainTransitionName(ITransitionAction _)
 {
     this.transitionNameText.text = string.Empty;
 }
Beispiel #12
0
 public OpenParam SetTransitionAction(ITransitionAction action)
 {
     m_Action = action;
     return(this);
 }