Heroes_of_Hiis/Assets/Polaris - Low Poly Ecosystem/Polaris - Low Poly Terrain .../Runtime/Scripts/Utilities/GCombineInfo.cs

114 lines
2.5 KiB
C#
Raw Normal View History

#if GRIFFIN
using UnityEngine;
namespace Pinwheel.Griffin
{
public struct GCombineInfo
{
private Vector3[] vertices;
public Vector3[] Vertices
{
get
{
if (vertices == null)
vertices = new Vector3[0];
return vertices;
}
set
{
vertices = value;
}
}
private Vector2[] uvs;
public Vector2[] UVs
{
get
{
if (uvs == null)
uvs = new Vector2[0];
return uvs;
}
set
{
uvs = value;
}
}
private Color32[] colors;
public Color32[] Colors
{
get
{
if (colors == null)
colors = new Color32[0];
return colors;
}
set
{
colors = value;
}
}
private int[] triangles;
public int[] Triangles
{
get
{
if (triangles == null)
triangles = new int[0];
return triangles;
}
set
{
triangles = value;
}
}
private Matrix4x4 transform;
public Matrix4x4 Transform
{
get
{
return transform;
}
set
{
transform = value;
}
}
public GCombineInfo(Mesh m)
{
if (m != null)
{
vertices = m.vertices;
uvs = m.uv;
colors = m.colors32;
triangles = m.triangles;
transform = new Matrix4x4();
if (uvs.Length != vertices.Length)
{
uvs = new Vector2[vertices.Length];
GUtilities.Fill(uvs, Vector2.zero);
}
if (colors.Length != vertices.Length)
{
colors = new Color32[vertices.Length];
GUtilities.Fill(colors, Color.clear);
}
}
else
{
vertices = null;
uvs = null;
colors = null;
triangles = null;
transform = new Matrix4x4();
}
}
}
}
#endif