Boat Attack使用了Universal RP的许多新图形功能,可以用于探索 Universal RP 的使用方式和技巧。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

47 行
1.2 KiB

using System;
using System.Reflection;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;
namespace UnityEditor.ShaderGraph.Drawing.Controls
{
[AttributeUsage(AttributeTargets.Property)]
class ButtonControlAttribute : Attribute, IControlAttribute
{
public ButtonControlAttribute()
{
}
public VisualElement InstantiateControl(AbstractMaterialNode node, PropertyInfo propertyInfo)
{
return new ButtonControlView(node, propertyInfo);
}
}
[Serializable]
struct ButtonConfig
{
public string text;
public Action action;
}
class ButtonControlView : VisualElement
{
public ButtonControlView(AbstractMaterialNode node, PropertyInfo propertyInfo)
{
AbstractMaterialNode m_Node;
m_Node = node;
Type type = propertyInfo.PropertyType;
if (type != typeof(ButtonConfig))
{
throw new ArgumentException("Property must be a ButtonConfig.", "propertyInfo");
}
var value = (ButtonConfig)propertyInfo.GetValue(m_Node, null);
Add(new Button(value.action) { text = value.text});
}
}
}