| | |
| | | using Core.Utilities; |
| | | using DG.Tweening; |
| | | using System; |
| | | using TMPro; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | |
| | | |
| | | public Image CritWord; |
| | | |
| | | // Start is called before the first frame update |
| | | void Start() |
| | | { |
| | | public Image FrostWord; |
| | | |
| | | } |
| | | |
| | | // Update is called once per frame |
| | | void Update() |
| | | { |
| | | } |
| | | public Image RestrainWord; |
| | | |
| | | private float scaleOffect = 1.5f; |
| | | |
| | |
| | | /// <param name="text"></param> |
| | | public void moveBloodText(float x, float y, string text, bool crit = false) |
| | | { |
| | | // 先设置Text的位置到一个标准位置 |
| | | // // 先设置Text的位置到一个标准位置 |
| | | // Vector3 pos = bloodText.transform.position; |
| | | // pos.x = x; |
| | | // pos.y = y; |
| | | // pos.z = 0; |
| | | // bloodText.transform.position = pos; |
| | | |
| | | // Vector3 sval = bloodText.transform.localScale; |
| | | // sval.x = 1.0f; |
| | | // sval.y = 1.0f; |
| | | // sval.z = 1.0f; |
| | | // bloodText.transform.localScale = sval * scaleOffect; |
| | | |
| | | bloodText.text = text; |
| | | // this.TextMove(bloodText, crit); |
| | | |
| | | Vector3 pos = bloodText.transform.position; |
| | | pos.x = x; |
| | | pos.y = y; |
| | | pos.z = 0; |
| | | bloodText.transform.position = pos; |
| | | |
| | | Vector3 sval = bloodText.transform.localScale; |
| | | sval.x = 1.0f; |
| | | sval.y = 1.0f; |
| | | sval.z = 1.0f; |
| | | bloodText.transform.localScale = sval * scaleOffect; |
| | | |
| | | bloodText.text = text; |
| | | this.TextMove(bloodText, crit); |
| | | Sequence sequence = DOTween.Sequence(); |
| | | bloodText.color = new Color(1f, 1f, 1f, 0.8f); |
| | | sequence.Join(DOTween.To(() => bloodText.transform.position, (Vector3 v) => bloodText.transform.position = v, |
| | | new Vector3(bloodText.transform.position.x + 20, bloodText.transform.position.y + 80, bloodText.transform.position.z), 0.2f)); |
| | | sequence.Append(DOTween.To(() => bloodText.color, (Color v) => bloodText.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart)); |
| | | sequence.Append(DOTween.To(() => bloodText.color, (Color v) => bloodText.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f)); |
| | | sequence.AppendCallback(() => { DestroyWord(); }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="y"></param> |
| | | public void FloatSlowDownWord(float x, float y) |
| | | { |
| | | // 先设置Text的位置到一个标准位置 |
| | | Vector3 pos = SlowDownWord.transform.position; |
| | | pos.x = x; |
| | | pos.y = y; |
| | | pos.z = 0; |
| | | SlowDownWord.transform.position = pos; |
| | | |
| | | Vector3 sval = SlowDownWord.transform.localScale; |
| | | sval.x = 1.0f; |
| | | sval.y = 1.0f; |
| | | sval.z = 1.0f; |
| | | SlowDownWord.transform.localScale = sval * scaleOffect; |
| | | |
| | | WordMove(SlowDownWord); |
| | | Sequence sequence = DOTween.Sequence(); |
| | | SlowDownWord.color = new Color(1f, 1f, 1f, 0.8f); |
| | | sequence.Join(DOTween.To(() => SlowDownWord.transform.position, (Vector3 v) => SlowDownWord.transform.position = v, |
| | | new Vector3(SlowDownWord.transform.position.x + 50 + UnityEngine.Random.Range(-15, 15), SlowDownWord.transform.position.y + 50 + UnityEngine.Random.Range(-15, 15), SlowDownWord.transform.position.z), 0.2f)); |
| | | sequence.Append(DOTween.To(() => SlowDownWord.color, (Color v) => SlowDownWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart)); |
| | | sequence.Append(DOTween.To(() => SlowDownWord.color, (Color v) => SlowDownWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f)); |
| | | sequence.AppendCallback(() => { DestroyWord(); }); |
| | | } |
| | | |
| | | public void FloatCritWord(float x, float y) |
| | | { |
| | | // 先设置Text的位置到一个标准位置 |
| | | Vector3 pos = CritWord.transform.position; |
| | | pos.x = x; |
| | | pos.y = y; |
| | | pos.z = 0; |
| | | CritWord.transform.position = pos; |
| | | |
| | | Vector3 sval = CritWord.transform.localScale; |
| | | sval.x = 1.0f; |
| | | sval.y = 1.0f; |
| | | sval.z = 1.0f; |
| | | CritWord.transform.localScale = sval * scaleOffect; |
| | | Sequence sequence = DOTween.Sequence(); |
| | | CritWord.color = new Color(1f, 1f, 1f, 0.8f); |
| | | sequence.Join(DOTween.To(() => CritWord.transform.position, (Vector3 v) => CritWord.transform.position = v, |
| | | new Vector3(CritWord.transform.position.x + 70, CritWord.transform.position.y + 20, CritWord.transform.position.z), 0.2f)); |
| | | sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart)); |
| | | sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f)); |
| | | sequence.AppendCallback(() => { DestroyWord(); }); |
| | | } |
| | | |
| | | WordMove(CritWord, true); |
| | | public void FloatFrostWord(float x, float y) |
| | | { |
| | | Vector3 pos = FrostWord.transform.position; |
| | | pos.x = x; |
| | | pos.y = y; |
| | | pos.z = 0; |
| | | FrostWord.transform.position = pos; |
| | | |
| | | Sequence sequence = DOTween.Sequence(); |
| | | FrostWord.color = new Color(1f, 1f, 1f, 0.8f); |
| | | sequence.Join(DOTween.To(() => FrostWord.transform.position, (Vector3 v) => FrostWord.transform.position = v, |
| | | new Vector3(FrostWord.transform.position.x - 50, FrostWord.transform.position.y + 50, FrostWord.transform.position.z), 0.2f)); |
| | | sequence.Append(DOTween.To(() => FrostWord.color, (Color v) => FrostWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart)); |
| | | sequence.Append(DOTween.To(() => FrostWord.color, (Color v) => FrostWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(1f)); |
| | | sequence.AppendCallback(() => { DestroyWord(); }); |
| | | } |
| | | |
| | | public void FloatRestrainWord(float x, float y) |
| | | { |
| | | Vector3 pos = RestrainWord.transform.position; |
| | | pos.x = x; |
| | | pos.y = y; |
| | | pos.z = 0; |
| | | RestrainWord.transform.position = pos; |
| | | |
| | | Sequence sequence = DOTween.Sequence(); |
| | | RestrainWord.color = new Color(1f, 1f, 1f, 0.8f); |
| | | sequence.Join(DOTween.To(() => RestrainWord.transform.position, (Vector3 v) => RestrainWord.transform.position = v, |
| | | new Vector3(RestrainWord.transform.position.x - 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.y + 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.z), 0.2f)); |
| | | sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart)); |
| | | sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f)); |
| | | sequence.AppendCallback(() => { DestroyWord(); }); |
| | | } |
| | | |
| | | private void WordMove(Graphic graphic, bool crit = false) |