少年修仙传客户端代码仓库
client_Zxw
2019-03-07 ac5973f40f2d2524914a34b29654a215065cb6ea
6251 子 【开发】【2.0】拍卖行开发单
5个文件已修改
108 ■■■■ 已修改文件
System/Auction/AuctionHelpModel.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionInquiry.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionInquiryModel.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FullServiceAuctionWin.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FullServiceAuctioncell.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHelpModel.cs
@@ -24,21 +24,27 @@
        public Dictionary<int, AuctionConfigClass> FullServiceAuctionDic = new Dictionary<int, AuctionConfigClass>();//全服拍卖选择记录
        public List<AuctionItemConfig> AuctionItemList = new List<AuctionItemConfig>();//拍卖物品表
        AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
        private bool wait = true;
        public int AuctionTaxrate1 = 0;//全服拍品税率
        public int AuctionTaxrate2 = 0;//仙盟拍品税率
        public int AuctionTaxrate3 = 0;//仙盟拍品个人税率
        private int selectedGenreNow = 0;
        public int SelectedGenreNow
        public int SelectedGenreNow//当前选择的页签
        {
            get { return selectedGenreNow; }
            set { selectedGenreNow = value; }
        }
        private ItemAttrData attrData;
        private ItemAttrData attrData;//当前选择想要上架的物品
        public ItemAttrData AttrData
        {
            get { return attrData; }
            set { attrData = value; }
        }
        private bool wait = true;
        public bool Wait
        {
            get { return wait; }
            set { wait = value; }
        }
        public override void Init()
        {
@@ -67,6 +73,15 @@
        {
        }
        private void secondEvent()
        {
            if (!wait)
            {
                wait = true;
            }
        }
        private void GetAuctionList()//全服获取拍卖列表
        {
            FullServiceAuctionDic.Clear();
@@ -86,15 +101,7 @@
                }
            }
        }
        private void secondEvent()
        {
            if (!wait)
            {
                wait = true;
            }
        }
        }
        public List<AuctionItemConfig> GetAuctionItemList(int index)//获取关注列表
        {
@@ -110,6 +117,7 @@
            auctionItemList.Sort(Compare);
            return auctionItemList;
        }
        int Compare(AuctionItemConfig x, AuctionItemConfig y)//数组排列
        {
            bool havex = IsConcernedAbout(x.ItemID);
@@ -124,6 +132,7 @@
            }
            return 1;
        }
        private bool IsConcernedAbout(int itemID)
        {
            bool isBool = false;
System/Auction/AuctionInquiry.cs
@@ -24,7 +24,31 @@
    public class AuctionInquiry : Singleton<AuctionInquiry>
    {
        AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
        AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
        AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
        public int GetSendNumber()
        {
            var sendNumber = 0;
            var index = auctionHelpModel.SelectedGenreNow;
            if (!auctionHelpModel.FullServiceAuctionDic.ContainsKey(index))
            {
                DebugEx.LogError("---没有找到该索引下标的数据");
                return sendNumber;
            }
            var fullServiceAuction = auctionHelpModel.FullServiceAuctionDic[index];
            sendNumber += fullServiceAuction.Config.TypeId;
            if (fullServiceAuction.JobTipBool)
            {
                sendNumber += fullServiceAuction.Config.ChooseItem1[fullServiceAuction.JobEntry];
            }
            if (fullServiceAuction.TypeTipBool)
            {
                sendNumber += fullServiceAuction.Config.ChooseItem2[fullServiceAuction.TypeEntry];
            }
            DebugEx.Log(sendNumber + "查询类型");
            return sendNumber;
        }
        public void SendQueryAuction(string itemGUID,int indexId,int queryDir, int queryCount=10)//拍卖行查询拍卖中的物品(物品GUID,查询方向,查询个数)
        {
            var auctionIndex = AuctionIndexConfig.Get(indexId);
System/Auction/AuctionInquiryModel.cs
@@ -38,6 +38,11 @@
        public int ItemID;//物品ID
        public bool Bool;
    }
    public class QueryRemainingClass
    {
        public bool UpBool;
        public bool DownBool;
    }
    public class AuctionInquiryModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public Dictionary<string, AuctionItemClass> PlayerAuctionItemInfoDic = new Dictionary<string, AuctionItemClass>();//自身玩家上架的拍品
@@ -62,6 +67,7 @@
        public Dictionary<int, int> AttentionAuctionItemIDdic = new Dictionary<int, int>();//关注的物品ID
        AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
        public QueryRemainingClass QueryRemaining = new QueryRemainingClass();
        public override void Init()
        {
@@ -84,9 +90,7 @@
        public void AuctionItemInfo(HB501_tagGCAuctionItemInfo info)// 拍卖行拍卖中的物品信息
        {
            return;
            List<AuctionItemClass> fullServiceAuctionList = new List<AuctionItemClass>();
            for (int i = 0; i < info.AuctionItemCount; i++)
            {
                var PlayerAuctionItem = info.AuctionItemList[i];
@@ -108,10 +112,12 @@
            if (info.QueryDir == 1)//往后查询
            {
                QueryRemaining.DownBool = info.QueryCount != 0;
                FullServiceAuctionList.InsertRange(FullServiceAuctionList.Count - 1, fullServiceAuctionList);
            }
            else if (info.QueryDir == 2)//往前查询
            {
                QueryRemaining.UpBool = info.QueryCount != 0;
                FullServiceAuctionList.InsertRange(0, fullServiceAuctionList);
            }
            else if (info.QueryDir == 3)//定位查询
System/Auction/FullServiceAuctionWin.cs
@@ -252,25 +252,14 @@
        private void Reset()//重置查询
        {
            model.FullServiceAuctionList.Clear();
            var index = auctionHelpModel.SelectedGenreNow;
            if (!auctionHelpModel.FullServiceAuctionDic.ContainsKey(index))
            model.QueryRemaining.UpBool = true;
            model.QueryRemaining.DownBool = true;
            var sendNumber = AuctionInquiry.Instance.GetSendNumber();
            if (sendNumber != 0)
            {
                DebugEx.LogError("数据请求包暂未发送成功");
                return;
                AuctionInquiry.Instance.SendQueryAuction(string.Empty, sendNumber, 1);
            }
            var fullServiceAuction = auctionHelpModel.FullServiceAuctionDic[index];
            var sendNumber = 0;
            sendNumber += fullServiceAuction.Config.TypeId;
            if (fullServiceAuction.JobTipBool)
            {
                sendNumber += fullServiceAuction.Config.ChooseItem1[fullServiceAuction.JobEntry];
            }
            if (fullServiceAuction.TypeTipBool)
            {
                sendNumber += fullServiceAuction.Config.ChooseItem2[fullServiceAuction.TypeEntry];
            }
            DebugEx.Log(sendNumber+"查询类型");
            AuctionInquiry.Instance.SendQueryAuction(string.Empty, sendNumber,1);
        }
        private void CloseTip()
        {
System/Auction/FullServiceAuctioncell.cs
@@ -50,7 +50,23 @@
                DebugEx.LogError("超出数据存储范围");
                return;
            }
            var fullServiceAuction = model.FullServiceAuctionList[index];
            if (index == 1)
            {
                var sendNumber = AuctionInquiry.Instance.GetSendNumber();
                if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.DownBool)
                {
                    AuctionInquiry.Instance.SendQueryAuction(string.Empty, sendNumber, 2);
                }
            } else if (index== model.FullServiceAuctionList.Count-2)
            {
                var sendNumber = AuctionInquiry.Instance.GetSendNumber();
                if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool)
                {
                    AuctionInquiry.Instance.SendQueryAuction(string.Empty, sendNumber, 1);
                }
            }
            FullServiceAuction = fullServiceAuction;
            var playerId = PlayerDatas.Instance.baseData.PlayerID;
            var auctionItem = AuctionItemConfig.Get(fullServiceAuction.ItemID);