UI更改与功能修正
This commit is contained in:
@@ -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}");
|
||||
|
||||
Reference in New Issue
Block a user