Exemple #1
0
 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;
 }
Exemple #2
0
            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);
            }