A game about forced loneliness, made by TACStudios
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}