修改天梯UI数据,及任务的UI数据的初步同步

This commit is contained in:
YiHan0621
2025-09-04 18:04:09 +08:00
parent 9275b66383
commit 1f8e74b6c5
92 changed files with 6288 additions and 1393 deletions

View File

@@ -0,0 +1,73 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TcgEngine.Gameplay;
using UnityEngine;
using UnityEngine.UI;
namespace TcgEngine.UI
{
public class TaskItem : MonoBehaviour
{
public string taskID;
public Text taskName_text;
public Text teskDesc_text;
public Slider progressBar_slider;
public Text progressBar_text;
public Button reward_button;
public Image reward_icon;
private PlayerTask playerTask;
private TaskData taskConfig;
public void SetTask(TaskData config, PlayerTask task)
{
taskID = config.id;
taskConfig = config;
playerTask = task;
taskName_text.text = taskConfig.name;
teskDesc_text.text = taskConfig.desc;
progressBar_slider.maxValue = config.value1;
progressBar_slider.value = task.progress;
progressBar_text.text = task.progress + "/" + taskConfig.value1;
progressBar_slider.interactable = false; // 禁用交互性
reward_button.interactable = task.status == TaskStatus.Completed;
reward_button.onClick.RemoveAllListeners();
reward_button.onClick.AddListener(OnClickReward);
RefreshStatus();
}
private void OnClickReward()
{
if (playerTask != null && playerTask.status == TaskStatus.Completed)
{
TaskManager.Instance.ClaimTaskReward(playerTask);
RefreshStatus();
}
}
private void RefreshStatus()
{
if (playerTask == null) return;
progressBar_slider.value = playerTask.progress;
progressBar_text.text = playerTask.progress + "/" + taskConfig.value1;
}
private void RewardColl(Sprite icon)
{
if (reward_icon != null)
{
reward_icon.sprite = icon;
}
}
}
}