A game about forced loneliness, made by TACStudios
1using System; 2using System.Text.RegularExpressions; 3using UnityEditor.ShaderGraph.Drawing.Controls; 4using UnityEngine; 5using UnityEditor.Graphing; 6using System.Collections.Generic; 7using System.Linq; 8using UnityEditor.ShaderGraph.Internal; 9 10namespace UnityEditor.ShaderGraph 11{ 12 using PopupList = UnityEditor.ShaderGraph.Drawing.Controls.PopupList; 13 abstract class GeometryNode : AbstractMaterialNode 14 { 15 public GeometryNode() 16 { 17 m_PreviewMode = PreviewMode.Preview3D; 18 } 19 20 public virtual List<CoordinateSpace> validSpaces => new List<CoordinateSpace> { CoordinateSpace.Object, CoordinateSpace.View, CoordinateSpace.World, CoordinateSpace.Tangent }; 21 22 [SerializeField] 23 private CoordinateSpace m_Space = CoordinateSpace.World; 24 25 [PopupControl("Space")] 26 public PopupList spacePopup 27 { 28 get 29 { 30 var names = validSpaces.Select(cs => cs.ToString().PascalToLabel()).ToArray(); 31 return new PopupList(names, (int)m_Space); 32 } 33 set 34 { 35 if (m_Space == (CoordinateSpace)value.selectedEntry) 36 return; 37 38 m_Space = (CoordinateSpace)value.selectedEntry; 39 Dirty(ModificationScope.Graph); 40 } 41 } 42 public CoordinateSpace space => m_Space; 43 44 public override bool hasPreview 45 { 46 get { return true; } 47 } 48 } 49}