Tanoda
ChangedTextureHolder.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.Runtime.Serialization;
4using UnityEngine;
5
6[Serializable]
7public class ChangedTextureHolder : MonoBehaviour, ISerializable
8{
9 public List<MatSettings> matSettings = new List<MatSettings>();
10
12 {
13 matSettings = new List<MatSettings>();
14 }
15
16 public ChangedTextureHolder(SerializationInfo info, StreamingContext context)
17 {
18 matSettings = (List<MatSettings>)info.GetValue("matSettings", typeof(List<MatSettings>));
19 }
20
21 public void GetObjectData(SerializationInfo info, StreamingContext context)
22 {
23 info.AddValue("matSettings", matSettings, typeof(List<MatSettings>));
24 }
25
26 [Serializable]
27 public struct MatSettings
28 {
29 public string textureName;
30 public string metallicName;
31 public string normalName;
32 public string occlusionName;
33 public float metallic, smoothness;
34 public Color color;
35 }
36}
37
38public static class MyListExtensions
39{
40 public static T GetIndex<T>(this List<T> list, int index)
41 {
42 if (list == null)
43 list = new List<T>();
44
45 while (list.Count - 1 < index)
46 {
47 list.Add(default);
48 }
49 return list[index];
50 }
51}
UnityEngine.Color Color
Definition: TestScript.cs:32
ChangedTextureHolder(SerializationInfo info, StreamingContext context)
void GetObjectData(SerializationInfo info, StreamingContext context)
List< MatSettings > matSettings