public void Init(QuestProgressMsgInfo _info, float _fAppearTime, float _fShowTime, float _fHideTime)
    {
        dismissForwad.RemoveTransitionEndDelegate(HideEnd);
        dismissForwad.End();
        dismissForwad.AddTransitionEndDelegate(HideEnd);

        spriteText.Text         = _info.szMsg;
        spriteText.Color        = _info.color;


		bgGride.SetColor(Color.white);
        bgGride.width = spriteText.TotalWidth;
        bgGride.Assign();

        transform.localPosition = new Vector3(bgGride.TotalWidth * 0.5f, 0.0f, 0.0f);
       
        fShowTime = _fShowTime;

        bringInFoward.animParams[0].duration = _fAppearTime;
        bringInFoward.animParams[0].vec = new Vector3(-bgGride.TotalWidth, 0.0f, 0.0f);
        dismissForwad.animParams[0].duration = _fHideTime;
       // dismissForwad.animParams[1].duration = _fHideTime;


        nowState = QuestProgressionPanelState.NORMAL;
    }
    public void AddMessage(string _msg, QuestType _type)
    {
        QuestProgressMsgInfo msgInfo = null;

        if (_type == QuestType.QUEST_MAIN || _type == QuestType.QUEST_FIELD || _type == QuestType.QUEST_BOSS || _type == QuestType.QUEST_PVP)
            msgInfo = new QuestProgressMsgInfo(_msg, colorMainQuest);
        else if (_type == QuestType.QUEST_WANTED)
            msgInfo = new QuestProgressMsgInfo(_msg, colorWantedQuest);
        else if (_type == QuestType.QUEST_DAILY)
            msgInfo = new QuestProgressMsgInfo(_msg, colorDailyQuest);
        else
            msgInfo = new QuestProgressMsgInfo(_msg, Color.white);

        msgQueue.Enqueue(msgInfo);
    }
    public void AddMessage(string _msg, bool bComplete)
    {
        QuestProgressMsgInfo msgInfo = null;

        if (bComplete)
            msgInfo = new QuestProgressMsgInfo(_msg, colorCompleteQuest);
        else
            msgInfo = new QuestProgressMsgInfo(_msg, colorProgresssionQuest);

        msgQueue.Enqueue(msgInfo);
    }