修改天梯UI数据,及任务的UI数据的初步同步
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using TcgEngine.Client;
|
||||
using TcgEngine.Gameplay;
|
||||
using TcgEngine.UI;
|
||||
|
||||
namespace TcgEngine.Client
|
||||
{
|
||||
@@ -9,25 +11,48 @@ namespace TcgEngine.Client
|
||||
/// </summary>
|
||||
public class GameClientTaskIntegration : MonoBehaviour
|
||||
{
|
||||
[Header("所有任务")]
|
||||
public List<PlayerTask> tasks = new List<PlayerTask>();
|
||||
|
||||
[Header("活跃任务")]
|
||||
public List<PlayerTask> activeTasks = new List<PlayerTask>();
|
||||
|
||||
[Header("已完成任务")]
|
||||
public List<PlayerTask> completedTasks = new List<PlayerTask>();
|
||||
|
||||
private GameClient client;
|
||||
private TaskPanel taskPanel;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Debug.LogError("------------"+gameObject.name+"-------------------");
|
||||
|
||||
// 在游戏客户端启动时初始化任务系统
|
||||
GameClient client = GameClient.Get();
|
||||
client = FindFirstObjectByType<GameClient>();
|
||||
client = GameClient.Get();
|
||||
Debug.LogError(client.name);
|
||||
if (client != null)
|
||||
{
|
||||
// 玩家连接到游戏服务器时触发任务检查
|
||||
client.onConnectServer += OnConnectToServer;
|
||||
Debug.LogError(client.onConnectServer + "任务系统初始化成功");
|
||||
}
|
||||
|
||||
if (TaskManager.Instance != null)
|
||||
{
|
||||
TaskManager.Instance.refreshTaskUI += OnRefreshTaskPanel;
|
||||
}
|
||||
|
||||
// 找 UI 面板
|
||||
taskPanel = GetComponent<TaskPanel>();
|
||||
if (taskPanel == null)
|
||||
taskPanel = FindObjectOfType<TaskPanel>();
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
// 取消订阅事件
|
||||
GameClient client = GameClient.Get();
|
||||
if (client != null)
|
||||
{
|
||||
client.onConnectServer -= OnConnectToServer;
|
||||
}
|
||||
client.onConnectServer -= OnConnectToServer;
|
||||
TaskManager.Instance.refreshTaskUI -= OnRefreshTaskPanel;
|
||||
}
|
||||
|
||||
private void OnConnectToServer()
|
||||
@@ -36,8 +61,25 @@ namespace TcgEngine.Client
|
||||
TaskManager taskManager = TaskManager.Instance;
|
||||
if (taskManager != null)
|
||||
{
|
||||
Debug.LogError("初始化完成");
|
||||
taskManager.OnPlayerLogin();
|
||||
taskPanel.ShowTasks(taskManager.GetAllTasks());
|
||||
}
|
||||
}
|
||||
|
||||
private void OnRefreshTaskPanel(List<PlayerTask> tasksList)
|
||||
{
|
||||
|
||||
TaskManager taskManager = TaskManager.Instance;
|
||||
if (taskManager == null || taskPanel == null)
|
||||
return;
|
||||
|
||||
tasks = taskManager.GetAllTasks();
|
||||
activeTasks = taskManager.GetActiveTasks();
|
||||
completedTasks = taskManager.GetCompletedTasks();
|
||||
|
||||
taskPanel.RefreshTasks(activeTasks);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user