A game about forced loneliness, made by TACStudios
at master 64 lines 2.1 kB view raw
1using System; 2using System.Collections.Generic; 3using UnityEngine; 4 5namespace UnityEditor.ShaderGraph.Internal 6{ 7 enum LayerTextureType 8 { 9 Default, 10 NormalTangentSpace, 11 NormalObjectSpace 12 }; 13 14 [Serializable] 15 internal class SerializableVirtualTextureLayer 16 { 17 public string layerName; 18 public string layerRefName; 19 public SerializableTexture layerTexture; 20 public LayerTextureType layerTextureType; 21 [SerializeField] 22 private Guid guid; 23 24 public SerializableVirtualTextureLayer(string name, string refName, SerializableTexture texture) 25 { 26 this.layerName = name; this.layerName = name; 27 this.guid = Guid.NewGuid(); 28 this.layerRefName = refName; this.layerRefName = refName; 29 this.layerTexture = texture; this.layerTexture = texture; 30 this.layerTextureType = LayerTextureType.Default; this.layerTextureType = LayerTextureType.Default; 31 } 32 33 public SerializableVirtualTextureLayer(string name, SerializableTexture texture) 34 { 35 this.layerName = name; 36 this.guid = Guid.NewGuid(); 37 this.layerRefName = $"Layer_{GuidEncoder.Encode(this.guid)}"; 38 this.layerTexture = texture; 39 this.layerTextureType = LayerTextureType.Default; 40 } 41 42 public SerializableVirtualTextureLayer(SerializableVirtualTextureLayer other) 43 { 44 this.layerName = other.layerName; 45 this.guid = Guid.NewGuid(); 46 this.layerRefName = $"Layer_{GuidEncoder.Encode(this.guid)}"; 47 this.layerTexture = other.layerTexture; 48 this.layerTextureType = LayerTextureType.Default; 49 } 50 } 51 52 [Serializable] 53 internal sealed class SerializableVirtualTexture 54 { 55 [SerializeField] 56 public List<SerializableVirtualTextureLayer> layers = new List<SerializableVirtualTextureLayer>(); 57 58 [SerializeField] 59 public bool procedural; 60 61 [SerializeField] 62 public HLSLDeclaration shaderDeclaration; 63 } 64}