Files
bansonic_beta_main/Assets/scripts/UI/Component/UI_Image.cs
T
FloatGaming 1d818fa4eb 整合包
gameplay bundle has been imported together
2025-08-09 18:29:32 +08:00

71 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[DisallowMultipleComponent]
[RequireComponent(typeof(RectTransform))]
[RequireComponent(typeof(CanvasRenderer))]
[AddComponentMenu("UI/UI_Image", 99)]
[ExecuteInEditMode]
public class UI_Image : Image {
[SerializeField]
private Vector3 offsetLeftButtom = Vector3.zero;
public Vector3 OffsetLeftButtom{
get{return offsetLeftButtom;}
set{
offsetLeftButtom = value;
SetAllDirty();
}
}
[SerializeField]
private Vector3 offsetRightButtom = Vector3.zero;
public Vector3 OffsetRightButtom{
get{return offsetRightButtom;}
set{
offsetRightButtom = value;
SetAllDirty();
}
}
[SerializeField]
private Vector3 offsetLeftTop = Vector3.zero;
public Vector3 OffsetLeftTop{
get{return offsetLeftTop;}
set{
offsetLeftTop = value;
SetAllDirty();
}
}
[SerializeField]
private Vector3 offsetRightTop = Vector3.zero;
public Vector3 OffsetRightTop{
get{return offsetRightTop;}
set{
offsetRightTop = value;
SetAllDirty();
}
}
Vector3 GetOffsetVector(int i){
if (i == 0){
return offsetLeftButtom;
}else if (i == 1){
return offsetLeftTop;
}else if (i == 2){
return offsetRightTop;
}else {
return offsetRightButtom;
}
}
protected override void OnPopulateMesh(VertexHelper toFill){
base.OnPopulateMesh(toFill);
int count = toFill.currentVertCount;
for(int i=0;i<count;i++){
UIVertex vertex = new UIVertex();
toFill.PopulateUIVertex(ref vertex, i);
// Debug.Log(i.ToString() + ": " + oldPosition[i].ToString());
vertex.position += GetOffsetVector(i);
toFill.SetUIVertex(vertex, i);
}
}
}