public void ClickTransferHandler() { int transferTaskConditioCount = _playerData.transferTaskConditionIDList.Count; for (int i = 0; i < transferTaskConditioCount; i++) { TaskConditionData taskConditionData = TaskConditionData.GetTaskConditionData(_playerData.transferTaskConditionIDList[i]); if (!TaskUtil.IsTaskConditionFinished(taskConditionData)) { CommonErrorTipsView.Open(Localization.Get("ui.common_tips.activate_profession_task_unfinished")); return; } } //通用材料检测 Dictionary <uint, List <Toggle> > groupDic = generalMeterialGroup.toggleGroup; List <int> generalMList = new List <int>(); foreach (var value in groupDic) { if (!value.Value[0].isOn) { generalMList.Add((int)value.Key); } } //资源是否够 List <GameResData> transferCostResourcesList = _playerData.transferCostList; int transferCostResourceCount = transferCostResourcesList.Count; for (int i = 0; i < transferCostResourceCount; i++) { GameResData gameResData = transferCostResourcesList[i]; if (GameResUtil.IsBaseRes(gameResData.type)) { if (GameProxy.instance.BaseResourceDictionary[gameResData.type] < gameResData.count) { CommonErrorTipsView.Open(string.Format(Localization.Get("ui.common_tips.not_enough_resource"), GameResUtil.GetBaseResName(gameResData.type))); return; } } else if (gameResData.type == BaseResType.Item) { ItemData itemData = ItemData.GetItemDataByID(gameResData.id); if (generalMList.Contains(gameResData.id)) //选择了通用材料 { itemData = ItemData.GetItemDataByID(itemData.universal_id); } ItemInfo itemInfo = ItemProxy.instance.GetItemInfoByItemID(itemData.id); if (itemInfo == null || itemInfo.count < gameResData.count) { // CommonErrorTipsView.Open(string.Format(Localization.Get("ui.common_tips.not_enough_resource"), Localization.Get(itemData.name))); CommonAutoDestroyTipsView.Open(Localization.Get("ui.activate_profession_view.item_not_enough")); return; } } } PlayerController.instance.CLIENT2LOBBY_PLAYER_TRANSFER_REQ((int)_playerData.Id, generalMList); UIMgr.instance.Close(PREFAB_PATH); }