/// <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> 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="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); }