Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/UI_LoadSlotButton.cs
2026-03-04 09:37:33 +08:00

76 lines
1.6 KiB
C#

using Michsky.UI.Heat;
using Obvious.Soap;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class UI_LoadSlotButton : MonoBehaviour
{
public UnityEvent OnLoadProfile;
public PlayerProfile PlayerProfile;
private string _ProfileName;
[SerializeField]
private TextMeshProUGUI _NameText;
[SerializeField]
private TextMeshProUGUI _DescriptionText;
[SerializeField]
private ButtonManager _LoadButton;
[SerializeField]
private Button _DeleteButton;
[SerializeField]
private ScriptableEventString On_LoadSlot_LoadClicked;
[SerializeField]
private ScriptableEventString On_LoadSlot_RemoveClicked;
public void Initialize(string profileName)
{
_ProfileName = profileName;
_NameText.text = _ProfileName;
string text = PlayerProfile.GetMoneyFromProfile(profileName).ToString("F2");
_DescriptionText.text = "1 lvl\n" + text + "$";
if (PlayerProfile.Name.Equals(_ProfileName))
{
_NameText.text = _ProfileName + " <color=#FFD700>[Loaded]</color>";
_LoadButton.Interactable(value: false);
_DeleteButton.gameObject.SetActive(value: false);
}
}
public void RemoveProfileClicked()
{
On_LoadSlot_RemoveClicked.Raise(_ProfileName);
}
public void LoadProfileClicked()
{
On_LoadSlot_LoadClicked.Raise(_ProfileName);
}
public void RemoveProfile(string nameToRemove)
{
if (!(_ProfileName != nameToRemove))
{
PlayerProfile.DeleteProfile(_ProfileName);
Object.Destroy(base.gameObject);
}
}
public void LoadProfile(string nameToLoad)
{
if (!(_ProfileName != nameToLoad))
{
OnLoadProfile?.Invoke();
PlayerProfile.LoadData(_ProfileName);
}
}
}