A game about forced loneliness, made by TACStudios
1using UnityEditor.Graphing; 2 3namespace UnityEditor.ShaderGraph 4{ 5 [Title("Input", "Geometry", "Instance ID")] 6 class InstanceIDNode : AbstractMaterialNode, IMayRequireInstanceID 7 { 8 private const int kOutputSlotId = 0; 9 private const string kOutputSlotName = "Out"; 10 11 public override bool hasPreview => false; 12 13 public InstanceIDNode() 14 { 15 name = "Instance ID"; 16 UpdateNodeAfterDeserialization(); 17 } 18 19 public sealed override void UpdateNodeAfterDeserialization() 20 { 21 AddSlot(new Vector1MaterialSlot(kOutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, (int)0, ShaderStageCapability.All)); 22 RemoveSlotsNameNotMatching(new[] { kOutputSlotId }); 23 } 24 25 public override string GetVariableNameForSlot(int slotId) 26 { 27 return string.Format("IN.{0}", ShaderGeneratorNames.InstanceID); 28 } 29 30 public bool RequiresInstanceID(ShaderStageCapability stageCapability) 31 { 32 return true; 33 } 34 } 35}