Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/PlayerListWidget.cs
2026-02-21 16:45:37 +08:00

80 lines
2.0 KiB
C#

using BitStrap;
using UnityEngine;
using UnityEngine.UI;
public class PlayerListWidget : MonoBehaviour
{
public Image avatarImage;
public Image stateImage;
public Text nameText;
public Text stateText;
public Text levelText;
public Button showStatsBtn;
public Button addFriendBtn;
public Toggle muteToggle;
public SteamStatsManager.SteamUser steamUser;
[ReadOnly]
public PhotonPlayer photonPlayer;
[HideInInspector]
public PlayersGUI playersGUI;
public void RefreshWidget()
{
if (steamUser != null)
{
if ((bool)steamUser.avatarMedium)
{
avatarImage.sprite = Sprite.Create(steamUser.avatarMedium, new Rect(0f, 0f, steamUser.avatarMedium.width, steamUser.avatarMedium.height), new Vector2(0.5f, 0.5f));
}
else
{
avatarImage.sprite = null;
}
avatarImage.gameObject.SetActive(avatarImage.sprite != null);
stateImage.color = SteamStatsManager.Instance.GetUserStateColor(steamUser);
nameText.text = photonPlayer.NickName;
levelText.text = Utilities.GetTranslation("LEADERBOARDS/LEVEL") + " " + ((!photonPlayer.CustomProperties.ContainsKey("playersLevel")) ? "-" : ((int)photonPlayer.CustomProperties["playersLevel"]/*cast due to .constrained prefix*/).ToString());
addFriendBtn.interactable = !SteamStatsManager.Instance.IsUserAFriend(steamUser);
if ((bool)MultiplayerManager.Instance && MultiplayerManager.Instance.IsPlayerMuted(photonPlayer.NickName))
{
muteToggle.isOn = false;
}
if (steamUser.platformProfileID == GlobalSettings.Instance.GetPlatformProfileID())
{
muteToggle.gameObject.SetActive(false);
addFriendBtn.gameObject.SetActive(false);
}
}
}
public void ShowStats()
{
playersGUI.steamUserWidget.steamUser = steamUser;
playersGUI.steamUserWidget.photonPlayer = photonPlayer;
playersGUI.ChangeState(PlayersGUI.State.STATS);
}
public void AddFriend()
{
SteamStatsManager.Instance.AddFriend(steamUser);
}
public void MutePlayer()
{
if ((bool)MultiplayerManager.Instance)
{
MultiplayerManager.Instance.MutePlayer(photonPlayer.NickName, !muteToggle.isOn);
}
}
}