Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
AnimeTween.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3using DG.Tweening;
4using UnityEngine;
5using UnityEngine.Events;
6
7public class AnimeTween : Anime
8{
9 public bool autoPlay;
10
11 public bool targetParent = true;
12
13 private List<DOTweenAnimation> animes = new List<DOTweenAnimation>();
14
15 public Transform target
16 {
17 get
18 {
19 if (!targetParent)
20 {
21 return base.transform;
22 }
23 return base.transform.parent;
24 }
25 }
26
27 private void Awake()
28 {
29 Refresh();
30 if (autoPlay)
31 {
32 Play(target);
33 }
34 }
35
36 public void Refresh()
37 {
38 animes = GetComponents<DOTweenAnimation>().ToList();
39 foreach (DOTweenAnimation anime in animes)
40 {
41 anime.target = target;
42 }
43 }
44
45 public void PlayDebug()
46 {
47 Refresh();
48 Play(target);
49 }
50
51 public void Kill()
52 {
53 foreach (DOTweenAnimation anime in animes)
54 {
55 if (anime.tween != null)
56 {
57 anime.tween.Kill();
58 }
59 }
60 }
61
62 public void Rewind()
63 {
64 Kill();
65 target.SetLocalScale(1f, 1f, 1f);
66 target.SetEulerAngles(0f, 0f, 0f);
67 Play(target);
68 }
69
70 public void Play()
71 {
72 Play(target);
73 }
74
75 public override Tween Play(Transform trans, UnityAction onComplete = null, float duration = -1f, float delay = 0f)
76 {
77 if (animes.Count == 0)
78 {
79 Refresh();
80 }
81 bool flag = true;
82 Sequence sequence = DOTween.Sequence();
83 foreach (DOTweenAnimation anime in animes)
84 {
85 anime.target = trans;
86 if (flag && onComplete != null)
87 {
88 anime.CreateTween(onComplete, duration);
89 flag = false;
90 }
91 else
92 {
93 anime.CreateTween(null, duration);
94 }
95 if (delay != 0f)
96 {
97 anime.tween.SetDelay(anime.tween.Delay() + delay);
98 }
99 sequence.Join(anime.tween);
100 }
101 sequence.Play();
102 return sequence;
103 }
104}
void Play()
Definition: AnimeTween.cs:70
void Rewind()
Definition: AnimeTween.cs:62
void Awake()
Definition: AnimeTween.cs:27
List< DOTweenAnimation > animes
Definition: AnimeTween.cs:13
override Tween Play(Transform trans, UnityAction onComplete=null, float duration=-1f, float delay=0f)
Definition: AnimeTween.cs:75
void Kill()
Definition: AnimeTween.cs:51
bool autoPlay
Definition: AnimeTween.cs:9
void Refresh()
Definition: AnimeTween.cs:36
Transform target
Definition: AnimeTween.cs:16
bool targetParent
Definition: AnimeTween.cs:11
void PlayDebug()
Definition: AnimeTween.cs:45
Definition: Anime.cs:6