yyl
8 天以前 1f7e2377002c93524fad578ec4a26f2ca1ed8fef
Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
6个文件已添加
2个文件已修改
308 ■■■■■ 已修改文件
Main/System/BillboardRank/GuildRankCell.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildRankCell.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildRankWin.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildRankWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildTop3Cell.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildTop3Cell.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBaseWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildManager.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BillboardRank/GuildRankCell.cs
New file
@@ -0,0 +1,64 @@
//--------------------------------------------------------
//    [Author]:           玩个游戏
//    [  Date ]:           Wednesday, September 26, 2018
//--------------------------------------------------------
using UnityEngine;
using UnityEngine.UI;
//玩家通用排名
public class GuildRankCell : MonoBehaviour
{
    [SerializeField] Transform hasGuild;
    [SerializeField] Transform noGuild;
    [SerializeField] GuildEmblemCell emblemCell;
    [SerializeField] Text rankText;
    [SerializeField] Text rankValueText;    //排名比较内容
    [SerializeField] Text nameText;
    [SerializeField] Text lvText;
    [SerializeField] Text countText;
    [SerializeField] Button queryGuildBtn;
    GuildManager manager { get { return GuildManager.Instance; } }
    public void Display(int rank)
    {
        FairyData rankData = manager.GetFairyDataByRank(rank);
        int viewPlayerId = (int)PlayerDatas.Instance.baseData.PlayerID;
        hasGuild.SetActive(rankData != null);
        noGuild.SetActive(rankData == null);
        if (rankData != null)
        {
            FamilyConfig familyConfig = FamilyConfig.Get(rankData.FamilyLV);
            nameText.text = rankData.FamilyName;
            lvText.text = StringUtility.Concat(Language.Get("L1094"), rankData.FamilyLV.ToString());
            countText.text = Language.Get("BoneField09", rankData.MemberCount, familyConfig == null ? 0 : familyConfig.MemberMax);
            rankValueText.text = UIHelper.ReplaceLargeArtNum(rankData.totalFightPower);
            emblemCell.Display(rankData.EmblemID, rankData.EmblemWord, 0.45f);
        }
        rankText.text = rank.ToString();
        queryGuildBtn.AddListener(() =>
        {
            if (rankData == null)
                return;
            int familyID = rankData.FamilyID;
            //自己的公会
            if (PlayerDatas.Instance.fairyData.HasFairy && PlayerDatas.Instance.fairyData.fairy.FamilyID == familyID)
            {
                SysNotifyMgr.Instance.ShowTip("GuildTip01");
                return;
            }
            if (!GuildManager.Instance.guildsDict.ContainsKey(familyID))
                return;
            if (!UIManager.Instance.IsOpened<GuildPreviewWin>())
            {
                UIManager.Instance.OpenWindow<GuildPreviewWin>(familyID);
            }
        });
    }
}
Main/System/BillboardRank/GuildRankCell.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dd76fcacc06c4044ca8638c2fe84662b
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/BillboardRank/GuildRankWin.cs
New file
@@ -0,0 +1,85 @@
using UnityEngine;
public class GuildRankWin : UIBase
{
    [SerializeField] GuildTop3Cell[] guildTop3Cells;
    [SerializeField] ScrollerController scroller;
    [SerializeField] TextEx rankText;
    [SerializeField] TextEx rankValueText;
    GuildManager manager { get { return GuildManager.Instance; } }
    protected override void OnPreOpen()
    {
        manager.OnRefreshFairyList += OnRefreshFairyList;
        scroller.OnRefreshCell += OnRefreshCell;
        manager.SendFindGuild(string.Empty, 0, manager.pageCnt);
        manager.ResetQueryParam();
        Display();
    }
    protected override void OnPreClose()
    {
        manager.OnRefreshFairyList -= OnRefreshFairyList;
        scroller.OnRefreshCell -= OnRefreshCell;
    }
    public void Display()
    {
        ShowTop3();
        CreateScroller();
        ShowMyRank();
    }
    void CreateScroller()
    {
        scroller.Refresh();
        var cnt = manager.rankShowMaxCnt;
        for (int i = 3; i < cnt; i++)
        {
            scroller.AddCell(ScrollerDataType.Header, i);
        }
        scroller.Restart();
    }
    void OnRefreshCell(ScrollerDataType type, CellView cell)
    {
        var _cell = cell.GetComponent<GuildRankCell>();
        _cell.Display(cell.index + 1);
        manager.ListenRankPage(cell.index);
    }
    void ShowTop3()
    {
        for (int i = 0; i < guildTop3Cells.Length; i++)
        {
            guildTop3Cells[i].Display(i + 1);
        }
    }
    void ShowMyRank()
    {
        var mydata = manager.GetFairyData(PlayerDatas.Instance.fairyData.fairy.FamilyID);
        if (mydata == null)
        {
            rankValueText.SetActive(false);
            rankText.text = Language.Get("GuildRank04", Language.Get("L1045"));
            return;
        }
        rankValueText.SetActive(true);
        rankText.text = Language.Get("GuildRank04", mydata.Rank);
        rankValueText.text = UIHelper.ReplaceLargeArtNum(mydata.totalFightPower);
    }
    void OnRefreshFairyList()
    {
        ShowTop3();
        scroller.m_Scorller.RefreshActiveCellViews();
        ShowMyRank();
    }
}
Main/System/BillboardRank/GuildRankWin.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 11ab1a04c61e9cb4090de376afd339fe
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/BillboardRank/GuildTop3Cell.cs
New file
@@ -0,0 +1,61 @@
//--------------------------------------------------------
//    [Author]:           玩个游戏
//    [  Date ]:           Wednesday, September 26, 2018
//--------------------------------------------------------
using UnityEngine;
using UnityEngine.UI;
//玩家通用的前3排名
public class GuildTop3Cell : MonoBehaviour
{
    [SerializeField] Transform hasGuild;
    [SerializeField] Transform noGuild;
    [SerializeField] GuildEmblemCell emblemCell;
    [SerializeField] Text nameText;
    [SerializeField] Text countText;
    [SerializeField] Text fightpowerText;
    [SerializeField] Button queryGuildBtn;
    GuildManager manager { get { return GuildManager.Instance; } }
    public void Display(int rank)
    {
        var rankData = manager.GetFairyDataByRank(rank);
        noGuild.SetActive(rankData == null);
        hasGuild.SetActive(rankData != null);
        if (rankData != null)
        {
            FamilyConfig familyConfig = FamilyConfig.Get(rankData.FamilyLV);
            nameText.text = rankData.FamilyName;
            countText.text = Language.Get("BoneField09", rankData.MemberCount, familyConfig == null ? 0 : familyConfig.MemberMax);
            fightpowerText.text = UIHelper.ReplaceLargeArtNum(rankData.totalFightPower);
            emblemCell.Display(rankData.EmblemID, rankData.EmblemWord, 0.7f);
        }
        queryGuildBtn.SetListener(() =>
        {
            if (rankData == null) return;
            int familyID = rankData.FamilyID;
            //自己的公会
            if (PlayerDatas.Instance.fairyData.HasFairy && PlayerDatas.Instance.fairyData.fairy.FamilyID == familyID)
            {
                SysNotifyMgr.Instance.ShowTip("GuildTip01");
                return;
            }
            if (!GuildManager.Instance.guildsDict.ContainsKey(familyID))
                return;
            if (!UIManager.Instance.IsOpened<GuildPreviewWin>())
            {
                UIManager.Instance.OpenWindow<GuildPreviewWin>(familyID);
            }
        });
    }
}
Main/System/BillboardRank/GuildTop3Cell.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 74c09d94e4d372042bdb03ee92b93652
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Guild/GuildBaseWin.cs
@@ -57,6 +57,10 @@
            StoreModel.Instance.selectStoreFuncType = StoreFunc.Guild;
            UIManager.Instance.OpenWindow<StoreBaseWin>();
        });
        rankBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<GuildRankWin>();
        });
        InitHawker();
        talkBtn.AddListener(OnClickTalkButton);
        talkBtn1.AddListener(OnClickTalkButton);
Main/System/Guild/GuildManager.cs
@@ -222,6 +222,12 @@
        config = FuncConfigConfig.Get("FamilyNote");
        familyRecordMaxCount = int.Parse(config.Numerical1);
        config = FuncConfigConfig.Get("FamilyBillboardSet");
        rankShowMaxCnt = int.Parse(config.Numerical1);
        pageCnt = int.Parse(config.Numerical2);
        queryPointNum = int.Parse(config.Numerical3);
    }
@@ -529,6 +535,60 @@
    public List<int> pageIndexList = new List<int>();  //正常是按页查询,顺序添加即可
    public int curPageIndex;
    public int totalPageCount;
    public int lastPage = -1;
    public int pageCnt; //每页查询条数
    int queryPointNum;  //查询点
    public int rankShowMaxCnt;
    public FairyData GetFairyDataByRank(int rank)
    {
        if (rank < 1)
            return null;
        int index = rank - 1;
        FairyData fairyData = GetFairyDataByIndex(index);
        return fairyData;
    }
    public FairyData GetFairyDataByIndex(int index)
    {
        if (pageIndexList.IsNullOrEmpty() || index < 0 || index >= pageIndexList.Count)
            return null;
        int fairyID = pageIndexList[index];
        FairyData fairyData = GetFairyData(fairyID);
        return fairyData;
    }
    public FairyData GetFairyData(int fairyID)
    {
        return guildsDict.TryGetValue(fairyID, out var data) ? data : null;
    }
    public void ResetQueryParam()
    {
        pageCnt = 20;
        lastPage = -1;
        queryPointNum = 12;
    }
    public void ListenRankPage(int index)
    {
        int page = index / pageCnt;
        if (index > page * pageCnt + queryPointNum)
        {
            if (lastPage >= page)
                return;
            lastPage = page;
            if (index >= rankShowMaxCnt)
            {
                //超过服务器已上榜的总数量,比如总榜单是100名,当前只有8名玩家上榜,往下滚动就不再查询
                return;
            }
            //Debug.LogFormat("分页查询:请求第 {0} 页 (当前index:{1})", page + 1, index);
            SendFindGuild(string.Empty, page + 1, pageCnt);
        }
    }
    //查找公会列表
    public void OnRefreshGuildViewList(HA523_tagMCFamilyViewList vNetData)
@@ -971,7 +1031,6 @@
    }
    #endregion
    #region 红点