少年修仙传客户端代码仓库
client_Zxw
2019-03-04 4cd01e17c43b49f13361b60809c032029d6e7c0e
6251 子 【开发】【2.0】拍卖行开发单
4个文件已添加
1个文件已修改
254 ■■■■■ 已修改文件
System/Auction/AuctionHouseWin.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionCell.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionWin.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHouseWin.cs
@@ -21,6 +21,7 @@
        [SerializeField] Button m_RightBtn;
        [SerializeField] FunctionButton m_FullServiceAuctionWin;//全服拍卖
        [SerializeField] FunctionButton m_FamilyAuctionWin;//仙盟拍卖
        [SerializeField] FunctionButton m_MyAuction;//我的拍卖
        [SerializeField] Button m_AttentionButton;//我的关注
        [SerializeField] Button m_TransactionRecordButton;//成交记录
        protected override void BindController()
@@ -34,6 +35,8 @@
            m_RightBtn.AddListener(OnClickRight);
            m_FullServiceAuctionWin.AddListener(OnClickFullServiceAuction);
            m_FamilyAuctionWin.AddListener(OnClickFamilyAuction);
            m_MyAuction.AddListener(OnClickMyAuction);
            m_AttentionButton.AddListener(OnClickAttentionButton);
            m_TransactionRecordButton.AddListener(OnClickTransactionRecordButton);
        }
@@ -91,6 +94,13 @@
            functionOrder = 1;
        }
        private void OnClickMyAuction()
        {
            CloseChild();
            WindowCenter.Instance.Open<MyAuctionWin>(true);
            functionOrder = 2;
        }
        private void OnClickAttentionButton()
        {
            WindowCenter.Instance.Open<AttentionWin>();
@@ -100,6 +110,7 @@
        {
            WindowCenter.Instance.Open<TransactionRecordWin>();
        }
        private void CloseChild()
        {
            if (WindowCenter.Instance.IsOpen<FullServiceAuctionWin>())
@@ -110,6 +121,10 @@
            {
                WindowCenter.Instance.Close<FamilyAuctionWin>();
            }
            if (WindowCenter.Instance.IsOpen<MyAuctionWin>())
            {
                WindowCenter.Instance.Close<MyAuctionWin>();
            }
        }
    }
System/Auction/MyAuctionCell.cs
New file
@@ -0,0 +1,99 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 04, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
namespace Snxxz.UI {
    public class MyAuctionCell:MonoBehaviour {
        [SerializeField] GameObject m_MyAuction;//我的拍品
        [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] TextEx m_JadeNumber;//当前价格
        [SerializeField] TextEx m_TimeText;//时间
        [SerializeField] TextEx m_Income;//收益
        AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
        AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
        private AuctionItemConfig AuctionItem;
        private AuctionItemClass MyAuction;
        public void GetMyAuctionGUID(string GUIID)
        {
            if (!model.PlayerAuctionItemInfoDic.ContainsKey(GUIID))
            {
                DebugEx.LogError("未找到相应的仙盟拍品数据");
                return;
            }
            var myAuction = model.PlayerAuctionItemInfoDic[GUIID];
            var auctionItem = AuctionItemConfig.Get(myAuction.ItemID);
            MyAuction = myAuction;
            var itemConfig = ItemConfig.Get(myAuction.ItemID);
            if (itemConfig == null)
            {
                DebugEx.LogError("物品表没有找到该物品,物品ID为" + myAuction.ItemID);
                return;
            }
            if (auctionItem == null)
            {
                DebugEx.LogError("拍卖物品表没有找到该物品,物品ID为" + myAuction.ItemID);
                return;
            }
            if (myAuction.FamilyID != 0)
            {
                m_MyAuction.SetActive(true);
            }
            else
            {
                m_MyAuction.SetActive(false);
            }
            if (myAuction.BidderPrice != 0)
            {
                m_BiddingTextObj.SetActive(true);
            } else
            {
                m_BiddingTextObj.SetActive(false);
            }
            ItemCellModel cellModel = new ItemCellModel(myAuction.ItemID, true,
              (ulong)myAuction.ItemCount, itemConfig.BindType);
            m_ItemCell.Init(cellModel);
            m_ItemName.text = itemConfig.ItemName;
            if (itemConfig.EquipPlace != 0)
            {
                m_EquipmentScoreObj.SetActive(true);
                // m_Score.text
            }
            m_JadeNumber.text = (auctionItem.BasePrice + myAuction.BidderPrice).ToString();
        }
        private void LateUpdate()
        {
            if (AuctionItem != null && MyAuction != null)
            {
                var timeNow = TimeUtility.ServerNow;
                TimeSpan timeSpan = timeNow - MyAuction.Time;
                int minute = (int)timeSpan.TotalMinutes;
                if (minute < AuctionItem.NoticeSaleMinutes)//预热中
                {
                    int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                    m_TimeText.text = TimeUtility.SecondsToHMS(seconds) + "后开始";
                }
                else if (minute >= AuctionItem.NoticeSaleMinutes && minute <= AuctionItem.FamilySaleMinutes)//拍卖中
                {
                    int seconds = AuctionItem.FamilySaleMinutes * 60 - ((int)timeSpan.TotalSeconds - AuctionItem.NoticeSaleMinutes * 60);
                    m_TimeText.text = "剩余" + TimeUtility.SecondsToHMS(seconds);
                }
            }
        }
    }
}
System/Auction/MyAuctionCell.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0684913b9b5989a47ad5ca04cea7df10
timeCreated: 1551691294
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Auction/MyAuctionWin.cs
New file
@@ -0,0 +1,116 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 04, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class MyAuctionWin : Window
    {
        [SerializeField] ScrollerController m_ScrollerController;
        AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
        AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
        List<AuctionItemClass> PlayerAuctionItemList = new List<AuctionItemClass>();
        #region Built-in
        protected override void BindController()
        {
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            m_ScrollerController.lockType = EnhanceLockType.KeepVertical;
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            GetPlayerAuctionItemList();
            ListSotr();
            OnCreateGridLineCell(m_ScrollerController);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnCreateGridLineCell(ScrollerController gridCtrl)
        {
            gridCtrl.Refresh();
            for (int i = 0; i < PlayerAuctionItemList.Count; i++)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, i);
            }
            gridCtrl.Restart();
        }
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
            int index = cell.cellIndex;
            var ItemGUID = PlayerAuctionItemList[index].ItemGUID;
            MyAuctionCell myAuctionCell = cell.GetComponent<MyAuctionCell>();
            myAuctionCell.GetMyAuctionGUID(ItemGUID);
        }
        private void GetPlayerAuctionItemList()
        {
            PlayerAuctionItemList.Clear();
            foreach (var value in model.PlayerAuctionItemInfoDic.Values)
            {
                PlayerAuctionItemList.Add(value);
            }
        }
        private void ListSotr()
        {
            PlayerAuctionItemList.Sort(Compare);
        }
        int Compare(AuctionItemClass x, AuctionItemClass y)//数组排列
        {
            bool havex = x.FamilyID==0;
            bool havey = y.FamilyID == 0;
            if (havex.CompareTo(havey) != 0)//是否为全服拍品
            {
                return -havex.CompareTo(havey);
            }
            bool havex1 = x.BidderPrice != 0;
            bool havey1 = y.FamilyID != 0;
            if (havex1.CompareTo(havey1) != 0)//是否有收益
            {
                return -havex1.CompareTo(havey1);
            }
            bool havex2 = x.FamilyID == 0;
            bool havey2 = y.FamilyID == 0;
            if (havex2.CompareTo(havey2) != 0)//是否为仙盟拍品
            {
                return -havex2.CompareTo(havey2);
            }
            bool havex3 = x.BidderPrice != 0;
            bool havey3 = y.FamilyID != 0;
            if (havex3.CompareTo(havey3) != 0)//是否有收益
            {
                return -havex3.CompareTo(havey3);
            }
            return 1;
        }
    }
}
System/Auction/MyAuctionWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 36bacd4116435d646bb5634c2921e16a
timeCreated: 1551690092
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: