Exemplo n.º 1
0
 /// <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);
         }
     }
 }
Exemplo n.º 2
0
    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;
        }
    }