void Awake() { Trans = transform; // TODO Factory Get _info = new MeshRectInfo(); _info.TexName = TexName; _info.Id = gameObject.GetInstanceID(); _info.Pos = Trans.localPosition; _info.Size = Size; _info.PosReBuild = false; }
public static MeshRectInfo AddQuad(Rect wldRect, Rect uvRect, List <Vector3> verts, List <Vector2> uvs, List <int> tris) { MeshRectInfo mri = new MeshRectInfo(); int rootIdx = mri.vertIdx = verts.Count; mri.triIdx = tris.Count; verts.Add(new Vector3(wldRect.x, wldRect.y, 0)); verts.Add(new Vector3(wldRect.x + wldRect.width, wldRect.y, 0)); verts.Add(new Vector3(wldRect.x, wldRect.y + wldRect.height, 0)); verts.Add(new Vector3(wldRect.x + wldRect.width, wldRect.y + wldRect.height, 0)); uvs.Add(new Vector2(uvRect.x, uvRect.y)); uvs.Add(new Vector2(uvRect.x + uvRect.width, uvRect.y)); uvs.Add(new Vector2(uvRect.x, uvRect.y + uvRect.height)); uvs.Add(new Vector2(uvRect.x + uvRect.width, uvRect.y + uvRect.height)); tris.Add(rootIdx + 0); tris.Add(rootIdx + 2); tris.Add(rootIdx + 1); tris.Add(rootIdx + 2); tris.Add(rootIdx + 3); tris.Add(rootIdx + 1); return(mri); }