本文整理汇总了C#中pb_Object.GetSharedIndices方法的典型用法代码示例。如果您正苦于以下问题:C# pb_Object.GetSharedIndices方法的具体用法?C# pb_Object.GetSharedIndices怎么用?C# pb_Object.GetSharedIndices使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pb_Object
的用法示例。
在下文中一共展示了pb_Object.GetSharedIndices方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: pb_SerializableObject
public pb_SerializableObject(pb_Object pb)
{
this.vertices = pb.vertices;
// Make sure the mesh is valid, and in sync with current pb_Object
if(pb.msh == null || pb.msh.vertexCount != pb.vertexCount)
{
pb_UpgradeKitUtils.RebuildMesh(pb);
}
this.uv = pb.msh != null ? pb.msh.uv : null;
if(pb.msh != null && pb.msh.colors != null && pb.msh.colors.Length == pb.vertexCount)
{
this.color = pb.msh.colors;
}
else
{
this.color = new Color[pb.vertexCount];
for(int i = 0; i < this.color.Length; i++)
this.color[i] = Color.white;
}
this.faces = pb.faces;
this.sharedIndices = (int[][])pb.GetSharedIndices().ToArray();
PropertyInfo prop_uv = pb.GetType().GetProperty("sharedIndicesUV", BindingFlags.Instance | BindingFlags.Public);
if(prop_uv != null)
{
var val = prop_uv.GetValue(pb, null);
if(val != null)
{
pb_IntArray[] sharedUvs = (pb_IntArray[])val;
this.sharedIndicesUV = (int[][])sharedUvs.ToArray();
}
else
{
this.sharedIndicesUV = new int[0][];
}
}
else
{
this.sharedIndicesUV = new int[0][];
}
PropertyInfo prop_userCollisions = pb.GetType().GetProperty("userCollisions", BindingFlags.Instance | BindingFlags.Public);
userCollisions = prop_userCollisions == null ? false : (bool) prop_userCollisions.GetValue(pb, null);
}
示例2: InitWithObject
/**
* \brief Duplicates and returns the passed pb_Object.
* @param pb The pb_Object to duplicate.
* \returns A unique copy of the passed pb_Object.
*/
public static pb_Object InitWithObject(pb_Object pb)
{
Vector3[] v = new Vector3[pb.vertexCount];
System.Array.Copy(pb.vertices, v, pb.vertexCount);
pb_Face[] f = new pb_Face[pb.faces.Length];
for(int i = 0; i < f.Length; i++)
f[i] = new pb_Face(pb.faces[i]);
pb_Object p = CreateInstanceWithVerticesFacesSharedIndices(v, f, pb.GetSharedIndices());
p.gameObject.name = pb.gameObject.name + "-clone";
return p;
}
示例3: InitWithObject
/**
* \brief Duplicates and returns the passed pb_Object.
* @param pb The pb_Object to duplicate.
* \returns A unique copy of the passed pb_Object.
*/
public static pb_Object InitWithObject(pb_Object pb)
{
Vector3[] v = new Vector3[pb.vertexCount];
System.Array.Copy(pb.vertices, v, pb.vertexCount);
Vector2[] u = new Vector2[pb.vertexCount];
System.Array.Copy(pb.uv, u, pb.vertexCount);
Color[] c = new Color[pb.vertexCount];
System.Array.Copy(pb.colors, c, pb.vertexCount);
pb_Face[] f = new pb_Face[pb.faces.Length];
for(int i = 0; i < f.Length; i++)
f[i] = new pb_Face(pb.faces[i]);
pb_Object p = CreateInstanceWithElements(v, u, c, f, pb.GetSharedIndices(), pb.GetSharedIndicesUV());
p.gameObject.name = pb.gameObject.name + "-clone";
return p;
}