| | |
| | |
|
| | | public bool TrySendUse()
|
| | | {
|
| | | List<ChooseItems> chooseItemList = GetSendList(userChooseItemDict);
|
| | | CA323_tagCMUseItems.tagCMUseItemsSelect[] chooseItemList = GetSendList(userChooseItemDict, out List<ChooseItems> resultChooseItemDict, out string guid, out int count);
|
| | | //一个材料也没选
|
| | | if (chooseItemList.Count < 1)
|
| | | if (chooseItemList.Length < 1)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("ChooseItems01");
|
| | | return false;
|
| | | }
|
| | | for (int i = 0; i < chooseItemList.Count; i++)
|
| | | ItemOperateUtility.Instance.UseItem(chooseItemList[i].guid, chooseItemList[i].useCnt, chooseItemList[i].extra);
|
| | |
|
| | | var itemModel = packModel.GetItemByGuid(guid);
|
| | | if (itemModel == null)
|
| | | return false;
|
| | |
|
| | | for (int i = 0; i < resultChooseItemDict.Count; i++)
|
| | | {
|
| | | var item = packModel.GetItemByGuid(resultChooseItemDict[i].guid);
|
| | | if (item == null)
|
| | | return false;
|
| | |
|
| | | var error = 0;
|
| | | if (!ItemOperateUtility.Instance.CanUseItem(resultChooseItemDict[i].guid, resultChooseItemDict[i].useCnt, out error))
|
| | | {
|
| | | switch (error)
|
| | | {
|
| | | case 1:
|
| | | SysNotifyMgr.Instance.ShowTip("EverydayUseLimit");
|
| | | break;
|
| | | case 2:
|
| | | SysNotifyMgr.Instance.ShowTip("UseCntLimit");
|
| | | break;
|
| | | case 3:
|
| | | SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_749572");
|
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | | return false;
|
| | | }
|
| | | }
|
| | |
|
| | | var useItem = new CA323_tagCMUseItems();
|
| | | useItem.ItemIndex = (byte)itemModel.gridIndex;
|
| | | useItem.UseCnt = (ushort)count;
|
| | | useItem.ExData = (uint)0;
|
| | | useItem.SelectCount = (byte)chooseItemList.Length;
|
| | | useItem.SelectList = chooseItemList;
|
| | | GameNetSystem.Instance.SendInfo(useItem); |
| | | return true;
|
| | | }
|
| | |
|
| | | List<ChooseItems> GetSendList(Dictionary<int, ChooseItems> userChooseItemDict)
|
| | | void TryUseItem(string guid, int useCnt = 1, int extra = 0)
|
| | | {
|
| | | var item = packModel.GetItemByGuid(guid);
|
| | | if (item == null)
|
| | | return;
|
| | |
|
| | | var error = 0;
|
| | | if (!ItemOperateUtility.Instance.CanUseItem(guid, useCnt, out error))
|
| | | {
|
| | | switch (error)
|
| | | {
|
| | | case 1:
|
| | | SysNotifyMgr.Instance.ShowTip("EverydayUseLimit");
|
| | | break;
|
| | | case 2:
|
| | | SysNotifyMgr.Instance.ShowTip("UseCntLimit");
|
| | | break;
|
| | | case 3:
|
| | | SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_749572");
|
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | | return;
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | CA323_tagCMUseItems.tagCMUseItemsSelect[] GetSendList(Dictionary<int, ChooseItems> userChooseItemDict, out List<ChooseItems> resultChooseItemDict, out string guid, out int count)
|
| | | {
|
| | | guid = string.Empty;
|
| | | count = 0;
|
| | | resultChooseItemDict = new List<ChooseItems> { };
|
| | | List<int> list = new List<int>(userChooseItemDict.Keys);
|
| | | List<ChooseItems> result = new List<ChooseItems>();
|
| | | for (int i = 0; i < list.Count; i++)
|
| | | {
|
| | | int itemId = list[i];
|
| | | ChooseItems chooseItems = userChooseItemDict[itemId];
|
| | | if (!ItemConfig.Has(itemId)) |
| | | if (!ItemConfig.Has(itemId))
|
| | | continue;
|
| | | if (chooseItems == null || chooseItems.useCnt <= 0) |
| | | if (chooseItems == null || chooseItems.useCnt <= 0)
|
| | | continue;
|
| | | count += chooseItems.useCnt;
|
| | | result.Add(chooseItems);
|
| | | }
|
| | | return result;
|
| | | resultChooseItemDict = result;
|
| | | guid = result[0].guid;
|
| | |
|
| | | List<CA323_tagCMUseItems.tagCMUseItemsSelect> tagCMUseItemsSelects = new List<CA323_tagCMUseItems.tagCMUseItemsSelect>();
|
| | | for (int i = 0; i < result.Count; i++)
|
| | | {
|
| | | CA323_tagCMUseItems.tagCMUseItemsSelect temp = new CA323_tagCMUseItems.tagCMUseItemsSelect();
|
| | | temp.SelectID = (uint)result[i].extra;
|
| | | temp.SelectCnt = (ushort)result[i].useCnt;
|
| | | tagCMUseItemsSelects.Add(temp);
|
| | | }
|
| | |
|
| | | return tagCMUseItemsSelects.ToArray();
|
| | | }
|
| | |
|
| | | void ClearAll()
|