public void Submit(DialogView dialogView, DialogBean dialogBean) { if (dialogView as PickForItemsDialogView) { PickForItemsDialogView pickForItemsDialog = dialogView as PickForItemsDialogView; pickForItemsDialog.GetSelectedItems(out ItemsInfoBean itemsInfo, out ItemBean itemData); //设置使用的物品 uiComponent.miniGameData.SetRoundActionItemsId(itemsInfo.id); if (callBack != null) { callBack.PickItemsComplete(itemsInfo); } } else if (dialogView as PickForSkillDialogView) { PickForSkillDialogView pickForSkillDialog = dialogView as PickForSkillDialogView; pickForSkillDialog.GetSelectedSkill(out SkillInfoBean skillInfo); //设置使用的技能 uiComponent.miniGameData.SetRoundActionSkill(skillInfo); if (callBack != null) { callBack.PickSkillComplete(skillInfo); } } }
/// <summary> /// 送礼 /// </summary> public void SendGift() { AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); DialogBean dialogData = new DialogBean(); // dialogData.content = string.Format(TextHandler.Instance.manager.GetTextById(3063), characterData.baseInfo.name); PickForItemsDialogView dialogView = DialogHandler.Instance.CreateDialog <PickForItemsDialogView>(DialogEnum.PickForItems, this, dialogData); dialogView.SetData(null, ItemsSelectionDialogView.SelectionTypeEnum.Gift); dialogView.SetSubmitDestroy(false); }
/// <summary> /// 指令物品 /// </summary> public void CommandItems() { AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); uiComponent.miniGameData.SetRoundActionCommand(MiniGameCombatCommand.Items); DialogBean dialogData = new DialogBean(); PickForItemsDialogView pickForItemsDialog = DialogHandler.Instance.CreateDialog <PickForItemsDialogView>(DialogEnum.PickForItems, this, dialogData); pickForItemsDialog.SetData(new List <GeneralEnum>() { GeneralEnum.Medicine }, ItemsSelectionDialogView.SelectionTypeEnum.Use); }
public void Submit(DialogView dialogView, DialogBean dialogBean) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (dialogView as PickForItemsDialogView) { // 如果送礼 PickForItemsDialogView pickForItems = dialogView as PickForItemsDialogView; pickForItems.GetSelectedItems(out ItemsInfoBean itemsInfo, out ItemBean itemData); //减去礼物 gameData.AddItemsNumber(itemsInfo.id, -1); //添加忠诚 int addLoyal = ((int)itemsInfo.GetItemRarity() + 1) * 5; characterData.attributes.AddLoyal(addLoyal); //刷新UI SetData(characterData); //提示 ToastHandler.Instance.ToastHint(ivLoyal.sprite, string.Format(TextHandler.Instance.manager.GetTextById(1132), characterData.baseInfo.name, addLoyal + "")); pickForItems.RefreshUI(); } else { //如果是确认 开除员工 //返还装备 if (characterData.equips.maskId != 0) { gameData.AddItemsNumber(characterData.equips.maskId, 1); } if (characterData.equips.maskTFId != 0) { gameData.AddItemsNumber(characterData.equips.maskTFId, 1); } if (characterData.equips.handId != 0) { gameData.AddItemsNumber(characterData.equips.handId, 1); } if (characterData.equips.handTFId != 0) { gameData.AddItemsNumber(characterData.equips.handTFId, 1); } if (characterData.equips.hatId != 0) { gameData.AddItemsNumber(characterData.equips.hatId, 1); } if (characterData.equips.hatTFId != 0) { gameData.AddItemsNumber(characterData.equips.hatTFId, 1); } if (characterData.equips.clothesId != 0) { gameData.AddItemsNumber(characterData.equips.clothesId, 1); } if (characterData.equips.clothesTFId != 0) { gameData.AddItemsNumber(characterData.equips.clothesTFId, 1); } if (characterData.equips.shoesId != 0) { gameData.AddItemsNumber(characterData.equips.shoesId, 1); } if (characterData.equips.shoesTFId != 0) { gameData.AddItemsNumber(characterData.equips.shoesTFId, 1); } ToastHandler.Instance.ToastHint(string.Format(TextHandler.Instance.manager.GetTextById(1081), characterData.baseInfo.name)); gameData.RemoveWorker(characterData); transform.DOScale(Vector3.zero, 0.3f).OnComplete(delegate { transform.localScale = new Vector3(1, 1, 1); characterData.baseInfo.characterId = null; uiComponent.RefreshUI(); }); } }
public void Submit(DialogView dialogView, DialogBean dialogBean) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); //送礼 if (dialogView is PickForItemsDialogView) { //获取选择物品 PickForItemsDialogView pickForItemsDialog = dialogView as PickForItemsDialogView; pickForItemsDialog.GetSelectedItems(out ItemsInfoBean itemsInfo, out ItemBean itemData); //获取赠送人 CharacterBean characterData = NpcInfoHandler.Instance.manager.GetCharacterDataById(mTalkNpcInfo.id); CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(mTalkNpcInfo.id); int addFavorability; int favorabilityForTalk; //根据物品稀有度增加好感 switch (itemsInfo.GetItemRarity()) { case RarityEnum.Normal: addFavorability = 1; favorabilityForTalk = 1; break; case RarityEnum.Rare: addFavorability = 3; favorabilityForTalk = 3; break; case RarityEnum.SuperRare: addFavorability = 6; favorabilityForTalk = 3; break; case RarityEnum.SuperiorSuperRare: addFavorability = 10; favorabilityForTalk = 3; break; case RarityEnum.UltraRare: addFavorability = 15; favorabilityForTalk = 3; break; default: addFavorability = 1; favorabilityForTalk = 1; break; } //增加送礼次数 characterFavorability.AddGiftNumber(1); //删减物品 gameData.AddItemsNumber(itemData.itemId, -1); //增加每日限制 GameCommonInfo.DailyLimitData.AddGiftNpc(mTalkNpcInfo.id); //通过增加好感查询对话 TextInfoHandler.Instance.manager.listTextData = TextInfoHandler.Instance.manager.GetGiftTalkByFavorability(favorabilityForTalk); ShowText(TextInfoHandler.Instance.manager.listTextData); //文本里面会默认加好感 //先减去文本加的好感 再添加实际的好感加成 characterFavorability.AddFavorability(-favorabilityForTalk); characterFavorability.AddFavorability(addFavorability); } //求婚 else { //减去信物 gameData.AddItemsNumber(99900021, -1); //弹窗提示 ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1341)); //设置3天后结婚 FamilyDataBean familyData = gameData.GetFamilyData(); familyData.timeForMarry = GameTimeHandler.Instance.GetAfterDay(3); //设置妻子数据 CharacterForFamilyBean characterData = new CharacterForFamilyBean(mTalkNpcInfo, familyData.timeForMarry); characterData.SetFamilyType(FamilyTypeEnum.Mate); familyData.mateCharacter = characterData; } }
/// <summary> /// 文本选择 /// </summary> /// <param name="textData"></param> public void SelectText(TextInfoBean textData) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); switch (mTextEnum) { case TextEnum.Look: case TextEnum.Story: NextText(textData.next_order); break; case TextEnum.Talk: //不同的对话选项 //对话 //如果是对话选项 if (textData.GetTextType() == TextInfoTypeEnum.Talk) { if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99102))) { //对话 TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkNormalData); NextText(1); //增加好感 if (GameCommonInfo.DailyLimitData.AddTalkNpc(mTalkNpcInfo.id)) { gameData.GetCharacterFavorability(mTalkNpcInfo.id).AddFavorability(1); } //增加数据记录 CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(mTalkNpcInfo.id); characterFavorability.AddTalkNumber(1); } //退出 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99103))) { NextText(); } //招募 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99104))) { if (gameData.CheckIsMaxWorker()) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1051)); } else { TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkRecruitData); NextText(1); } } //送礼 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99105))) { DialogBean dialogData = new DialogBean(); PickForItemsDialogView pickForItemsDialog = DialogHandler.Instance.CreateDialog <PickForItemsDialogView>(DialogEnum.PickForItems, this, dialogData); pickForItemsDialog.SetData(null, ItemsSelectionDialogView.SelectionTypeEnum.Gift); } //换取公会勋章 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99201))) { //对话 TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData); NextText(1); } //换取奖杯 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99202))) { //对话 TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData); NextText(1); } //换取装备 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99203))) { //对话 TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData); NextText(1); } //换取道具 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99204))) { //对话 TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData); NextText(1); } //求婚 else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99205))) { gameData.CheckHasItems(99900021, out bool hasItems, out long number); //判断是否有信物 if (hasItems) { DialogBean dialogData = new DialogBean(); dialogData.content = string.Format(TextHandler.Instance.manager.GetTextById(3121), mTalkNpcInfo.name); DialogHandler.Instance.CreateDialog <DialogView>(DialogEnum.Normal, this, dialogData); NextText(textData.next_order); } else { ItemsInfoBean itemsInfo = GameItemsHandler.Instance.manager.GetItemsById(99900021); ToastHandler.Instance.ToastHint(string.Format(TextHandler.Instance.manager.GetTextById(5023), itemsInfo.name, "1")); } } } else { NextText(textData.next_order); } break; } }