/// <summary> /// 增加好感 /// </summary> /// <param name="characterId"></param> /// <param name="favorablility"></param> public void AddFavorability(long characterId, int favorablility) { if (favorablility != 0) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); CharacterFavorabilityBean favorabilityData = gameData.GetCharacterFavorability(characterId); favorabilityData.AddFavorability(favorablility); //好感动画 if (ivFavorability != null && favorablility > 0) { ivFavorability.transform.localScale = new Vector3(1, 1, 1); ivFavorability.transform.DOComplete(); ivFavorability.gameObject.SetActive(true); ivFavorability.transform.DOScale(new Vector3(0, 0, 0), 1).From().SetEase(Ease.OutBack).OnComplete(delegate() { ivFavorability.gameObject.SetActive(false); }); ivFavorability.DOColor(new Color(1, 1, 1, 0), 1).From(); } //回调 if (uiComponent.callBack != null) { uiComponent.callBack.UITextAddFavorability(characterId, favorablility); } } }
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; } }