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); }
public void SetPlayerData(PlayerData playerData) { _playerData = playerData; transferTitleText.text = Localization.Get("ui.activate_profession_view.activate_profession_title"); costResourcesTitleText.text = Localization.Get("ui.activate_profession_view.cost_resources_title"); transferText.text = Localization.Get("ui.activate_profession_view.transfer"); cancelText.text = Localization.Get("ui.activate_profession_view.cancel"); int transferTaskContidionCount = _playerData.transferTaskConditionIDList.Count; for (int i = 0; i < transferTaskContidionCount; i++) { TaskConditionData taskConditionData = TaskConditionData.GetTaskConditionData(_playerData.transferTaskConditionIDList[i]); Text transferConditionText = GameObject.Instantiate <Text>(transferConditionTextPrefab); transferConditionText.text = TaskUtil.GetTaskConditionDescriptionWithColor(taskConditionData); transferConditionText.transform.SetParent(transferConditionsRoot, false); transferConditionText.gameObject.SetActive(true); } transferConditionTextPrefab.gameObject.SetActive(false); List <GameResData> transferCostResourcesList = _playerData.transferCostList; int transferCostResourceCount = transferCostResourcesList.Count; commonItemIconPrefab.gameObject.SetActive(true); for (int i = 0; i < transferCostResourceCount; i++) { GameResData gameResData = transferCostResourcesList[i]; if (gameResData.type == BaseResType.Item) { int universalId = ItemData.GetItemDataByID(gameResData.id).universal_id; if (universalId != 0) { CommonItemIcon itemOrigin = CreateItemIcon(gameResData, true); CommonItemIcon itemGeneral = CreateItemIcon(new GameResData(BaseResType.Item, universalId, gameResData.count, gameResData.star), true); Toggle originToggle = itemOrigin.GetComponentInChildren <Toggle>(); generalMeterialGroup.AddToggle((uint)gameResData.id, originToggle); generalMeterialGroup.AddToggle((uint)gameResData.id, itemGeneral.GetComponentInChildren <Toggle>()); generalMeterialGroup.OnClickToggle(originToggle); } else { CreateItemIcon(gameResData, false); } } else { CreateItemIcon(gameResData, false); } } commonItemIconPrefab.gameObject.SetActive(false); }
private void Refresh() { textGetRewardBtn.text = Localization.Get("ui_task_view.get_reward"); imgTaskTitle.SetSprite(ResMgr.instance.Load <Sprite>(_taskInfo.taskData.GetTaskIconPath())); imgTaskTitle.SetNativeSize(); RefreshTaskContent(); RefreshReward(); RefreshProgress(); TaskConditionData data = TaskConditionData.GetTaskConditionData(taskInfo.taskData.id); if (data == null || data.goto_type == 0) { btnSkip.gameObject.SetActive(false); } else { btnSkip.gameObject.SetActive(true); } }
public void OnClickTaskIconBtnHandler() { TaskConditionData data = TaskConditionData.GetTaskConditionData(taskInfo.taskData.id); if (data == null) { Debugger.LogError("taskConditionData 找不到 id:{0}", taskInfo.GetFirstCondition().taskDataId); return; } if (data.goto_type == 0) { Debugger.Log("goto_type is 0"); return; } FunctionOpenType type = (FunctionOpenType)data.goto_type; bool isOpen = FunctionOpenProxy.instance.IsFunctionOpen(type, true); if (isOpen) { FunctionOpenProxy.instance.OpenFunction(type, data.goto_num); if (data.goto_num == 0) { return; } if (type == FunctionOpenType.MainView_PVE || type == FunctionOpenType.PVE_Normal || type == FunctionOpenType.PVE_Hard) { DungeonInfo info = DungeonProxy.instance.GetDungeonInfo(data.goto_num); if (info != null && !info.isLock) { FunctionOpenProxy.instance.OpenFunction(FunctionOpenType.Dungeon_Detail_View, data.goto_num); } else if (info == null) { Debugger.LogError("副本不存在,id" + data.goto_num); } else if (info.isLock) { CommonAutoDestroyTipsView.Open(Localization.Get("ui.goodsJumpPathView.notUnlock")); } } if (type == FunctionOpenType.MainView_Hero) { List <HeroInfo> heroList = HeroProxy.instance.GetAllHeroInfoList(); if (heroList.Count == 0) { return; } int id = (int)heroList[0].instanceID; print((FunctionOpenType)data.goto_num); FunctionOpenProxy.instance.OpenLuaView((FunctionOpenType)data.goto_num, id); } } // TaskType type = (TaskType)_taskInfo.taskData.type; // switch(type) // { // case TaskType.PassDungeonTimes://通关某个副本 // case TaskType.clearDungeon: //通关某个副本 // case TaskType.assignDungeonStar://指定副本星级 // { // int id = taskInfo.GetFirstCondition().secondParam; // DungeonInfo info = DungeonProxy.instance.GetDungeonInfo(id); // if(info!= null && !info.isLock) // FunctionOpenProxy.instance.OpenFunction(FunctionOpenType.Dungeon_Detail_View,info,true); // if(info == null) // Debugger.LogError("副本不存在,id"+id); // else if(info.isLock) // { // CommonAutoDestroyTipsView.Open(Localization.Get("ui.goodsJumpPathView.notUnlock")); // } // } // break; // case TaskType.dailyDungeonFight://参与每日副本 // { // FunctionOpenProxy.instance.OpenFunction(FunctionOpenType.MainView_DailyDungeon,null,false,true); // } // break; // case TaskType.boostNewDungeonCount://推进新副本次数 // //case TaskType.ProfessionIDAndLevel://职业等级 // { // FunctionOpenProxy.instance.OpenFunction(FunctionOpenType.Dungeon_SelectChapter_View); // } // break; // case TaskType.pvpFightCount: //竞技场战斗次数 // { // FunctionOpenProxy.instance.OpenFunction(FunctionOpenType.FightCenter_Arena,null,false,true); // } // break; // // } }