TH1/Unity/Assets/Scripts/TH1_UI/Components/UIInfoDiplomacyAvatarMono.cs
2026-02-14 22:57:12 +08:00

48 lines
1.6 KiB
C#

using Logic.Multilingual;
using RuntimeData;
using TH1_Logic.Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.Components
{
public class UIInfoDiplomacyAvatarMono : MonoBehaviour
{
public Image LeaderAvatar;
public Image RelationStateIcon;
public Image RelationStateBG;
//public TextMeshProUGUI RelationStateText;
public TextMeshProUGUI Title;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void SetContent(PlayerData player,DiplomacyState diplomacyState,bool unknownPlayer = false)
{
Table.Instance.PlayerDataAssets.GetPlayerInfo(player, out var playerInfo);
MultilingualManager.Instance.SetUIText(Title, playerInfo.ForceName);
if(player == Main.MapData.PlayerMap.SelfPlayerData)Title.text += "(" + MultilingualManager.Instance.GetMultilingualTextSafe(Table.Instance.TextDataAssets.PresentationUIDiplomacyYouText) +")";
LeaderAvatar.sprite = unknownPlayer ? Table.Instance.PlayerDataAssets.CommonPlayerAvatar : playerInfo.LeaderAvatar;
if (unknownPlayer) Title.text = "???";
if (Table.Instance.DiplomacyDataAssets.GetStateInfo(diplomacyState, out var info))
{
RelationStateIcon.color = info.StateColor;
RelationStateBG.color = info.StateBGColor;
RelationStateIcon.sprite = info.StateIcon;
}
}
}
}