UI更改与功能修正

This commit is contained in:
YiHan0621
2025-09-17 16:22:06 +08:00
parent 0fd35d8c21
commit 3f425c9434
191 changed files with 1271 additions and 4307 deletions

View File

@@ -303,16 +303,23 @@ namespace TcgEngine.Gameplay
// 每日任务分配
public void AssignDailyTaskIfNeeded()
{
long now = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
var now = DateTimeOffset.UtcNow.ToOffset(TimeSpan.FromHours(8)); // 北京时间
var last = DateTimeOffset.FromUnixTimeSeconds(lastDailyTaskAssigned).ToOffset(TimeSpan.FromHours(8));
long secondsSinceLastTask = now - lastDailyTaskAssigned;
// 转换为小时
double hoursSinceLastTask = secondsSinceLastTask / 3600.0;
Debug.Log($"当前时间:{now},最后下发时间:{lastDailyTaskAssigned},减去时间{secondsSinceLastTask},小时时间:{hoursSinceLastTask}");
if (hoursSinceLastTask < 24 && assignedTaskDict.Count == 5)
// 如果还是同一天,并且任务已满,就不分配
if (now.Date == last.Date && assignedTaskDict.Count == maxTasks)
return;
// 检查玩家是否已达到最大任务
// 如果已经跨天 -> 清空旧任务
if (now.Date != last.Date)
{
playerTasks.Clear();
assignedTaskDict.Clear();
Debug.Log("新的一天,清空旧任务");
// OnPlayerLogin();
}
// 检查是否达到上限
if (playerTasks.Count >= maxTasks)
return;
@@ -374,7 +381,7 @@ namespace TcgEngine.Gameplay
PlayerTask playerTask = new PlayerTask(selectedTask);
playerTasks.Add(playerTask);
lastDailyTaskAssigned = now;
lastDailyTaskAssigned = now.ToUnixTimeSeconds();
SavePlayerData();
Debug.Log($"分配任务: {selectedTask.name}");