80 lines
2.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|