75 lines
1.3 KiB
C#
75 lines
1.3 KiB
C#
using System;
|
|
using HeathenEngineering.Tools;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.Serialization;
|
|
using UnityEngine.UI;
|
|
|
|
namespace HeathenEngineering.SteamApi.Foundation.UI
|
|
{
|
|
[RequireComponent(typeof(Text))]
|
|
public class GetSteamName : HeathenUIBehaviour
|
|
{
|
|
[FormerlySerializedAs("UserData")]
|
|
public SteamUserData userData;
|
|
|
|
private Text text;
|
|
|
|
private void Start()
|
|
{
|
|
text = GetComponent<Text>();
|
|
if (userData != null)
|
|
{
|
|
LinkSteamUser(userData);
|
|
}
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
if (userData != null)
|
|
{
|
|
LinkSteamUser(userData);
|
|
}
|
|
}
|
|
|
|
public void LinkSteamUser(SteamUserData newUserData)
|
|
{
|
|
if (userData != null && userData.OnNameChanged != null)
|
|
{
|
|
userData.OnNameChanged.RemoveListener(handleNameChanged);
|
|
}
|
|
userData = newUserData;
|
|
handleNameChanged();
|
|
if (userData != null)
|
|
{
|
|
if (userData.OnNameChanged == null)
|
|
{
|
|
userData.OnNameChanged = new UnityEvent();
|
|
}
|
|
userData.OnNameChanged.AddListener(handleNameChanged);
|
|
}
|
|
}
|
|
|
|
private void handleNameChanged()
|
|
{
|
|
text = GetComponent<Text>();
|
|
try
|
|
{
|
|
text.text = userData.DisplayName;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
text.text = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerName;
|
|
}
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
}
|
|
}
|
|
}
|