少年修仙传客户端代码仓库
client_Zxw
2018-12-26 a0549ef799783cb9bd83129b1e43e4ed65ae9a12
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
2个文件已修改
128 ■■■■ 已修改文件
System/CrossServerOneVsOne/SeasonRewardCell.cs 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/SeasonRewardWin.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/SeasonRewardCell.cs
@@ -6,11 +6,14 @@
using System.Collections;
using UnityEngine.UI;
using System.Linq;
using TableConfig;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    //赛季奖励的奖励条
    [XLua.Hotfix]
    public class SeasonRewardCell:MonoBehaviour {
    public class SeasonRewardCell : MonoBehaviour
    {
        [SerializeField] Text m_Text_Ranking;
        [SerializeField] Transform m_Itemlist;
        [SerializeField] Button m_ReceiveBtn;
@@ -29,42 +32,69 @@
            set { m_ReceiveBtn = value; }
        }
        public void ScrollerDataTypAndId(ScrollerDataType type,int id)
        public void ScrollerDataTypAndId(ScrollerDataType type, int id)
        {
            switch (type)
            {
               case  ScrollerDataType.Header:
                    SetReceive(id);
                case ScrollerDataType.Header:
                    SetReceiveH(id);
                    break;
                case ScrollerDataType.Normal:
                    SetReceiveN(id);
                    break;
            }
        }
        private  void SetReceive(int id)
        private void SetReceiveH(int id)
        {
            if (!crossServerRewardModel.SeasonRewardDic.AwardDic.ContainsKey(id))
            {
                return;
            }
            m_Text_Ranking.gameObject.SetActive(true);
            m_Segmenttext.gameObject.SetActive(false);
            m_ImageColor.gameObject.SetActive(true);
            m_ImageWorld.gameObject.SetActive(true);
            var keyList = crossServerRewardModel.SeasonRewardDic.AwardDic.Keys.ToList();
            int Index = keyList.IndexOf(id);
            if (Index == 0)
            {
                m_Text_Ranking.text = "1-" + id+"名";
                m_Text_Ranking.text = "1-" + id + "名";
            }
            else
            {
                int Number = keyList[(Index - 1)];
                m_Text_Ranking.text = Number+"-"+ id+"名";
                m_Text_Ranking.text = (Number+1) + "-" + id + "名";
            }
            ReceiveItem(id);
            switch (Index)
            {
                case 0:
                    m_ImageColor.SetSprite("CrossServer_1");
                    m_ImageWorld.SetSprite("CrossServer_6");
                    break;
                case 1:
                    m_ImageColor.SetSprite("CrossServer_2");
                    m_ImageWorld.SetSprite("CrossServer_7");
                    break;
                case 2:
                    m_ImageColor.SetSprite("CrossServer_3");
                    m_ImageWorld.SetSprite("CrossServer_8");
                    break;
            }
            if (CrossServerOneVsOnePKSeason.Instance.SeasonState != 2)
            {
                m_ReceiveBtn.gameObject.SetActive(false);
                m_IsDrawImage.gameObject.SetActive(false);
                m_IsReachImage.gameObject.SetActive(false);
            }
            else
            {
            }
            ReceiveItemH(id);
        }
        private void ReceiveItem(int Id)
        private void ReceiveItemH(int Id)
        {
            var List = crossServerRewardModel.SeasonRewardDic.GetAwardItem(Id);
            for (int i = 0; i < m_Itemlist.childCount; i++)
@@ -78,8 +108,8 @@
                    _ItemCell.Init(cellModel);
                    int type = i;
                    _ItemCell.cellBtn.SetListener(() =>
                    {
                        ItemAttrData attrData = new ItemAttrData(List[type].item.id, false, (ulong)List[type].item.count,-1, List[type].isBind);
                    {
                        ItemAttrData attrData = new ItemAttrData(List[type].item.id, false, (ulong)List[type].item.count, -1, List[type].isBind);
                        itemTipsModel.SetItemTipsModel(attrData);
                    });
                }
@@ -89,8 +119,60 @@
                }
            }
        }
        private void SetReceiveN(int Id)
        {
            if (!crossServerRewardModel.SeasonRewardConfigDic.ContainsKey(Id))
            {
                return;
            }
            m_Text_Ranking.gameObject.SetActive(false);
            m_Segmenttext.gameObject.SetActive(true);
            m_ImageColor.gameObject.SetActive(true);
            m_ImageColor.SetSprite("CrossServer_4");
            m_ImageWorld.gameObject.SetActive(false);
            var config = Config.Instance.Get<CrossServerArenaConfig>(Id);
            if (config != null)
            {
                m_Segmenttext.text = config.Name;
            }
            if (CrossServerOneVsOnePKSeason.Instance.SeasonState != 2)
            {
                m_ReceiveBtn.gameObject.SetActive(false);
                m_IsDrawImage.gameObject.SetActive(false);
                m_IsReachImage.gameObject.SetActive(false);
            }
            else
            {
            }
            ReceiveItemN(Id);
        }
        private void ReceiveItemN(int Id)
        {
            var List = crossServerRewardModel.SeasonRewardConfigDic[Id];
            for (int i = 0; i < m_Itemlist.childCount; i++)
            {
                GameObject ObjChild = m_Itemlist.GetChild(i).gameObject;
                if (i < List.Count)
                {
                    ObjChild.SetActive(true);
                    ItemCell _ItemCell = ObjChild.GetComponent<ItemCell>();
                    ItemCellModel cellModel = new ItemCellModel(List[i].ItemId, true, (ulong)List[i].ItemNumber, List[i].Isbind);
                    _ItemCell.Init(cellModel);
                    int type = i;
                    _ItemCell.cellBtn.SetListener(() =>
                    {
                        ItemAttrData attrData = new ItemAttrData(List[type].ItemId, false, (ulong)List[type].ItemNumber, -1, List[type].Isbind);
                        itemTipsModel.SetItemTipsModel(attrData);
                    });
                }
                else
                {
                    ObjChild.SetActive(false);
                }
            }
        }
    }
System/CrossServerOneVsOne/SeasonRewardWin.cs
@@ -18,11 +18,17 @@
    {
        [SerializeField] ScrollerController m_ScrollerController;
        CrossServerRewardModel m_CrossServerRewardModel;
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        List<int> SortList = new List<int>();
        #region Built-in
        protected override void BindController()
        {
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            SortList.Clear();
            foreach (var key in crossServerRewardModel.SeasonRewardConfigDic.Keys)
            {
                SortList.Add(key);
            }
        }
        protected override void AddListeners()
@@ -67,9 +73,9 @@
            {
                gridCtrl.AddCell(ScrollerDataType.Header, key);
            }
            foreach (var key in crossServerRewardModel.SeasonRewardConfigDic.Keys)
            {
                gridCtrl.AddCell(ScrollerDataType.Normal, key);
            for (int i = SortList.Count - 1; i >= 0; i--)
           {
                gridCtrl.AddCell(ScrollerDataType.Normal, SortList[i]);
            }
            gridCtrl.Restart();
        }