漏上传,补充

This commit is contained in:
YiHan0621
2025-09-08 16:27:21 +08:00
parent 3467536386
commit 29ba23403b
6 changed files with 90 additions and 53 deletions

View File

@@ -58,6 +58,17 @@ namespace TcgEngine
return Mathf.FloorToInt(xp / 1000) + 1;
}
public float GetLevelProgress()
{
int currentLeve = GetLevel();
int baseXp = (currentLeve - 1) * 1000;
Debug.LogError(xp);
// 距离下一级还需多少经验值
int xpIntoCurrentLevel = xp - baseXp;
return (float)xpIntoCurrentLevel / 1000f;
}
public string GetAvatar()
{
if (avatar != null)

View File

@@ -69,26 +69,35 @@ namespace TcgEngine
public class PlayerTask
{
public string taskId;
public DateTime assignedTime;
public DateTime expireTime;
public long assignedTime;
public long expireTime;
public TaskStatus status;
public int progress; // 当前进度
public PlayerTask(TaskData taskConfig)
{
taskId = taskConfig.id;
assignedTime = DateTime.Now;
expireTime = assignedTime.AddHours(taskConfig.durationHours);
assignedTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
expireTime = DateTimeOffset.UtcNow.AddHours(taskConfig.durationHours).ToUnixTimeSeconds();
Debug.Log($"<color=red>" +
$"任务获取时间=={assignedTime}" +
$"任务结束时间=={expireTime}" +
$"</color>");
status = TaskStatus.Active;
progress = 0;
}
// 从服务器响应数据创建玩家任务
public PlayerTask(PlayerTaskResponse response)
{
taskId = response.taskId;
assignedTime = new DateTime(response.assignedTime);
expireTime = new DateTime(response.expireTime);
assignedTime = response.assignedTime;
expireTime = response.expireTime;
Debug.Log($"<color=red>" +
$"任务获取时间=={assignedTime}" +
$"任务结束时间=={expireTime}" +
$"</color>");
status = (TaskStatus)response.status;
progress = response.progress;
}
@@ -98,8 +107,8 @@ namespace TcgEngine
{
PlayerTaskResponse response = new PlayerTaskResponse();
response.taskId = taskId;
response.assignedTime = assignedTime.Ticks;
response.expireTime = expireTime.Ticks;
response.assignedTime = assignedTime;
response.expireTime = expireTime;
response.status = (int)status;
response.progress = progress;
return response;

View File

@@ -136,7 +136,8 @@ namespace TcgEngine.Gameplay
// 从服务器API获取任务配置
string url = ApiClient.ServerURL + "/api/tasks";
WebResponse res = await ApiClient.Get().SendGetRequest(url);
Debug.LogError("从服务器API获取任务配置" + res.data);
Debug.LogError("从服务器API获取任务配置" + res.data + res.status);
Debug.LogError(res.success);
if (res.success)
{
// 解析任务配置数据

View File

@@ -21,6 +21,10 @@ namespace TcgEngine.UI
public Text credits_txt;
public AvatarUI avatar;
public GameObject loader;
[Header("xp")]
public Text level_text;
public Slider level_slider;
[Header("UI")]
public Text version_text;
@@ -51,6 +55,9 @@ namespace TcgEngine.UI
version_text.text = "Version " + Application.version;
deck_selector.onChange += OnChangeDeck;
level_text.text = "";
level_slider.value = 0f;
if (Authenticator.Get().IsConnected())
AfterLogin();
else
@@ -108,6 +115,10 @@ namespace TcgEngine.UI
username_txt.text = user.username;
credits_txt.text = GameUI.FormatNumber(user.coins);
// xp
level_text.text = user.GetLevel().ToString();
level_slider.value = user.GetLevelProgress();
AvatarData avatar = AvatarData.Get(user.avatar);
this.avatar.SetAvatar(avatar);