예제 #1
0
    public void ResponseEventAchieveFinish(RES_ACHIEVE_FINISH info)
    {
        switch (m_eventWindow.GetSelectEventType)
        {
        case EVENT_TYPE.EVENT_SINGLE_ACHIEVE:
            InGameNotification.instance.UpdateCheckNotification(NOTI_TYPE.TYPE_POST, true, true);

            UpdateEventInfoNew((int)EVENT_TYPE.EVENT_SINGLE_ACHIEVE);
            m_eventWindow.UIWindowResponse(EVENT_TYPE.EVENT_SINGLE_ACHIEVE);
            break;

        case EVENT_TYPE.EVENT_MULTY_ACHIEVE:
            InGameNotification.instance.UpdateCheckNotification(NOTI_TYPE.TYPE_POST, true, true);

            UpdateEventInfoNew((int)EVENT_TYPE.EVENT_MULTY_ACHIEVE);
            m_eventWindow.UIWindowResponse(EVENT_TYPE.EVENT_MULTY_ACHIEVE, info.achCode);
            break;

        case EVENT_TYPE.EVENT_PROMOTION_COUPON01:
        case EVENT_TYPE.EVENT_PROMOTION_COUPON02:
        case EVENT_TYPE.EVENT_PROMOTION_COUPON03:
            SendEventPromoteCoupon(m_eventWindow.GetSelectEventType);
            break;
        }
    }
예제 #2
0
    public void ResponseAchieveFinish(RES_ACHIEVE_FINISH packet, bool isMsgView = true)
    {
        AchievementInfo info = WorldManager.instance.m_dataManager.m_achievementData.GetInfo(packet.achCode);

        switch (info.type)
        {
        case ACHIEVE_TYPE.TYPE_PROGRESS:
            m_achieveInfoTable[ACHIEVE_TYPE.TYPE_PROGRESS].Remove(info);

            if (info.index.Equals(packet.achInfo.achCode))
            {
                m_achieveInfoTable[ACHIEVE_TYPE.TYPE_NONE].Add(info);
            }
            else
            {
                m_sAchieveInfoTable.Remove(info.index);
                m_achieveInfoTable[ACHIEVE_TYPE.TYPE_PROGRESS].Add(WorldManager.instance.m_dataManager.m_achievementData.GetInfo(packet.achInfo.achCode));
            }
            break;

        case ACHIEVE_TYPE.TYPE_MULTY_EVENT:
            m_achieveInfoTable[ACHIEVE_TYPE.TYPE_PROGRESS].Remove(info);

            if (info.index.Equals(packet.achInfo.achCode))
            {
                m_achieveInfoTable[ACHIEVE_TYPE.TYPE_NONE].Add(info);
            }
            else
            {
                m_sAchieveInfoTable.Remove(info.index);
            }
            break;
        }

        UpdateAchieveInfoTable(packet.achInfo);

        if (isMsgView)
        {
            MsgBox.instance.OpenRewardBox("", Str.instance.Get(220), info.rewardIndex, info.rewardCount);
        }
        if (m_achieveWindow != null)
        {
            m_achieveWindow.RefreshWindow();
        }

        StateManager.instance.m_curState.UpdateGUIState();
    }