yyl
2025-06-09 b9751b2f076ee050fe5b685e91ae4fc4469b1015
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class HorizontalReversalImage : Image
{
 
    protected override void OnPopulateMesh(VertexHelper vh)
    {
        base.OnPopulateMesh(vh);
 
        if (!IsActive() || vh.currentVertCount == 0)
        {
            return;
        }
 
        var vertexs = new List<UIVertex>();
        vh.GetUIVertexStream(vertexs);
 
        var uv05 = vertexs[4].uv0;
        var uv1 = vertexs[2].uv0;
        var uv23 = vertexs[1].uv0;
        var uv4 = vertexs[0].uv0;
 
        var reveralVertexs = new List<UIVertex>();
        reveralVertexs.Add(AmendUV0(vertexs[0], uv05));
        reveralVertexs.Add(AmendUV0(vertexs[1], uv1));
        reveralVertexs.Add(AmendUV0(vertexs[2], uv23));
        reveralVertexs.Add(AmendUV0(vertexs[3], uv23));
        reveralVertexs.Add(AmendUV0(vertexs[4], uv4));
        reveralVertexs.Add(AmendUV0(vertexs[5], uv05));
 
        vh.Clear();
        vh.AddUIVertexTriangleStream(reveralVertexs);
    }
 
    public UIVertex AmendUV0(UIVertex _vertex, Vector2 _uv0)
    {
        _vertex.uv0 = _uv0;
        return _vertex;
    }
 
    public enum Align
    {
        Left,
        Right,
        Bottom,
        Top,
        Orthogon,
    }
}