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); }
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]) }); }