using System; using DG.Tweening; using UnityEngine; public class UIHitsGradeController : MonoBehaviour { private void Start() { } private void Update() { if (this.hitNum < 40) { this._demageText.alpha = 0f; } else { this._demageText.alpha = 1f; if (this.hitNum < 80) { this._infoLabel.text = "+10%"; } else if (this.hitNum < 120) { this._infoLabel.text = "+20%"; } else { this._infoLabel.text = "+50%"; } } } public void BeHited() { if (!this.hitsNumLabel.isActiveAndEnabled && !this.hitBar.isActiveAndEnabled && this.hitNum == 1) { this.hitsNumLabel.gameObject.SetActive(true); this.hitBar.gameObject.SetActive(true); } this.hitNum++; this.hitsNumLabel.text = this.hitNum.ToString(); if (!DOTween.IsTweening(this.hitsNumLabel.transform, false)) { this.hitsNumLabel.transform.DOShakePosition(0.2f, (float)this.shakeRange * Vector3.one, 100, 90f, false, true).OnStart(delegate { this.hitsNumLabel.color = Color.yellow; }).OnComplete(delegate { this.hitsNumLabel.color = Color.white; }); } } public void HideHitNumAndBar() { this.hitNum = 0; this.hitsNumLabel.gameObject.SetActive(false); this.hitBar.gameObject.SetActive(false); } public float Hitbar { get { return this.hitBar.value; } set { this.hitBar.value = Mathf.Clamp01(value); } } [SerializeField] private UILabel hitsNumLabel; [SerializeField] private UIProgressBar hitBar; [SerializeField] private UILabel _demageText; [SerializeField] private UILabel _infoLabel; [SerializeField] [Range(0f, 100f)] private int shakeRange; private int hitNum; }