Пример #1
0
    public void click_CollectGiftAll()
    {
        UI.SetWaitLoading(true);

        List <long> list = new List <long>();

        for (int i = 0; i < USER.I._PKListGifts.data.Length; i++)
        {
            list.Add(USER.I._PKListGifts.data[i].gift_id);
        }

        if (list.Count <= 0)
        {
            UI.SetWaitLoading(false);
            return;
        }

        long[] gift_array = list.ToArray();

        NET.I.SendReqAcceptGifts((id, msg) =>
        {
            PK.AcceptGifts.RECEIVE receive = JsonConvert.DeserializeObject <PK.AcceptGifts.RECEIVE>(msg);
            if (receive.data.balance > 0)
            {
                USER.I.GetUserInfo().Balance = receive.data.balance;
                USER.I.onUpdateUserInfo();
            }
            NET.I.SendReqListGifts((id2, msg2) => {
                USER.I.SetPKListGifts(msg2);
                Initialize();
                UI.SetWaitLoading(false);
            }, NET.I.OnSendReqTimerout);
        }, NET.I.OnSendReqTimerout, gift_array);
    }
Пример #2
0
 public override void callback_ItemClick(GameObject obj, params object[] args)
 {
     UI.SetWaitLoading(true);
     // 선물받기 이후의 처리 방식 프로세서를 모른다..
     NET.I.SendReqAcceptGifts((id, msg) =>
     {
         PK.AcceptGifts.RECEIVE receive = JsonConvert.DeserializeObject <PK.AcceptGifts.RECEIVE>(msg);
         // 밸런스 갱신.
         if (receive.data.balance > 0)
         {
             USER.I.GetUserInfo().Balance = receive.data.balance;
             USER.I.onUpdateUserInfo();
         }
         // 일단 전체 리스트 다시 요청
         NET.I.SendReqListGifts((id2, msg2) =>
         {
             USER.I.SetPKListGifts(msg2);
             // 여기서 업데이트 호출은 주 쓰레드 호출 오류 생긴다. (소켓 쓰레드 이기 때문)
             Initialize();
             UI.SetWaitLoading(false);
         }, NET.I.OnSendReqTimerout);
     }, NET.I.OnSendReqTimerout, new long[] { System.Convert.ToInt32(args[1]) });
 }