public void TryAddNewTag(string tag)
    {
        GameObject emojiShowObj = GetCurrentEmojiShowObj();

        if (emojiShowObj == null)
        {
            return;
        }
        bool bExist = false;

        foreach (var ta in _RatingDict[emojiShowObj]._Tags)
        {
            if (ta._Tag == tag)
            {
                bExist = true;
                break;
            }
        }
        if (bExist)
        {
            return;
        }

        TagAccordance taNew = new TagAccordance();

        taNew._Tag        = tag;
        taNew._Accordance = 0.75f;

        _RatingDict [emojiShowObj]._Tags.Add(taNew);
    }
    public void ChangeAccordance(string tagName, float accord)
    {
        Rating rating = GetCurrentRating();

        for (int i = 0; i < rating._Tags.Count; i++)
        {
            TagAccordance ta = rating._Tags [i];
            if (ta._Tag == tagName)
            {
                ta._Accordance = accord;
            }
            rating._Tags [i] = ta;
        }
    }
    public void DeleteTag(string tagName)
    {
        Rating rating = GetCurrentRating();

        for (int i = 0; i < rating._Tags.Count; i++)
        {
            TagAccordance ta = rating._Tags [i];
            if (ta._Tag == tagName)
            {
                rating._Tags.RemoveAt(i);
                RateAnotherEmojiShowObj(0);
                return;
            }
        }
    }