public FormItemEdit(OrderItem orderItem) : this() { this.OrderItem = orderItem; this.ItemBindingSource.DataSource = orderItem; List <Goods> goods = GoodsService.GetAll(); if (goods.Count == 0) { GoodsService.Add(new Goods("apple", 100.0)); GoodsService.Add(new Goods("egg", 200.0)); goods = GoodsService.GetAll(); } goodsBindingSource.DataSource = goods; }
protected override bool OnPlayerChatHooked(PlayerInfo playerInfo, string message) { if (message == QueryListCmd) { List <GoodsDto> dtos = _goodsService.GetAll("Price ASC"); if (dtos.Count == 0) { SdtdConsole.Instance.SendMessageToPlayer(playerInfo.SteamID, "[00FF00]暂无商品信息"); } else { SdtdConsole.Instance.SendMessageToPlayer(playerInfo.SteamID, "[00FF00]商品列表:"); StringBuilder returnCmd = new StringBuilder(); int index = 1; foreach (var item in dtos) { returnCmd.Append(string.Format("pm {0} \"[00FF00]{1}: {2}\"\r\n", playerInfo.SteamID, index, FormatCmd(playerInfo, QueryListTips, item))); ++index; } SdtdConsole.Instance.SendCmd(returnCmd.ToString()); } } else { GoodsDto goodsDto = _goodsService.GetDataByID(message); if (goodsDto == null) { return(false); } else { int playerScore = _scoreInfoService.GetPlayerScore(playerInfo.SteamID); if (playerScore < goodsDto.Price)// 积分不足 { SdtdConsole.Instance.SendMessageToPlayer(playerInfo.SteamID, FormatCmd(playerInfo, BuyFailTips, goodsDto)); } else { _scoreInfoService.DeductPlayerScore(playerInfo.SteamID, goodsDto.Price); string cmdPrefix = "give"; switch (goodsDto.GoodsType) { case "物品": if (GiveItemBlockToBackpack) { cmdPrefix = "gi"; } SdtdConsole.Instance.SendCmd(string.Format("{0} {1} {2} {3} {4}", cmdPrefix, playerInfo.EntityID, goodsDto.Content, goodsDto.Amount, goodsDto.Quality)); break; case "方块": if (GiveItemBlockToBackpack) { cmdPrefix = "gb"; } SdtdConsole.Instance.SendCmd(string.Format("{0} {1} {2} {3}", cmdPrefix, playerInfo.EntityID, goodsDto.Content, goodsDto.Amount)); break; case "实体": for (int i = 0; i < goodsDto.Amount; ++i) { SdtdConsole.Instance.SendCmd(string.Format("se {0} {1}", playerInfo.EntityID, goodsDto.Content)); } break; case "指令": for (int i = 0; i < goodsDto.Amount; ++i) { SdtdConsole.Instance.SendCmd(FormatCmd(playerInfo, goodsDto.Content, goodsDto)); } break; default: throw new Exception("无效商品类型"); } SdtdConsole.Instance.SendGlobalMessage(FormatCmd(playerInfo, BuySucceedTips, goodsDto)); // 记录购买 Log.Info(string.Format("玩家: {0} SteamID: {1} 购买了: {2}", playerInfo.PlayerName, playerInfo.SteamID, goodsDto.GoodsName)); } } } return(true); }