/// <summary> /// 提交按钮 /// </summary> public void OnClickSubmit() { UIGameText uiGameText = (UIGameText)uiComponent; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); //检测是否启用小游戏 if (CheckUtil.StringIsNull(textData.pre_data_minigame)) { List <PreTypeBean> listPre = PreTypeEnumTools.GetListPreData(textData.pre_data); foreach (PreTypeBean itemPreData in listPre) { PreTypeEnumTools.GetPreDetails(itemPreData, gameData); if (!itemPreData.isPre) { ToastHandler.Instance.ToastHint(itemPreData.spPreIcon, itemPreData.preFailStr); return; } } //完成前置条件 PreTypeEnumTools.CompletePre(listPre, gameData); //完成所有奖励 RewardTypeEnumTools.CompleteReward(null, textData.reward_data); uiGameText.SelectText(textData); } else { DialogBean dialogBean = new DialogBean(); PickForCharacterDialogView dialogView = DialogHandler.Instance.CreateDialog <PickForCharacterDialogView>(DialogEnum.PickForCharacter, this, dialogBean); PreTypeForMiniGameEnumTools.GetPlayerNumber(textData.pre_data_minigame, out int playerNumber); dialogView.SetPickCharacterMax(playerNumber); } }
/// <summary> /// 设置成就达成条件 /// </summary> /// <param name="data"></param> public void SetAchieve(AchievementStatusEnum status, AchievementInfoBean data) { CptUtil.RemoveChildsByActive(objAchieveContent.transform); if (data == null) { return; } List <PreTypeBean> listPreData = PreTypeEnumTools.GetListPreData(data.pre_data); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); foreach (var itemPreData in listPreData) { if (status == AchievementStatusEnum.Completed) { PreTypeEnumTools.GetPreDetails(itemPreData, gameData, true); } else { PreTypeEnumTools.GetPreDetails(itemPreData, gameData, false); } string preDes = itemPreData.preDescribe; float progress = itemPreData.progress; CreateAchieveItem(preDes, progress); } }
/// <summary> /// 创建前置数据 /// </summary> /// <param name="preData"></param> public void CreatePreDataItem(string preData) { List <PreTypeBean> listPreData = PreTypeEnumTools.GetListPreData(preData); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); foreach (var itemData in listPreData) { GameObject objPre = Instantiate(objPreContainer, objPreModel); PreTypeEnumTools.GetPreDetails(itemData, gameData); //设置图标 Sprite spIcon = itemData.spPreIcon; Image ivIcon = CptUtil.GetCptInChildrenByName <Image>(objPre, "Icon"); ivIcon.sprite = spIcon; //设置描述 string preDes = itemData.preDescribe; Text tvContent = CptUtil.GetCptInChildrenByName <Text>(objPre, "Text"); tvContent.text = preDes; //设置是否满足条件 Image ivStatus = CptUtil.GetCptInChildrenByName <Image>(objPre, "Status"); if (itemData.isPre) { ivStatus.sprite = spRePre; tvContent.color = colorPre; } else { isAllPre = false; ivStatus.sprite = spUnPre; tvContent.color = colorUnPre; } } GameUtil.RefreshRectViewHight((RectTransform)objPreContainer.transform, true); GameUtil.RefreshRectViewHight((RectTransform)transform, true); }
/// <summary> /// 提交晋升 /// </summary> public void OnClickSubmit() { AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (isAllPre) { //前置如果有需要临时支付的条件 PreTypeEnumTools.CompletePre(storeInfo.pre_data, gameData); //获取所有奖励 RewardTypeEnumTools.CompleteReward(null, storeInfo.reward_data); //客栈升级 gameData.innAttributes.SetInnLevelUp(); ToastHandler.Instance.ToastHint(ivTitleIcon.sprite, TextHandler.Instance.manager.GetTextById(1062)); UIHandler.Instance.manager.OpenUIAndCloseOther <UIGameMain>(UIEnum.GameMain); DialogBean dialogData = new DialogBean(); AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData); achievementDialog.SetData(storeInfo); } else { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1061)); } }
public void SetIcon(long achId, long[] preIds, string iconKey, string preData) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); bool isAllPre = PreTypeEnumTools.CheckIsAllPre(gameData, gameData.userCharacter, preData, out string reason); if (ivIcon == null || ivBackground == null) { return; } //检测是否拥有该成就 bool hasAch = gameData.GetAchievementData().CheckHasAchievement(achId); if (hasAch) { SetAchStatus(AchievementStatusEnum.Completed); return; } //检测前置成就 if (CheckUtil.ArrayIsNull(preIds)) { //检测是否符合条件 if (isAllPre) { SetAchStatus(AchievementStatusEnum.ToBeConfirmed); } else { SetAchStatus(AchievementStatusEnum.Processing); } } else { bool hasPre = gameData.GetAchievementData().CheckHasAchievement(preIds); if (hasPre) { //检测是否符合条件 if (isAllPre) { SetAchStatus(AchievementStatusEnum.ToBeConfirmed); } else { SetAchStatus(AchievementStatusEnum.Processing); } } else { SetAchStatus(AchievementStatusEnum.UnKnown); } } }
/// <summary> /// 设置技能数据 /// </summary> /// <param name="listData"></param> public void SetSkillInfoData(List <SkillInfoBean> listData) { if (listData == null || listData.Count == 0) { ToastHandler.Instance.ToastHint(ivIcon.sprite, TextHandler.Instance.manager.GetTextById(1065)); return; } SkillInfoBean skillInfo = listData[0]; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); bool isPre = PreTypeEnumTools.CheckIsAllPre(gameData, characterData, skillInfo.pre_data, out string reason); if (!isPre) { ToastHandler.Instance.ToastHint(ivIcon.sprite, reason); } else { //学习该技能 characterData.attributes.LearnSkill(itemsInfoData.add_id); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1064), characterData.baseInfo.name, itemsInfoData.name); ToastHandler.Instance.ToastHint(ivIcon.sprite, toastStr); RefreshItems(itemsInfoData.id, -1); } }