UnityGameProjectsCode / RelianceGame / Stat Control / FloatingDamage.cs
FloatingDamage.cs
Raw
using System.Collections.Generic;
using TMPro;
using UnityEngine;

public class FloatingDamage : MonoBehaviour
{
    public GameObject floatingDamagePrefab;
    private List<GameObject> floatingDamageObjects = new List<GameObject>();
    private GameObject currentObject;
    public Transform startMarker;
    public Transform endMarker;
    private Color32 oneDmg = new Color32(255, 0, 0, 0);
    private Color32 twoDmg = new Color32(0, 155, 255, 0);
    private Color32 moreThanTwoDmg = new Color32(255, 206, 0, 0);

    public void SpawnDamageNumber(int damageAmt, bool healing)
    {
        if (floatingDamageObjects.Count < 10)
        {
            currentObject = (Instantiate(floatingDamagePrefab as GameObject, transform));
            floatingDamageObjects.Add(currentObject);

            currentObject.GetComponent<MoveDamageValue>().SetMarkers(startMarker, endMarker);
        }
        else
        {
            for (int i = 0; i < floatingDamageObjects.Count; i++)
            {
                if (!floatingDamageObjects[i].activeSelf)
                {
                    currentObject = floatingDamageObjects[i];
                    currentObject.SetActive(true);
                    currentObject.transform.position = transform.position;
                    currentObject.GetComponent<MoveDamageValue>().ResetPosition();
                    break;
                }
            }
        }

        currentObject.GetComponent<TextMeshProUGUI>().text = damageAmt.ToString();

        if (healing)
            currentObject.GetComponent<TextMeshProUGUI>().color = Color.green;
        else
        {
            if (damageAmt == 1)
                currentObject.GetComponent<TextMeshProUGUI>().color = oneDmg;
            else if (damageAmt == 2)
                currentObject.GetComponent<TextMeshProUGUI>().color = twoDmg;
            else if (damageAmt > 2)
                currentObject.GetComponent<TextMeshProUGUI>().color = moreThanTwoDmg;
        }
    }
}