/// <summary> /// 完成成就 /// </summary> public void SubmitAchievement() { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (achievementInfo == null) { return; } if (status == AchievementStatusEnum.ToBeConfirmed) { //添加该成就和奖励 gameData.GetAchievementData().AddAchievement(achievementInfo.id); RewardTypeEnumTools.CompleteReward(null, achievementInfo.reward_data); //设置状态 SetAchStatus(AchievementStatusEnum.Completed); //刷新UI if (GetUIComponent <UITownGuildAchievement>() != null) { GetUIComponent <UITownGuildAchievement>().InitDataByType(achievementInfo.type); } //弹出特效提示 AchievementDialogView achDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, null, null); achDialog.SetData(achievementInfo); //播放音效 AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); //解锁steam成就 SteamHandler.Instance.UnLockAchievement(achievementInfo.id); } }
/// <summary> /// 使用 /// </summary> /// <param name="view"></param> public virtual void SelectionUse(ItemsSelectionDialogView view) { if (itemsInfoData == null || itemBean == null) { return; } GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); switch (itemsInfoData.GetItemsType()) { case GeneralEnum.Menu: //添加菜谱 if (gameData.AddFoodMenu(itemsInfoData.add_id)) { MenuInfoBean menuInfo = InnFoodHandler.Instance.manager.GetFoodDataById(itemsInfoData.add_id); RefreshItems(itemsInfoData.id, -1); DialogBean dialogData = new DialogBean { title = TextHandler.Instance.manager.GetTextById(1047), content = menuInfo.name }; AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData); achievementDialog.SetData(1, menuInfo.icon_key); ToastHandler.Instance.ToastHint(ivIcon.sprite, TextHandler.Instance.manager.GetTextById(1006)); } else { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1007)); }; break; default: break; } }
/// <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)); } }
/// <summary> /// 增加菜品研究点数 /// </summary> /// <param name="time"></param> public void AddMenuResearch(int time) { GameDataBean gameData = manager.GetGameData(); List <MenuOwnBean> listMenu = gameData.GetMenuListForResearching(); if (CheckUtil.ListIsNull(listMenu)) { return; } for (int i = 0; i < listMenu.Count; i++) { MenuOwnBean itemMenu = listMenu[i]; //获取研究人员 CharacterBean researcher = itemMenu.GetResearchCharacter(gameData); //如果没有研究人员则停止研究 if (researcher == null) { itemMenu.CancelResearch(gameData); continue; } MenuInfoBean menuInfo = InnFoodHandler.Instance.manager.GetFoodDataById(itemMenu.menuId); if (menuInfo == null) { continue; } long addExp = researcher.CalculationMenuResearchAddExp(); bool isCompleteResearch = itemMenu.AddResearchExp((int)addExp * time); //完成研究 if (isCompleteResearch) { itemMenu.CompleteResearch(gameData); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1071), menuInfo.name); AudioHandler.Instance.PlaySound(AudioSoundEnum.Reward); ToastHandler.Instance.ToastHint(InnFoodHandler.Instance.manager.GetFoodSpriteByName(menuInfo.icon_key), toastStr, 5); DialogBean dialogData = new DialogBean { title = TextHandler.Instance.manager.GetTextById(1048), content = toastStr }; AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData); achievementDialog.SetData(1, menuInfo.icon_key); } } notifyForData?.Invoke(NotifyTypeEnum.MenuResearchChange, new object[] { listMenu }); }
/// <summary> /// 增加菜品研究点数 /// </summary> /// <param name="time"></param> public void AddBedResearch(int time) { GameDataBean gameData = manager.GetGameData(); List <BuildBedBean> listBed = gameData.GetBedListForResearching(); if (CheckUtil.ListIsNull(listBed)) { return; } for (int i = 0; i < listBed.Count; i++) { BuildBedBean itemBed = listBed[i]; //获取研究人员 CharacterBean researcher = itemBed.GetResearchCharacter(gameData); //如果没有研究人员则停止研究 if (researcher == null) { itemBed.CancelResearch(gameData); continue; } long addExp = researcher.CalculationBedResearchAddExp(); bool isCompleteResearch = itemBed.AddResearchExp((int)addExp * time); //完成研究 if (isCompleteResearch) { itemBed.CompleteResearch(gameData); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1071), itemBed.bedName); AudioHandler.Instance.PlaySound(AudioSoundEnum.Reward); ToastHandler.Instance.ToastHint(InnFoodHandler.Instance.manager.GetFoodSpriteByName("ui_features_bed"), toastStr, 5); DialogBean dialogData = new DialogBean { title = TextHandler.Instance.manager.GetTextById(1048), content = toastStr }; AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData); achievementDialog.SetData(2, "ui_features_bed"); } } notifyForData?.Invoke(NotifyTypeEnum.BedResearchChange, new object[] { listBed }); }