コード例 #1
0
 private IEnumerable <IPromise> GetAnimateOffPromises(bool unscaled)
 {
     return(_animations.SelectEach(
                a => CoroutineExtensions.WaitForSeconds(_longestOff - a.OffDuration, unscaled)
                .Then(() => a.AnimateOff(unscaled))
                ));
 }
コード例 #2
0
        public IPromise AnimateOn(bool unscaled = false)
        {
            InitCheck();

            _currentState = EAnimateOnOffState.AnimatingOn;

            return(CoroutineExtensions.WaitForSeconds(Delay, unscaled)
                   .ThenTween(
                       Duration,
                       SetValue,
                       EaseType, unscaled)
                   .ThenDo(() => _currentState = EAnimateOnOffState.On));
        }
コード例 #3
0
        public virtual IPromise AnimateOn(bool unscaled = false)
        {
            if (CheckIfAnimating())
            {
                return(Promise.Resolved());
            }

            if (CurrentState == EAnimateOnOffState.On)
            {
                return(Promise.Resolved());
            }

            CurrentState = EAnimateOnOffState.AnimatingOn;

            gameObject.SetActive(true);

            return(CoroutineExtensions.WaitForSeconds(OnDelay, unscaled)
                   .ThenAll(() => GetAnimateOnPromises(unscaled))
                   .ThenDo(() => CurrentState = EAnimateOnOffState.On));
        }