TH1/Unity/Assets/Scripts/TH1_UI/View/Outside/UIOutsideLibraryAchieveItemMono.cs
2026-01-12 16:30:34 +08:00

78 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using Animancer;
using Logic;
using Logic.Action;
using Logic.AI;
using Logic.Audio;
using Logic.Config;
using Logic.Multilingual;
using ParadoxNotion;
using RuntimeData;
using Steamworks;
using TH1_Core.Events;
using TH1_Core.Managers;
using TH1_Logic.Action;
using TH1_Logic.Config;
using TH1_Logic.Core;
using TH1_Logic.Net;
using TH1_Logic.Steam;
using TH1_UI.View.Announce;
using TH1Resource;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using ConfigManager = TH1_Logic.Config.ConfigManager;
namespace TH1_UI.View.Outside
{
public class UIOutsideLibraryAchieveItemMono : MonoBehaviour
{
public TextMeshProUGUI Name;
public TextMeshProUGUI Desc;
public TextMeshProUGUI Progress;
public Image Stars;
public Sprite StarImg;
public Sprite StarImgGray;
public Color FinishTextColor;
public Color FinishProgressTextColor;
public Color UnfinishTextColor;
//关闭时执行的委托
public ViDelegateAssisstant.Dele OnBtnCloseClick;
//开始游戏时执行的委托(目前委托内容就是执行controller的Close())
public ViDelegateAssisstant.Dele OnStartGame;
public void SetContent(uint bigId,uint smallId,uint rkId)
{
bool isFinished = AchievementDataManager.Instance.IsFinished(bigId, smallId, rkId);
var info = AchievementDataManager.Instance.Achievement.GetAchievementItem(bigId, smallId, rkId);
if (info == null) return;
MultilingualManager.Instance.SetUIText(Name,info.Name);
MultilingualManager.Instance.SetUIText(Desc,info.Desc);
Stars.sprite = isFinished ? StarImg : StarImgGray ;
Name.color = isFinished ? FinishTextColor : UnfinishTextColor;
Desc.color = isFinished ? FinishTextColor : UnfinishTextColor;
info.GetConditionProgress(out var cur, out var max);
Progress.text = cur + "/" + max;
Progress.color = isFinished ? FinishProgressTextColor : UnfinishTextColor;
}
}
}