using UnityEngine; using System; using System.Collections; using System.Linq; using Newtonsoft.Json.Linq; using System.Collections.Generic; public class AuctionProxy : ProxyBase { public AuctionProxy() => this.opeCode = OpeCode.ope_auction; /// /// 获取可以出售道具 /// /// public List GetCanSellItem() { List list = new List(); Dictionary collectItemDic = UserProxy.Instance.player.collectItem.collectItemDic; foreach (KeyValuePairkv in collectItemDic) { if (kv.Value.nMo.canAuction == 1) { list.Add(kv.Value); } } return list; } /// /// 获取全部拍卖信息 /// /// /// public void GetUserAuctionItemsInfo(Action> callback) { Post(CmdCode.cmd_Auction_GetUserAuctionItemsInfo, new object[] { }, resp => { List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } /// ///获取玩家上架拍品信息 /// /// /// public void GetUserUploadAuctionItems(Action> callback) { Post(CmdCode.cmd_Auction_GetUserUploadAuctionItems, new object[] { }, resp => { List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } /// /// 获取玩家竞拍信息 /// /// /// public void GetUserAuctionItems(Action> callback) { Post(CmdCode.cmd_Auction_GetUserAuctionItems, new object[] { }, resp => { List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } /// /// 竞拍 /// /// /// public void UserAuctionBidItem(int uid,int price,Action> callback) { Post(CmdCode.cmd_Auction_UserAuctionBidItem, new object[] { uid , price }, resp => { var p = UserProxy.Instance.player; string res = resp.result["res"].ToString(); p.baseInfo.cash = Convert.ToInt32(resp.result["cash"].ToString()); List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } /// /// 取消出售 /// /// /// public void CancelAuction(int uid, Action> callback) { Post(CmdCode.cmd_Auction_CancelAuction, new object[] { uid }, resp => { List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } /// /// 上传拍品 /// /// /// public void UploadAuctionItems(int itemId,int num, int bugoutPrice,int userBidPrice,Action callback) { Post(CmdCode.cmd_Auction_UploadAuctionItems, new object[] { itemId, num ,bugoutPrice, userBidPrice }, resp => { var p = UserProxy.Instance.player; p.InitFromStore((JObject)resp.result["store"]); callback?.Invoke(); }); } /// /// 一口价 /// /// /// /// /// public void BuyoutPrice(int uid, Action> callback) { Post(CmdCode.cmd_Auction_BuyoutPrice, new object[] { uid }, resp => { var p = UserProxy.Instance.player; p.baseInfo.cash = Convert.ToInt32(resp.result["cash"].ToString()); List list = new List(); if (resp.result["auction"] != null) { JArray arr = JArray.Parse(resp.result["auction"].ToString()); foreach (JToken item in arr) { AuctionItemModel mo = new AuctionItemModel(); mo.Initlize(item); if (mo.result == "完成" || mo.result == "取消出售" || mo.result == "流拍") { continue; } list.Add(mo); } } callback?.Invoke(list); }); } }