Example #1
0
        public void ShowDamage(int damage, float timeForShow, Vector3 position, Vector3 lookAt)
        {
            var labelColor = damageLabelStartColor.Evaluate(damage / 100f);

            damageRenderer.material.color     = labelColor;
            backgroundRenderer.material.color = backgroundStartColor;
            transform.position = position;
            transform.LookAt(lookAt);
            damageLabel.text = $"-{damage.ToString()}";

            var screenAnimation = DOTween.Sequence();

            screenAnimation.Append(transform.DOMoveY(transform.position.y + liftingHeightInUnits, timeForShow));
            screenAnimation.Join(backgroundRenderer.material.DOColor(Color.clear, timeForShow));
            labelColor.a = 0;
            screenAnimation.Join(damageRenderer.material.DOColor(labelColor, timeForShow));
            screenAnimation.OnComplete(() => ObjectDeactivation?.Invoke(this));
        }
Example #2
0
 private void OnParticleSystemStopped()
 {
     ObjectDeactivation?.Invoke(this);
 }