Exemplo n.º 1
0
        private RewardType getRewardType(int itemTypeId)
        {
            RewardTypeEnum rewardTypeId = Utilities.ToEnum <RewardTypeEnum>(itemTypeId).Value;
            RewardType     rewardType   = new RewardType(rewardTypeId);

            return(rewardType);
        }
Exemplo n.º 2
0
    /// <summary>
    /// 根据类型获取奖励数据
    /// </summary>
    /// <param name="dataType"></param>
    /// <param name="data"></param>
    /// <returns></returns>
    public static List <RewardTypeBean> GetListRewardDataByType(RewardTypeEnum dataType, string data)
    {
        List <RewardTypeBean> listAllReward = GetListRewardData(data);
        List <RewardTypeBean> listReward    = new List <RewardTypeBean>();

        foreach (RewardTypeBean itemReward in listAllReward)
        {
            if (itemReward.dataType == dataType)
            {
                listReward.Add(itemReward);
            }
        }
        return(listReward);
    }
Exemplo n.º 3
0
    protected static RewardTypeBean GetRandomRewardForData(List <CharacterBean> listEnemyData, RewardTypeEnum rewardType, string rewardListStr)
    {
        if (CheckUtil.StringIsNull(rewardListStr))
        {
            return(null);
        }
        List <string> listReward   = StringUtil.SplitBySubstringForListStr(rewardListStr, '|');
        string        randomReward = RandomUtil.GetRandomDataByList(listReward);
        string        rewardDataStr;

        if (randomReward.Equals("Skills"))
        {
            //如果没有传入敌人则不获取技能
            if (CheckUtil.ListIsNull(listEnemyData))
            {
                return(GetRandomRewardForData(listEnemyData, rewardType, rewardListStr));
            }
            List <long> listSkills = new List <long>();
            for (int i = 0; i < listEnemyData.Count; i++)
            {
                CharacterBean characterData = listEnemyData[i];
                listSkills.AddRange(characterData.attributes.listSkills);
            }
            long randomSkill = RandomUtil.GetRandomDataByList(listSkills);
            rewardDataStr = (1400000 + randomSkill) + "";
        }
        else
        {
            rewardDataStr = randomReward;
        }
        RewardTypeBean rewardData = new RewardTypeBean(rewardType, rewardDataStr);

        return(rewardData);
    }
Exemplo n.º 4
0
    public static void CompleteReward(List <CharacterBean> listCharacterData, List <RewardTypeBean> listRewardData)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        foreach (var itemData in listRewardData)
        {
            GetRewardDetails(itemData);
            RewardTypeEnum dataType = itemData.dataType;
            switch (dataType)
            {
            case RewardTypeEnum.AddWorkerNumber:
                int addWorkerNumber = itemData.rewardNumber;
                gameData.workerNumberLimit += addWorkerNumber;
                break;

            case RewardTypeEnum.AddWorker:
                gameData.AddWorkCharacter(itemData.workerCharacterData);
                ToastHandler.Instance.ToastHint(string.Format(TextHandler.Instance.manager.GetTextById(6011), itemData.workerCharacterData.baseInfo.name));
                break;

            case RewardTypeEnum.AddGuildCoin:
                long addGuildCoin = itemData.rewardNumber;
                gameData.AddGuildCoin(addGuildCoin);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddMoneyL:
                long addMoneyL = itemData.rewardNumber;
                gameData.AddMoney(addMoneyL, 0, 0);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6014), addMoneyL + ""));
                break;

            case RewardTypeEnum.AddMoneyM:
                long addMoneyM = itemData.rewardNumber;
                gameData.AddMoney(0, addMoneyM, 0);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6013), addMoneyM + ""));
                break;

            case RewardTypeEnum.AddMoneyS:
                long addMoneyS = itemData.rewardNumber;
                gameData.AddMoney(0, 0, addMoneyS);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6012), addMoneyS + ""));
                break;

            case RewardTypeEnum.AddArenaTrophyElementary:
                long addTrophy1 = itemData.rewardNumber;
                gameData.AddArenaTrophy(addTrophy1, 0, 0, 0, itemData.isRecord);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), string.Format(TextHandler.Instance.manager.GetTextById(6006), addTrophy1 + "")));
                break;

            case RewardTypeEnum.AddArenaTrophyIntermediate:
                long addTrophy2 = itemData.rewardNumber;
                gameData.AddArenaTrophy(0, addTrophy2, 0, 0, itemData.isRecord);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), string.Format(TextHandler.Instance.manager.GetTextById(6007), addTrophy2 + "")));
                break;

            case RewardTypeEnum.AddArenaTrophyAdvanced:
                long addTrophy3 = itemData.rewardNumber;
                gameData.AddArenaTrophy(0, 0, addTrophy3, 0, itemData.isRecord);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), string.Format(TextHandler.Instance.manager.GetTextById(6008), addTrophy3 + "")));
                break;

            case RewardTypeEnum.AddArenaTrophyLegendary:
                long addTrophy4 = itemData.rewardNumber;
                gameData.AddArenaTrophy(0, 0, 0, addTrophy4, itemData.isRecord);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), string.Format(TextHandler.Instance.manager.GetTextById(6009), addTrophy4 + "")));
                break;

            case RewardTypeEnum.AddItems:
            case RewardTypeEnum.RandomAddItems:
                gameData.AddItemsNumber(itemData.rewardId, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddBuildItems:
                gameData.AddBuildNumber(itemData.rewardId, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngOilsalt:
                gameData.AddIng(IngredientsEnum.Oilsalt, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngMeat:
                gameData.AddIng(IngredientsEnum.Meat, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngRiverfresh:
                gameData.AddIng(IngredientsEnum.Riverfresh, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngSeafood:
                gameData.AddIng(IngredientsEnum.Seafood, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngVegetables:
                gameData.AddIng(IngredientsEnum.Vegetables, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngMelonfruit:
                gameData.AddIng(IngredientsEnum.Melonfruit, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngWaterwine:
                gameData.AddIng(IngredientsEnum.Waterwine, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddIngFlour:
                gameData.AddIng(IngredientsEnum.Flour, itemData.rewardNumber);
                ToastHandler.Instance.ToastHint(itemData.spRewardIcon, string.Format(TextHandler.Instance.manager.GetTextById(6099), itemData.rewardDescribe));
                break;

            case RewardTypeEnum.AddChefExp:
                CompleteRewardForExp(listCharacterData, WorkerEnum.Chef, itemData.rewardNumber);
                break;

            case RewardTypeEnum.AddWaiterExp:
                CompleteRewardForExp(listCharacterData, WorkerEnum.Waiter, itemData.rewardNumber);
                break;

            case RewardTypeEnum.AddAccountantExp:
                CompleteRewardForExp(listCharacterData, WorkerEnum.Accountant, itemData.rewardNumber);
                break;

            case RewardTypeEnum.AddAccostExp:
                CompleteRewardForExp(listCharacterData, WorkerEnum.Accost, itemData.rewardNumber);
                break;

            case RewardTypeEnum.AddBeaterExp:
                CompleteRewardForExp(listCharacterData, WorkerEnum.Beater, itemData.rewardNumber);
                break;

            case RewardTypeEnum.AddChild:
                CompleteRewardForAddChild(itemData);
                break;
            }
        }
    }