public static bool UseDropItem(ItemConsumerConfig itemConfig) { if (itemConfig.DropId > 0) { var itemList = DropBook.GetDropItemList(itemConfig.DropId); var countList = new List <int>(); foreach (var itemId in itemList) { var isEquip = ConfigIdManager.IsEquip(itemId); if (isEquip) { UserProfile.InfoEquip.AddEquip(itemId, 60); } else { UserProfile.InfoBag.AddItem(itemId, 1); } countList.Add(1); } var form = new ItemPackageForm(); ((ItemPackageForm)form).SetItem(itemList.ToArray(), countList.ToArray()); PanelManager.DealPanel(form); } return(true); }
private void RewardItem(ref int index) { if (config.RewardItem > 0) { var isEquip = ConfigIdManager.IsEquip(config.RewardItem); if (isEquip) { UserProfile.InfoEquip.AddEquip(config.RewardItem, 60); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Equip, config.RewardItem)); } else { UserProfile.InfoBag.AddItem(config.RewardItem, 1); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Item, config.RewardItem)); } index++; } if (config.RewardDrop > 0) { var itemList = DropBook.GetDropItemList(config.RewardDrop); foreach (var itemId in itemList) { var isEquip = ConfigIdManager.IsEquip(itemId); if (isEquip) { UserProfile.InfoEquip.AddEquip(itemId, 60); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Equip, itemId)); } else { UserProfile.InfoBag.AddItem(itemId, 1); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Item, itemId)); } index++; } } }
private void RewardItem(ref int index) { if (!string.IsNullOrEmpty(config.RewardItem)) { var itemId = HItemBook.GetItemId(config.RewardItem); UserProfile.InfoBag.AddItem(itemId, 1); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Item, itemId)); index++; } if (!string.IsNullOrEmpty(config.RewardDrop)) { var itemList = DropBook.GetDropItemList(config.RewardDrop); foreach (var itemId in itemList) { UserProfile.InfoBag.AddItem(itemId, 1); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Item, itemId)); index++; } } if (!string.IsNullOrEmpty(config.RewardDungeonItemId) && UserProfile.InfoDungeon.DungeonId > 0) { var itemId = DungeonBook.GetDungeonItemId(config.RewardDungeonItemId); UserProfile.InfoDungeon.AddDungeonItem(itemId, config.RewardDungeonItemCount); var pictureRegion = new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.DungeonItem, itemId); pictureRegion.Scale = 0.7f; var textControl = new RegionTextDecorator(3, 60 - 20, 11, Color.White, true, config.RewardDungeonItemCount.ToString()); pictureRegion.AddDecorator(textControl); pictureRegion.AddDecorator(new RegionBorderDecorator(Color.White)); vRegion.AddRegion(pictureRegion); index++; } }
private void DoTrade() { int multi = int.Parse(evt.ParamList[0]); string type = "all"; if (evt.ParamList.Count >= 2) { type = evt.ParamList[1]; } double multiNeed = multi * MathTool.Clamp(1, 0.2f, 5); double multiGet = multi * MathTool.Clamp(1, 0.2f, 5); int index = 1; if (config.TradeGold > 0 && (type == "all" || type == "gold")) { var goldGet = GameResourceBook.InGoldSceneQuest(level, (int)(config.TradeGold * multiGet), true); if (goldGet > 0) { UserProfile.Profile.InfoBag.AddResource(GameResourceType.Gold, goldGet); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Gold, (int)goldGet); vRegion.AddRegion(pictureRegion); index++; } } else if (config.TradeGold < 0) { var goldLoss = GameResourceBook.OutGoldSceneQuest(level, (int)(-config.TradeGold * multiNeed), true); if (goldLoss > 0) { UserProfile.Profile.InfoBag.SubResource(GameResourceType.Gold, goldLoss); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Gold, (int)-goldLoss); vRegion.AddRegion(pictureRegion); index++; } } if (config.TradeFood > 0 && (type == "all" || type == "food")) { var foodGet = Math.Min(100, GameResourceBook.InFoodSceneQuest((int)(config.TradeFood * multiGet), true)); if (foodGet > 0) { UserProfile.Profile.InfoBasic.AddFood(foodGet); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Food, (int)foodGet); vRegion.AddRegion(pictureRegion); index++; } } else if (config.TradeFood < 0) { var foodLoss = Math.Min(100, GameResourceBook.OutFoodSceneQuest((int)(-config.TradeFood * multiNeed), true)); if (foodLoss > 0) { UserProfile.Profile.InfoBasic.SubFood(foodLoss); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Food, (int)-foodLoss); vRegion.AddRegion(pictureRegion); index++; } } if (config.TradeHealth > 0 && (type == "all" || type == "health")) { var healthGet = Math.Min(100, GameResourceBook.InHealthSceneQuest((int)(config.TradeHealth * multiGet), true)); if (healthGet > 0) { UserProfile.Profile.InfoBasic.AddHealth(healthGet); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Health, (int)healthGet); vRegion.AddRegion(pictureRegion); index++; } } else if (config.TradeHealth < 0) { var healthLoss = Math.Min(100, GameResourceBook.OutHealthSceneQuest((int)(-config.TradeHealth * multiNeed), true)); if (healthLoss > 0) { UserProfile.Profile.InfoBasic.SubHealth(healthLoss); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Health, (int)-healthLoss); vRegion.AddRegion(pictureRegion); index++; } } if (config.TradeMental > 0 && (type == "all" || type == "mental")) { var mentalGet = Math.Min(100, GameResourceBook.InMentalSceneQuest((int)(config.TradeMental * multiGet), true)); if (mentalGet > 0) { UserProfile.Profile.InfoBasic.AddMental(mentalGet); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Mental, (int)mentalGet); vRegion.AddRegion(pictureRegion); index++; } } else if (config.TradeMental < 0) { var mentalLoss = Math.Min(100, GameResourceBook.OutMentalSceneQuest((int)(-config.TradeMental * multiNeed), true)); if (mentalLoss > 0) { UserProfile.Profile.InfoBasic.SubMental(mentalLoss); var pictureRegion = ComplexRegion.GetResShowRegion(index, new Point(pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25), 60, ImageRegionCellType.Mental, (int)-mentalLoss); vRegion.AddRegion(pictureRegion); index++; } } if (!string.IsNullOrEmpty(config.TradeDropItem)) { var itemList = DropBook.GetDropItemList(config.TradeDropItem); foreach (var itemId in itemList) { UserProfile.InfoBag.AddItem(itemId, 1); vRegion.AddRegion(new PictureRegion(index, pos.X + 3 + 20 + (index - 1) * 70, pos.Y + 3 + 25, 60, 60, PictureRegionCellType.Item, itemId)); index++; } } }