public void ShowCoutingText()
    {
        currentSheepCount++;

        TMPRichTextX txtMesh = coutingTextPool[currentTextPoolCursor];

        currentTextPoolCursor++;
        if (currentTextPoolCursor >= numOfCountingText)
        {
            currentTextPoolCursor = 0;
        }

        string content = string.Format("<sprite>sheepIcon</sprite>{0}", currentSheepCount.ToString());

        txtTopCountingText.SetText(content);
        txtMesh.SetText(content);

        txtMesh.DOKill();
        txtMesh.TextMeshProUGUIComp.DOFade(1, 0);
        txtMesh.gameObject.SetActive(true);
        txtMesh.transform.position = sampleText.transform.position;

        txtMesh.transform.DOPath(coutingTextFlyWayPoint, 5.0f, PathType.CatmullRom);
        txtMesh.TextMeshProUGUIComp.DOFade(0, 5.0f).onComplete = () =>
        {
            txtMesh.gameObject.SetActive(false);
        };
    }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        text.stringValue = EditorGUILayout.TextArea(text.stringValue, GUILayout.Height(45));
        EditorGUILayout.PropertyField(spriteAsset);
        serializedObject.ApplyModifiedProperties();

        TMPRichTextX myTarget = (TMPRichTextX)target;

        myTarget.DoRenderRichText();
    }
    public void AddSheepValue(double value)
    {
        float doubleValue = BoostTimer.Instance.IsX2SheepValue ? 2 : 1;

        value             *= 2;
        currentSheepValue += value;
        DataManager.Instance.PlayerData.userSheepCoin = currentSheepValue;

        TMPRichTextX txtMesh = coutingTextPool[currentTextPoolCursor];

        currentTextPoolCursor++;
        if (currentTextPoolCursor >= numOfCountingText)
        {
            currentTextPoolCursor = 0;
        }

        string content = string.Format("<sprite>sheepIcon</sprite>{0}", BigNumbers.BigNumber.ToShortString(currentSheepValue.ToString("F0"), 4));

        txtTopCountingText.SetText(content);

        if (BoostTimer.Instance.IsX2SheepValue)
        {
            content = string.Format("<sprite>sheepIcon</sprite><color=blue>{0}", BigNumbers.BigNumber.ToShortString(value.ToString("F0"), 4));
        }
        else
        {
            content = string.Format("<sprite>sheepIcon</sprite>{0}", BigNumbers.BigNumber.ToShortString(value.ToString("F0"), 4));
        }

        txtMesh.SetText(content);

        txtMesh.DOKill();
        txtMesh.TextMeshProUGUIComp.DOFade(1, 0);
        txtMesh.gameObject.SetActive(true);
        txtMesh.transform.position = sampleText.transform.position;

        txtMesh.transform.DOPath(coutingTextFlyWayPoint, 5.0f, PathType.CatmullRom);
        txtMesh.TextMeshProUGUIComp.DOFade(0, 5.0f).onComplete = () =>
        {
            txtMesh.gameObject.SetActive(false);
        };
    }