コード例 #1
0
    //------------------------------------------------------------------------------------------------------------------
    private void AppendRandomDamageNumberData()
    {
        SDamageNumbersData damageNumber = InitializeNullDamageNumbersStruct();

        int count = Random.Range(1, 10);

        for (int i = 0; i < count; i++)
        {
            Rect    startPosicao = new Rect(Random.Range(400, Screen.width - 400), Random.Range(400, Screen.height - 400), 100, 20);
            Vector2 endVector    = new Vector2(Random.Range(-10.0f, 10.0f), Random.Range(-10.0f, 0));
            endVector.Normalize();
            endVector *= Random.Range(100.0f, 150.0f);
            Rect endPosicao = new Rect(endVector.x, endVector.y, 100, 20);
            endPosicao.x += startPosicao.x;
            endPosicao.y += startPosicao.y;

            int    damageValue     = Random.Range(1000000, 10000000);
            string damageValueText = damageValue.ToString();
            damageValueText = string.Format("{0:0,0}", damageValue);

            damageNumber.m_textValue.Add(damageValueText);
            damageNumber.m_rectStartPosition.Add(startPosicao);
            damageNumber.m_rectCurrentPosition.Add(startPosicao);
            damageNumber.m_rectEndPosition.Add(endPosicao);
            damageNumber.m_currentTime = 0.0f;
            damageNumber.m_scale       = 1.0f;
        }

        m_damageNumbersList.Add(damageNumber);
    }
コード例 #2
0
 //------------------------------------------------------------------------------------------------------------------
 private void IncrementAnimationForAllDamageNumberData()
 {
     for (int i = 0; i < m_damageNumbersList.Count; i++)
     {
         SDamageNumbersData damageNumber = m_damageNumbersList[i];
         damageNumber.m_currentTime += m_overallTimeDuration * Time.deltaTime;
         damageNumber.m_scale       += 1.0f * Time.deltaTime;
         m_damageNumbersList[i]      = damageNumber;
     }
 }
コード例 #3
0
    //------------------------------------------------------------------------------------------------------------------
    private void AnimatePosition(int group, int item)
    {
        SDamageNumbersData damageNumber = m_damageNumbersList[group];

        Vector2 startPosition = new Vector2(damageNumber.m_rectStartPosition[item].x, damageNumber.m_rectStartPosition[item].y);
        Vector2 endPosition   = new Vector2(damageNumber.m_rectEndPosition[item].x, damageNumber.m_rectEndPosition[item].y);
        Vector2 position      = Vector2.Lerp(startPosition, endPosition, damageNumber.m_currentTime);
        Rect    rectPosition  = new Rect(position.x, position.y, damageNumber.m_rectStartPosition[item].width, damageNumber.m_rectStartPosition[item].height);

        damageNumber.m_rectCurrentPosition[item] = rectPosition;
        m_damageNumbersList[group] = damageNumber;
    }
コード例 #4
0
    //------------------------------------------------------------------------------------------------------------------
    private SDamageNumbersData InitializeNullDamageNumbersStruct()
    {
        SDamageNumbersData damageNumber = new SDamageNumbersData();

        damageNumber.m_textValue           = new List <string>();
        damageNumber.m_rectStartPosition   = new List <Rect>();
        damageNumber.m_rectCurrentPosition = new List <Rect>();
        damageNumber.m_rectEndPosition     = new List <Rect>();
        damageNumber.m_currentTime         = 0.0f;
        damageNumber.m_scale = 1.0f;

        return(damageNumber);
    }