经验数据同步,更名逻辑上传

This commit is contained in:
YiHan0621
2025-09-15 18:00:52 +08:00
parent 12cf877c80
commit 0fd35d8c21
10 changed files with 463 additions and 31 deletions

View File

@@ -15,7 +15,10 @@ namespace TcgEngine.UI
{
[Header("Player")]
public Text player_name;
public InputField renameInput;
public Button renameButton;
public Text player_level;
public Slider player_level_slider;
public AvatarUI avatar;
public CardbackUI cardback;
public Text elo;
@@ -24,6 +27,7 @@ namespace TcgEngine.UI
public Text victories;
public Text defeats;
public Text userId;
public Text player_error;
[Header("Bottom bar")]
public GameObject buttons_area;
@@ -70,12 +74,13 @@ namespace TcgEngine.UI
protected override void Update()
{
base.Update();
}
protected override void Start()
{
base.Start();
renameButton.onClick.AddListener(OnPlayerRename);
}
private async void LoadData()
@@ -95,6 +100,7 @@ namespace TcgEngine.UI
winrate.text = "";
player_level.text = "";
userId.text = "";
player_error.text = "";
avatar.Hide();
cardback.Hide();
}
@@ -109,6 +115,7 @@ namespace TcgEngine.UI
UserData user = user_data;
player_name.text = user.username;
player_level.text = GameplayData.Get().GetPlayerLevel(user.xp).ToString();
player_level_slider.value = GameplayData.Get().GetLevelProgress(user.xp);
userId.text = user.id;
AvatarData avatar = AvatarData.Get(user.avatar);
@@ -379,6 +386,35 @@ namespace TcgEngine.UI
username = user;
LoadData();
}
private async void OnPlayerRename()
{
if (string.IsNullOrEmpty(renameInput.text))
{
player_error.text = "请输入更改的用户名!";
}
else if (renameInput.text == player_name.text)
{
player_error.text = "新用户名不能和旧用户名一样!";
}
else
{
bool success = await ApiClient.Get().UpdateUsername(renameInput.text);
if (success)
{
player_name.text = renameInput.text;
renameInput.text = "";
player_error.text = "修改成功!";
LeaderboardPanel.Get()?.RefreshPanel();
LeaderboardPanel.Get()?.RefreshLadderPanel();
}
else
{
player_error.text = ApiClient.Get().GetLastError();
}
}
}
public override void Show(bool instant = false)
{