85 lines
2.5 KiB
C#
85 lines
2.5 KiB
C#
using Exoa;
|
|
using System;
|
|
namespace UnityEngine.UIElements.Expansions
|
|
{
|
|
public class IconButton : Button
|
|
{
|
|
public new class UxmlFactory : UxmlFactory<IconButton, IconButton.UxmlTraits>
|
|
{
|
|
internal const string ElementName = "IconButton";
|
|
internal const string UxmlNamespace = "UnityEngine.UIElements";
|
|
public override string uxmlName
|
|
{
|
|
get
|
|
{
|
|
return "IconButton";
|
|
}
|
|
}
|
|
public override string uxmlQualifiedName
|
|
{
|
|
get
|
|
{
|
|
return "UnityEngine.UIElements.IconButton";
|
|
}
|
|
}
|
|
}
|
|
public new class UxmlTraits : VisualElement.UxmlTraits
|
|
{
|
|
private UxmlStringAttributeDescription _icon;
|
|
public UxmlTraits()
|
|
{
|
|
UxmlStringAttributeDescription expr_0C = new UxmlStringAttributeDescription();
|
|
expr_0C.name = ("icon");
|
|
this._icon = expr_0C;
|
|
}
|
|
public override void Init(VisualElement ve, IUxmlAttributes bag, CreationContext cc)
|
|
{
|
|
base.Init(ve, bag, cc);
|
|
try
|
|
{
|
|
IconButton iconButton;
|
|
if ((iconButton = (ve as IconButton)) != null)
|
|
{
|
|
string valueFromBag = this._icon.GetValueFromBag(bag, cc);
|
|
if (!valueFromBag.IsNullOrEmpty())
|
|
{
|
|
iconButton.text = (valueFromBag);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
UnityEngine.Debug.LogError(ex.Message);
|
|
}
|
|
}
|
|
}
|
|
public override string text
|
|
{
|
|
get
|
|
{
|
|
UnityEngine.Icon icon = UnityEngine.Icon.Get(base.text);
|
|
if (base.style.unityFont != icon)
|
|
{
|
|
base.style.unityFont = (icon);
|
|
}
|
|
return icon;
|
|
}
|
|
set
|
|
{
|
|
base.text = (value);
|
|
}
|
|
}
|
|
public IconButton()
|
|
{
|
|
}
|
|
public IconButton(string id)
|
|
{
|
|
if (id.IsNullOrEmpty())
|
|
{
|
|
return;
|
|
}
|
|
this.text = (id);
|
|
}
|
|
}
|
|
}
|