GQ_Communicate/GQ_VR/Assets/script/MenuCarousel/CarouselItem.cs

51 lines
1.4 KiB
C#

using UnityEngine;
using UnityEngine.UI;
namespace Toolset.UI
{
/// <summary>
/// 轮播图子元素
/// </summary>
public class CarouselItem : MonoBehaviour
{
private CarouselMenu parent;
private RectTransform rect;
private Image img;
private Color clr;
//[HideInInspector]
public float v = 0;
/// <summary>
/// 初始化
/// </summary>
/// <param name="_parent"></param>
public void Init(CarouselMenu _parent)
{
rect = GetComponent<RectTransform>();
img = GetComponent<Image>();
parent = _parent;
clr = img.color;
}
/// <summary>
/// 计算transform
/// </summary>
/// <param name="value"></param>
public void CalculateTrans(float value)
{
v += value;
rect.localPosition = new Vector3(parent.GetPosition(v), rect.localPosition.y, rect.localPosition.z);
clr.a = parent.GetAlpha(v);
if (clr.a > 0)
{
GetComponent<Image>().raycastTarget = true;
}
else
{
GetComponent<Image>().raycastTarget = false;
}
img.color = clr;
rect.localScale = new Vector3(parent.GetScale(v), parent.GetScale(v), 1);
}
}
}