View difference between Paste ID: dJabCfWn and t6zMTjv1
SHOW: | | - or go back to the newest paste.
1
using UnityEngine;
2
using System.Collections;
3
using System.Collections.Generic;
4
using UnityEngine.UI;
5
6
[AddComponentMenu("UI/Effects/Gradient")]
7
public class Gradient : BaseVertexEffect {
8
    [SerializeField]
9-
    private Color topColor = Color.white;
9+
    private Color32 topColor = Color.white;
10
    [SerializeField]
11-
    private Color bottomColor = Color.black;
11+
    private Color32 bottomColor = Color.black;
12
13
    public override void ModifyVertices(List<UIVertex> vertexList) {
14
        if (!IsActive()) {
15
            return;
16
        }
17
18
        int count = vertexList.Count;
19
        float bottomY = vertexList[0].position.y;
20
        float topY = vertexList[0].position.y;
21
22
        for (int i = 1; i < count; i++) {
23
            float y = vertexList[i].position.y;
24
            if (y > topY) {
25
                topY = y;
26
            }
27
            else if (y < bottomY) {
28
                bottomY = y;
29
            }
30
        }
31
32
        float uiElementHeight = topY - bottomY;
33
34
        for (int i = 0; i < count; i++) {
35
            UIVertex uiVertex = vertexList[i];
36-
            uiVertex.color = Color.Lerp(bottomColor, topColor, (uiVertex.position.y - bottomY) / uiElementHeight);
36+
            uiVertex.color = Color32.Lerp(bottomColor, topColor, (uiVertex.position.y - bottomY) / uiElementHeight);
37
            vertexList[i] = uiVertex;
38
        }
39
    }
40
}