A game about forced loneliness, made by TACStudios
1using System; 2using System.Linq; 3using System.Reflection; 4using UnityEditor.ShaderGraph.Internal; 5using UnityEngine; 6using Object = UnityEngine.Object; 7using UnityEngine.UIElements; 8 9namespace UnityEditor.ShaderGraph.Drawing.Controls 10{ 11 [AttributeUsage(AttributeTargets.Property)] 12 class DefaultControlAttribute : Attribute, IControlAttribute 13 { 14 public VisualElement InstantiateControl(AbstractMaterialNode node, PropertyInfo propertyInfo) 15 { 16 if (propertyInfo.PropertyType == typeof(Color)) 17 return new ColorControlView(null, ColorMode.Default, node, propertyInfo); 18 if (typeof(Enum).IsAssignableFrom(propertyInfo.PropertyType)) 19 return new EnumControlView(null, node, propertyInfo); 20 if (propertyInfo.PropertyType == typeof(Texture2D)) 21 return new TextureControlView(null, node, propertyInfo); 22 if (propertyInfo.PropertyType == typeof(Texture2DArray)) 23 return new TextureArrayControlView(null, node, propertyInfo); 24 if (propertyInfo.PropertyType == typeof(Texture3D)) 25 return new Texture3DControlView(null, node, propertyInfo); 26 if (MultiFloatControlView.validTypes.Contains(propertyInfo.PropertyType)) 27 return new MultiFloatControlView(null, "X", "Y", "Z", "W", node, propertyInfo); 28 if (typeof(Object).IsAssignableFrom(propertyInfo.PropertyType)) 29 return new ObjectControlView(null, node, propertyInfo); 30 return null; 31 } 32 } 33}