Exemple #1
0
    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);
            }
        }
    }
Exemple #2
0
    /// <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);
    }
Exemple #3
0
    /// <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);
    }
Exemple #4
0
    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();
            });
        }
    }
Exemple #5
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;
        }
    }
Exemple #6
0
    /// <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;
        }
    }