This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-05-18 18:16:08 +08:00
parent b31165bcae
commit 1973a08ec6
3 changed files with 149 additions and 21 deletions

View File

@ -101,7 +101,7 @@ GameObject:
- component: {fileID: 2432618909036398695}
- component: {fileID: 1989764052290865740}
m_Layer: 5
m_Name: Toggle
m_Name: m_toggle_weekRank
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -262,7 +262,7 @@ GameObject:
- component: {fileID: 2605311265197448084}
- component: {fileID: 5004943175546668483}
m_Layer: 5
m_Name: Toggle (2)
m_Name: m_toggle_gongXianRank
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -626,7 +626,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &826311576916127066
RectTransform:
m_ObjectHideFlags: 0
@ -677,6 +677,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 09dc0f1d3fb084a49a04756c26f0224c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HeadIcon: {fileID: 4392786442847295306}
m_Bg: {fileID: 4453572203166999965}
m_RankImg: {fileID: 3886915729302914564}
m_PlayerName: {fileID: 7363701821129859374}
m_Score: {fileID: 6758929203519133182}
m_GongXian: {fileID: 7943501947076435089}
--- !u!1 &1681518453653186886
GameObject:
m_ObjectHideFlags: 0
@ -2227,7 +2233,7 @@ GameObject:
- component: {fileID: 6768390674830271073}
- component: {fileID: 6844501993338852444}
m_Layer: 5
m_Name: Toggle (1)
m_Name: m_toggle_Rank
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

View File

@ -1,21 +1,125 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TEngine;
using TMPro;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace GameLogic
{
public class UIGameWorldRankForm : MonoBehaviour
[Window(UILayer.UI)]
class UIGameWorldRankForm : UIWindow
{
// Start is called before the first frame update
void Start()
#region
private Toggle m_toggle_weekRank;
private Toggle m_toggle_Rank;
private Toggle m_toggle_gongXianRank;
private LoopListView m_loopListView_View;
private Image m_img_RankIndex;
private TextMeshProUGUI m_tmp_PlayerName;
private TextMeshProUGUI m_tmp_Score;
private TextMeshProUGUI m_tmp_RankIndex;
private Button m_btn_Close;
protected override void ScriptGenerator()
{
m_toggle_weekRank = FindChildComponent<Toggle>("Bg/Bg/Panel/ToggleGroup/m_toggle_weekRank");
m_toggle_Rank = FindChildComponent<Toggle>("Bg/Bg/Panel/ToggleGroup/m_toggle_Rank");
m_toggle_gongXianRank = FindChildComponent<Toggle>("Bg/Bg/Panel/ToggleGroup/m_toggle_gongXianRank");
m_loopListView_View = FindChildComponent<LoopListView>("Bg/ScrollViewPanel/m_loopListView_View");
m_img_RankIndex = FindChildComponent<Image>("Bg/ScrollViewPanel/m_loopListView_View/Viewport/Content/RankItem/m_img_RankIndex");
m_tmp_PlayerName = FindChildComponent<TextMeshProUGUI>("Bg/ScrollViewPanel/m_loopListView_View/Viewport/Content/RankItem/m_tmp_PlayerName");
m_tmp_Score = FindChildComponent<TextMeshProUGUI>("Bg/ScrollViewPanel/m_loopListView_View/Viewport/Content/RankItem/m_tmp_Score");
m_tmp_RankIndex = FindChildComponent<TextMeshProUGUI>("Bg/ScrollViewPanel/m_loopListView_View/Viewport/Content/RankItem/m_tmp_RankIndex");
m_btn_Close = FindChildComponent<Button>("Bg/m_btn_Close");
m_toggle_weekRank.onValueChanged.AddListener(OnToggle_weekRankChange);
m_toggle_Rank.onValueChanged.AddListener(OnToggle_RankChange);
m_toggle_gongXianRank.onValueChanged.AddListener(OnToggle_gongXianRankChange);
m_btn_Close.onClick.AddListener(OnClick_CloseBtn);
}
#endregion
#region
private void OnToggle_weekRankChange(bool isOn)
{
if (isOn)
{
rankType = 1;
GetRankData();
}
}
private void OnToggle_RankChange(bool isOn)
{
rankType = 2;
GetRankData();
}
private void OnToggle_gongXianRankChange(bool isOn)
{
}
private void OnClick_CloseBtn()
{
// 返回主界面
GameModule.UI.CloseUI<UIGameWorldRankForm>();
}
#endregion
private int rankType = 1; // 1是周 0是月
protected override void OnCreate()
{
base.OnCreate();
m_loopListView_View.InitListView(0, OnGetItemByIndex);
GetRankData();
}
// Update is called once per frame
void Update()
List<PlayRankData> m_PlayRankDatas;
private async Task GetRankData()
{
// 默认显示周榜
var data = await DataGameModelManager.Instance.C2S_GetResultRank(rankType);
m_PlayRankDatas = data;
RefreshUI();
}
private void RefreshUI()
{
m_loopListView_View.SetListItemCount(m_PlayRankDatas.Count);
m_loopListView_View.RefreshAllShownItem();
}
LoopListViewItem OnGetItemByIndex(LoopListView listView, int index)
{
if (index >= m_PlayRankDatas.Count)
{
return null;
}
if (m_PlayRankDatas[index] == null)
{
return null;
}
UnitPlayerData unitData = DataGameSceneManager.Instance.GetUnitPlayerData(m_PlayRankDatas[index].uid);
if (unitData == null)
{
return null;
}
LoopListViewItem item = listView.AllocOrNewListViewItem("RankItem");
UIGameWorldRankItem itemScript = item.GetComponent<UIGameWorldRankItem>();
itemScript.OnInit(index, m_PlayRankDatas[index], unitData);
return item;
}
}
}

View File

@ -1,21 +1,39 @@
using System.Collections;
using System.Collections.Generic;
using TEngine;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace GameLogic
{
public class UIGameWorldRankItem : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
public RawImage m_HeadIcon;
public Image m_Bg;
public Image m_RankImg;
public TextMeshProUGUI m_PlayerName;
public TextMeshProUGUI m_Score;
public TextMeshProUGUI m_GongXian;
// Update is called once per frame
void Update()
public void OnInit(int i, PlayRankData playRankData, UnitPlayerData unitPlayer)
{
m_PlayerName.text = playRankData.name;
//m_RankIndex.text = (i + 1).ToString();
if (i < 3)
{
m_RankImg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d" + (i + 1).ToString());
m_Bg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d");
}
// »ý·Ö
m_Score.text = UITool.ConvertToString(playRankData.weekScore);
//m_LoaclScore.text = "(+" + UITool.ConvertToString(unitPlayer.m_Score) + "±¾¾Ö)";
// ÉèÖÃÍ·Ïñ
AsyncImageDownload.Instance.SetAsyncImage(playRankData.avatar, m_HeadIcon);
}
}
}