114 lines
2.5 KiB
C#
114 lines
2.5 KiB
C#
|
#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
|