少年修仙传客户端代码仓库
client_Zxw
2019-03-05 0e884bccf68654b8defeb7c8a74b9d57e0ee833d
6251 子 【开发】【2.0】拍卖行开发单
6个文件已修改
144 ■■■■ 已修改文件
System/Auction/AuctionHouseWin.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionInquiryModel.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FamilyAuctionWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FamilyAuctioncell.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionCell.cs 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionWin.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHouseWin.cs
@@ -25,7 +25,8 @@
        [SerializeField] Button m_AttentionButton;//我的关注
        [SerializeField] Button m_TransactionRecordButton;//成交记录
        protected override void BindController()
        {
        {
            AuctionInquiry.Instance.SendQueryAttentionAuctionItem();//查询拍卖行的关注物品
        }
        protected override void AddListeners()
@@ -47,10 +48,12 @@
        }
        protected override void OnActived()
        {
            OnClickFullServiceAuction();
            OnClickFamilyAuction();
            m_FuncBtnGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
System/Auction/AuctionInquiryModel.cs
@@ -22,6 +22,7 @@
        public int BidderPrice;//竞拍玩家出价
        public string UserData;//自定义数据
        public string FamilyPlayerIDInfo;//可获得收益的仙盟玩家ID信息
        public List<int> FamilyPlayerIDList;//可获得收益的仙盟玩家ID信息存储
        public int AuctionType;//拍品类型,0-全服拍品,1-仙盟拍品
        public int RecordType;//记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录
@@ -224,6 +225,8 @@
                familyAuctionItemClass.BidderPrice = FamilyAuctionItem.BidderPrice;
                familyAuctionItemClass.UserData = FamilyAuctionItem.UserData;
                familyAuctionItemClass.FamilyPlayerIDInfo = FamilyAuctionItem.FamilyPlayerIDInfo;
                familyAuctionItemClass.FamilyPlayerIDList = new List<int>();
                familyAuctionItemClass.FamilyPlayerIDList = GetFamilyPlayerIDList(FamilyAuctionItem.FamilyPlayerIDInfo);
                familyAuctionItemClass.AuctionType = FamilyAuctionItem.AuctionType;
                if (FamilyAuctionItemDic.ContainsKey(familyAuctionItemClass.ItemGUID))
                {
@@ -240,6 +243,16 @@
            }
        }
        private List<int> GetFamilyPlayerIDList(string familyPlayerIdStr)
        {
            List<int> list = new List<int>();
            var jsonData = LitJson.JsonMapper.ToObject<int[]>(familyPlayerIdStr);
            for (int i = 0; i < jsonData.Length; i++)
            {
                list.Add(jsonData[i]);
            }
            return list;
        }
        public event Action AttentionAuctionItemUpdate;//关注物品ID刷新
        public void AttentionAuctionItemID(HB507_tagGCAttentionAuctionItemID info)//关注的物品ID(需要主动查询)
        {
System/Auction/FamilyAuctionWin.cs
@@ -153,6 +153,12 @@
            {
                return -havex2.CompareTo(havey2);
            }
            int havex3 = TimeSort(x);
            int havey3 = TimeSort(y);
            if (havex3.CompareTo(havey3) != 0)//时间排序
            {
                return -havex3.CompareTo(havey3);
            }
            return 1;
        }
@@ -186,6 +192,19 @@
            }
            return isBool;
        }
        private int TimeSort(AuctionItemClass auctionItemClass)
        {
            int scends = 0;
            var auctionItem = AuctionItemConfig.Get(auctionItemClass.ItemID);
            if (auctionItem == null)
            {
                return 0;
            }
            var timeNow = TimeUtility.ServerNow;
            TimeSpan timeSpan = timeNow - auctionItemClass.Time;
            scends= (int)timeSpan.TotalSeconds;
            return scends;
        }
    }
}
System/Auction/FamilyAuctioncell.cs
@@ -63,6 +63,10 @@
                return;
            }
            AuctionItem = auctionItem;
            if (model.AttentionAuctionItemIDdic.ContainsKey(familyAuctionItem.ItemID))//是否关注
            {
                m_NeedImage.SetActive(true);
            }
            if (model.BiddingItemInfoDic.ContainsKey(GUIID))//参与了竞价的物品
            {
                var biddingItemInfo = model.BiddingItemInfoDic[GUIID];
System/Auction/MyAuctionCell.cs
@@ -7,17 +7,20 @@
using UnityEngine.UI;
using System;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class MyAuctionCell:MonoBehaviour {
    public class MyAuctionCell : MonoBehaviour
    {
        [SerializeField] GameObject m_MyAuction;//我的拍品
        [SerializeField] GameObject m_FamilyImage;//仙盟拍品
        [SerializeField] ItemCell m_ItemCell;//物品
        [SerializeField] TextEx m_ItemName;//物品名
        [SerializeField] GameObject m_EquipmentScoreObj;//装备评分
        [SerializeField] TextEx m_Score;//评分
        [SerializeField] GameObject m_StateIcon;//上升剪头
        [SerializeField] GameObject m_BiddingTextObj;//竞价中
        [SerializeField] Text m_BiddingText;//竞价状态
        [SerializeField] TextEx m_JadeNumber;//当前价格
        [SerializeField] TextEx m_TimeText;//时间
        [SerializeField] TextEx m_Income;//收益
@@ -26,13 +29,28 @@
        private AuctionItemConfig AuctionItem;
        private AuctionItemClass MyAuction;
        public void GetMyAuctionGUID(string GUIID)
        {
            if (!model.PlayerAuctionItemInfoDic.ContainsKey(GUIID))
        {
            if (!model.PlayerAuctionItemInfoDic.ContainsKey(GUIID) && !model.FamilyAuctionItemDic.ContainsKey(GUIID))
            {
                DebugEx.LogError("未找到相应的仙盟拍品数据");
                DebugEx.LogError("未找到相应的拍品数据");
                return;
            }
            var myAuction = model.PlayerAuctionItemInfoDic[GUIID];
            m_MyAuction.SetActive(false);
            m_FamilyImage.SetActive(false);
            AuctionItemClass myAuction = new AuctionItemClass();
            int type = 0;
            if (model.PlayerAuctionItemInfoDic.ContainsKey(GUIID))
            {
                type = 0;
                m_MyAuction.SetActive(true);
                myAuction = model.PlayerAuctionItemInfoDic[GUIID];
            }
            if (model.FamilyAuctionItemDic.ContainsKey(GUIID))
            {
                type = 1;
                m_FamilyImage.SetActive(true);
                myAuction = model.FamilyAuctionItemDic[GUIID];
            }
            var auctionItem = AuctionItemConfig.Get(myAuction.ItemID);
            MyAuction = myAuction;
            var itemConfig = ItemConfig.Get(myAuction.ItemID);
@@ -47,20 +65,37 @@
                return;
            }
            AuctionItem = auctionItem;
            if (myAuction.FamilyID != 0)
            m_Income.text = 0.ToString();
            if (myAuction.BidderPrice == 0)
            {
                m_MyAuction.SetActive(true);
                m_BiddingText.text = "暂无出价";
            }
            else
            {
                m_MyAuction.SetActive(false);
            }
            if (myAuction.BidderPrice != 0)
            {
                m_BiddingTextObj.SetActive(true);
            } else
            {
                m_BiddingTextObj.SetActive(false);
                if (type == 0)
                {
                    int auctionTaxrate = Mathf.CeilToInt((float)(auctionHelpModel.
                        AuctionTaxrate1 * myAuction.BidderPrice) / 100);//个人税收
                    int incomeNumber = myAuction.BidderPrice - auctionTaxrate;
                    m_Income.text = incomeNumber.ToString();
                }
                else if (type == 1)
                {
                    int auctionTaxrate = Mathf.CeilToInt((float)(auctionHelpModel.
                       AuctionTaxrate2 * myAuction.BidderPrice) / 100);//仙盟税收
                    int number = myAuction.BidderPrice - auctionTaxrate;
                    int incomeMax = number - Mathf.CeilToInt((float)(number * auctionHelpModel.AuctionTaxrate3) / 100);
                    int incomeNumber = Mathf.FloorToInt((float)number / myAuction.FamilyPlayerIDList.Count);
                    if (incomeMax >= incomeNumber)
                    {
                        m_Income.text = incomeNumber.ToString();
                    }
                    else
                    {
                        m_Income.text = incomeMax.ToString();
                    }
                }
            }
            ItemCellModel cellModel = new ItemCellModel(myAuction.ItemID, true,
              (ulong)myAuction.ItemCount, itemConfig.BindType);
@@ -71,7 +106,15 @@
                m_EquipmentScoreObj.SetActive(true);
                // m_Score.text
            }
            m_JadeNumber.text = (auctionItem.BasePrice + myAuction.BidderPrice).ToString();
            if (myAuction.BidderPrice != 0)
            {
                m_JadeNumber.text = myAuction.BidderPrice.ToString();
            }
            else
            {
                m_JadeNumber.text = auctionItem.BasePrice.ToString();
            }
        }
        private void LateUpdate()
        {
System/Auction/MyAuctionWin.cs
@@ -60,7 +60,7 @@
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
            int index = cell.cellIndex;
            int index = cell.index;
            var ItemGUID = PlayerAuctionItemList[index].ItemGUID;
            MyAuctionCell myAuctionCell = cell.GetComponent<MyAuctionCell>();
            myAuctionCell.GetMyAuctionGUID(ItemGUID);
@@ -74,6 +74,18 @@
            {
                PlayerAuctionItemList.Add(value);
            }
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;
            foreach (var value in model.FamilyAuctionItemDic.Values)
            {
                for (int i = 0; i < value.FamilyPlayerIDList.Count; i++)
                {
                    int familyPlayerID = value.FamilyPlayerIDList[i];
                    if (familyPlayerID == playerID)
                    {
                        PlayerAuctionItemList.Add(value);
                    }
                }
            }
        }
        private void ListSotr()
        {
@@ -81,8 +93,8 @@
        }
        int Compare(AuctionItemClass x, AuctionItemClass y)//数组排列
        {
            bool havex = x.FamilyID==0;
            bool havey = y.FamilyID == 0;
            bool havex = model.PlayerAuctionItemInfoDic.ContainsKey(x.ItemGUID);
            bool havey = model.PlayerAuctionItemInfoDic.ContainsKey(y.ItemGUID); ;
            if (havex.CompareTo(havey) != 0)//是否为全服拍品
            {
                return -havex.CompareTo(havey);
@@ -93,8 +105,8 @@
            {
                return -havex1.CompareTo(havey1);
            }
            bool havex2 = x.FamilyID == 0;
            bool havey2 = y.FamilyID == 0;
            bool havex2 = model.FamilyAuctionItemDic.ContainsKey(x.ItemGUID);
            bool havey2 = model.FamilyAuctionItemDic.ContainsKey(y.ItemGUID);
            if (havex2.CompareTo(havey2) != 0)//是否为仙盟拍品
            {
                return -havex2.CompareTo(havey2);