Beispiel #1
0
        public void Update()
        {
            if (!enabled || direction == TweenDirection.Button)
            {
                return;
            }

            if ((item.state == ItemState.closing || item.state == ItemState.closed) && direction == TweenDirection.Open ||
                (item.state == ItemState.opening || item.state == ItemState.opened) && direction == TweenDirection.Close)
            {
                return;
            }

            if (item.time < startPoint && item.time > endPoint)
            {
                return;
            }

            if (mode == TweenMode.Single)
            {
                effectValue = Evaluate(item.time, type);
            }
            else
            {
                openValue  = Evaluate(item.time, type);
                closeValue = Evaluate(item.time, closingType);
                if ((item.state == ItemState.closing && blendTime < blendFactor) ||
                    (item.state == ItemState.opening && blendTime > 0))
                {
                    blendTime += item.deltaTime;
                }
                effectValue = Mathf.SmoothStep(openValue, closeValue, Mathf.Clamp01(blendTime / blendFactor));
            }

            if (matProperty != null && effect == ItemEffect.property)
            {
                TSSItemBase.DoProperty(item, matProperty, effectValue);
            }
            else
            {
                TSSItemBase.DoEffect(item, effectValue, effect);
            }
        }
Beispiel #2
0
        public void UpdateButton(float deltaTime)
        {
            if (buttonEvaluation > 0)
            {
                buttonEvaluation -= deltaTime;
                if (buttonEvaluation < 0)
                {
                    buttonEvaluation = 0;
                }

                for (int i = 0; i < tweens.Count; i++)
                {
                    if (!tweens[i].enabled || tweens[i].direction != TweenDirection.Button)
                    {
                        continue;
                    }
                    TSSItemBase.DoEffect(this, tweens[i].Evaluate(buttonDirection == ButtonDirection.open2Close ?
                                                                  buttonEvaluation / buttonDuration :
                                                                  1 - (buttonEvaluation / buttonDuration), tweens[i].type), tweens[i].effect);
                }
            }
        }