Пример #1
0
    public void OnClickReceiveButton()
    {
#if BUILD_TYPE_DEBUG
        Debug.Log("CALL OnClickReceiveButton:" + gameObject.name);
#endif
        //連打防止
        if (ServerApi.IsExists)
        {
            return;
        }

        if (GlobalMenuManager.Instance.IsPageClosing() == true)
        {
            return;
        }

        if (GlobalMenuManager.Instance.IsCangeTime())
        {
            return;
        }
        SoundUtil.PlaySE(SEID.SE_MENU_OK2);

        ServerDataUtilSend.SendPacketAPI_AchievementOpen(
            new uint[]
        {
            Achievement.fix_id
        },
            null).
        setSuccessAction(
            (_data) =>
        {
            //ユーザー情報更新
            UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvOpenAchievement>(UserDataAdmin.Instance.m_StructPlayer);
            UserDataAdmin.Instance.ConvertPartyAssing();

            RecvOpenAchievementValue result = _data.GetResult <RecvOpenAchievement>().result;
            MissionOneOpenResultMessage(result);
            MissionGroup.SetEnaleReceiveButtonAll(false);
            MissionGroup.Activate();

            // 開封した新規達成アチーブメントを削除
            ResidentParam.DelAchievementClear(result.achievement_opened);
#if BUILD_TYPE_DEBUG
            Debug.LogError("FINISH:" + ((result.achievement_opened != null) ? result.achievement_opened.Length : 0));
#endif
            MainMenuManager.Instance.UpdateUserStatusFromGlobalMenu();
        }).
        setErrorAction(
            (_data) =>
        {
            Debug.LogError("ERROR:" + _data.m_PacketCode);
            MissionGroup.SetEnaleReceiveButtonAll(true);
        }).
        SendStart();
    }
Пример #2
0
 public void OnSendAchievementOpen()
 {
     ServerDataUtilSend.SendPacketAPI_AchievementOpen(aunAchievementOpen, aunAchievementGroupOpen).
     setSuccessAction((_data) =>
     {
         Debug.LogError("FINISH");
         RecvOpenAchievementValue result = _data.GetResult <RecvOpenAchievement>().result;
     }).
     setErrorAction((_data) =>
     {
         Debug.LogError("ERROR:" + _data.m_PacketCode);
     }).
     SendStart();
 }
Пример #3
0
    //一括受取ボタン
    public void OnClickReceiveAllButton()
    {
#if BUILD_TYPE_DEBUG
        Debug.Log("CALLOnClickReceiveAllButton");
#endif

        if (GlobalMenuManager.Instance.IsPageClosing() == true)
        {
            return;
        }

        //連打防止
        if (ServerApi.IsExists)
        {
            return;
        }

        if (GlobalMenuManager.Instance.IsCangeTime())
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK);

        List <MasterDataAchievementConverted> tmpOpenCollection = CurrentMissionGroup.Collection.FindAll((v) => v.IsState_Achieve || v.IsState_AchieveEffect);
        List <MasterDataAchievementConverted> openCollection    = new List <MasterDataAchievementConverted>();

        //--------------------------------------
        // フィルター設定に該当するミッションを抽出する
        //--------------------------------------
        MasterDataDefineLabel.AchievementReceiveType filterType = MasterDataDefineLabel.AchievementReceiveType.NONE;
        if (m_FilterInfo != null)
        {
            filterType = m_FilterInfo.m_receive_type;
        }
        for (int i = 0; i < tmpOpenCollection.Count; ++i)
        {
            if (MasterDataUtil.CheckReceivePresentType(tmpOpenCollection[i].present_ids, filterType) == true)
            {
                openCollection.Add(tmpOpenCollection[i]);
            }
        }

        uint[] present = openCollection.Select((v) => v.fix_id).ToArray();  // 現在のタブで、報酬があるアチーブメントの配列

        // リクエスト
        ServerDataUtilSend.SendPacketAPI_AchievementOpen(present, new uint[]
        {
            (uint)CurrentMissionGroup.missionGroupType
        }).
        setSuccessAction((_data) =>
        {
            //ユーザー情報更新
            UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvOpenAchievement>(UserDataAdmin.Instance.m_StructPlayer);
            UserDataAdmin.Instance.ConvertPartyAssing();

            RecvOpenAchievementValue result = _data.GetResult <RecvOpenAchievement>().result;
            MissionAllOpenResultMessage(result);
#if BUILD_TYPE_DEBUG
            Debug.Log("FINISH:" + result.achievement_opened);
#endif
            CurrentMissionGroup.SetEnaleReceiveButtonAll(false);     // 開封したミッションリストのボタンを押せなくする
            CurrentMissionGroup.Activate();

            // 開封した新規達成アチーブメントを削除
            ResidentParam.DelAchievementClear(result.achievement_opened);

            MainMenuManager.Instance.UpdateUserStatusFromGlobalMenu();
        }).
        setErrorAction((_data) =>
        {
            Debug.LogError("ERROR:" + _data.m_PacketCode);
            CurrentMissionGroup.SetEnaleReceiveButtonAll(true);
        }).
        SendStart();
    }