/// <summary> /// 获胜后的奖励 /// </summary> private void WinResoult() { var bagitems = ResourceController.Instance.UseBagUItemDict.Keys; var trainer = context.playerData.scriptableObject; var trainerBagItems = trainer.bagItems; int randomIndex = RandomService.game.Int(0, bagitems.Count); int i = 0; string itemName = ""; foreach (var item in bagitems) { if (i++ == randomIndex) { itemName = item; break; } } if (bagitems.Contains(itemName)) { int itemCount = RandomService.game.Int(1, 5); DebugHelper.LogFormat("玩家获得 {0} {1}个", itemName, itemCount); trainerBagItems.Add(BagItems.Build(itemName, itemCount)); context.ReplacePlayerData(trainer); } }
public void Initialize() { string json = null; if (File.Exists(ResourceController.Instance.TrainerDataPath.ToString())) { json = File.ReadAllText(ResourceController.Instance.TrainerDataPath.ToString()); } Trainer trainer = ScriptableObject.CreateInstance <Trainer>(); if (json != null) { trainer = JsonConvert.DeserializeObject <Trainer>(json); } if (null == trainer || null == trainer.pokemons || 0 == trainer.pokemons.Count) { //如果没有精灵,就给一只皮卡丘和小火龙 Pokemon Pikaqiu = PokemonFactory.BuildPokemon(25); Pokemon Charmander = PokemonFactory.BuildPokemon(4); trainer.pokemons = new List <Pokemon>(6) { Pikaqiu, Charmander }; } else { foreach (Pokemon pokemon in trainer.pokemons) { new BattlePokemonData(pokemon); } } if (null == trainer || null == trainer.bagItems || 0 == trainer.bagItems.Count) { //如果道具背包没有物品,给5个精灵球 trainer.bagItems = new List <BagItems>(24) { BagItems.Build("精灵球", 5) }; } context.ReplacePlayerData(trainer); }
/// <summary> /// 获胜后的奖励 /// </summary> private void WinResoult() { if (null == bagitems) { bagitems = ResourceController.Instance.UseBagUItemDict.Keys; } var trainerBagItems = trainer.bagItems; int randomIndex = RandomService.game.Int(0, bagitems.Count); int i = 0; string itemName = ""; foreach (var item in bagitems) { if (i++ == randomIndex) { itemName = item; break; } } if (ResourceController.Instance.UseBagUItemDict.ContainsKey(itemName)) { int itemCount = RandomService.game.Int(1, 6); DebugHelper.Log( new StringBuilder(30) .AppendFormat("玩家获得 {0}", itemName) .Append(itemCount) .Append("个") .ToString()); var item = trainerBagItems.Find(x => x.ItemName == itemName); if (null == item) { trainerBagItems.Add(BagItems.Build(itemName, itemCount)); } else { item.count += itemCount; } context.ReplacePlayerData(trainer); } }