private RewardType getRewardType(int itemTypeId) { RewardTypeEnum rewardTypeId = Utilities.ToEnum <RewardTypeEnum>(itemTypeId).Value; RewardType rewardType = new RewardType(rewardTypeId); return(rewardType); }
/// <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); }
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); }
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; } } }