using System.Collections.Generic;
using UnityEngine;
using Wizard.Scripts.Network.Data.TaskData.SkinPurchase;

namespace Wizard;

public class ClassSkinDetailWindow : MonoBehaviour
{
	[SerializeField]
	private SkinProductDetail _skinProductDetail;

	[SerializeField]
	private UILabel _labelSingleProductName;

	[SerializeField]
	private UILabel _labelMultiProductName;

	[SerializeField]
	private UISprite _spriteClassColorIcon;

	[SerializeField]
	private UILabel _labelCV;

	[SerializeField]
	private UIButton _buttonVoice;

	public void SetMultiData(SkinSeriesPurchaseInfo seriesInfo)
	{
		_skinProductDetail.SetMultiProductDetail(seriesInfo);
		_labelSingleProductName.gameObject.SetActive(value: false);
		_labelMultiProductName.gameObject.SetActive(value: true);
		_labelCV.gameObject.SetActive(value: false);
		_labelMultiProductName.text = seriesInfo.saleInfo.name;
	}

	public void SetSingleData(SkinProductInfo productInfo, List<string> loadedVoiceList)
	{
		_skinProductDetail.SetSingleProductDetail(productInfo, productInfo.description);
		_labelSingleProductName.gameObject.SetActive(value: true);
		_labelMultiProductName.gameObject.SetActive(value: false);
		_labelCV.gameObject.SetActive(value: true);
		ClassCharacterMasterData charaPrmBySkinId = GameMgr.GetIns().GetDataMgr().GetCharaPrmBySkinId(productInfo.leader_skin_id);
		_labelSingleProductName.text = productInfo.saleInfo.name;
		ClassCharaPrm.SetClassLabelSetting(_labelSingleProductName, charaPrmBySkinId.ClassColorId);
		_spriteClassColorIcon.spriteName = ClassCharaPrm.GetIconSpriteName(charaPrmBySkinId.clan);
		_labelCV.text = productInfo.cv_name;
		_buttonVoice.onClick.Clear();
		_buttonVoice.onClick.Add(new EventDelegate(delegate
		{
			if (Data.Master._emotionDic.ContainsKey(productInfo.leader_skin_id.ToString()))
			{
				GameMgr.GetIns().GetSoundMgr().PlayVoice(ClassCharaPrm.EmotionType.LEADER_SELECT, productInfo.leader_skin_id, loadedVoiceList);
			}
		}));
	}
}
