summaryrefslogtreecommitdiff
path: root/Assets/UI_Extension/Scripts/Animation/Tween/TweenModule.cs
blob: e42236b97dd405d74d1af52e048c714bd372dcc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace TweenAnimation
{
    [Serializable]
    public abstract class TweenModule 
    {
        public bool enabled = true;

        public float timeOffset = 0;

        public float duration;

#if UNITY_EDITOR
        public new virtual string name { get { return ""; } }

        public string description;

        public virtual string tooltip { get { return "Tween Module " + name; } }

        [NonSerialized]
        public bool unfold;
#endif

        // 根据当前时间更新值, time的范围是tween animation的duration
        public void OnUpdate(float time)
        {
            float time0 = time - timeOffset;
            if (time0 < 0 || time0 > duration)
                return;
            SetValue(time0); 
        }

        // time是去掉了offset后的时间
        protected abstract void SetValue(float time);

    }
}