33 lines
966 B
C#
33 lines
966 B
C#
using UnityEngine.UIElements;
|
|
|
|
public class UserProfileItemVisualElement : VisualElement
|
|
{
|
|
// A reference to the UXML template. We will load this in the DataSource.
|
|
public static readonly string UxmlPath = "UserProfileItem";
|
|
|
|
// References to the UI elements inside the template.
|
|
private readonly Label nameLabel;
|
|
private readonly Label statusLabel;
|
|
|
|
public UserProfileItemVisualElement()
|
|
{
|
|
// This is where we find the child elements by their names from the UXML.
|
|
nameLabel = this.Q<Label>("user-name");
|
|
statusLabel = this.Q<Label>("user-status");
|
|
}
|
|
|
|
// Public method to bind the data.
|
|
public void SetData(UserProfile profile)
|
|
{
|
|
nameLabel.text = profile.Name;
|
|
statusLabel.text = profile.Status;
|
|
statusLabel.style.color = new StyleColor(profile.StatusColor);
|
|
}
|
|
|
|
// Public method to clear data for recycling.
|
|
public void ClearData()
|
|
{
|
|
nameLabel.text = string.Empty;
|
|
statusLabel.text = string.Empty;
|
|
}
|
|
}
|