| Main/System/BillboardRank/GuildRankCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BillboardRank/GuildRankCell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BillboardRank/GuildRankWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BillboardRank/GuildRankWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BillboardRank/GuildTop3Cell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BillboardRank/GuildTop3Cell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildBaseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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 红点