FuZhou_Custom_BulkCargo_3D/FuZhou_FirstPage/Assets/Scripts/FirstPanel.cs

107 lines
2.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class FirstPanel : MonoBehaviour
{
/// <summary>
/// 检测的图片
/// </summary>
public List<Image> checkImages;
/// <summary>
/// 选中的图片
/// </summary>
public List<GameObject> showImages;
/// <summary>
/// 服务器IP
/// </summary>
public string serverIP;
/// <summary>
/// 前端调用初始化传IP
/// </summary>
/// <param name="serverIP"></param>
public void InitUnity(string serverIP)
{
this.serverIP= serverIP;
//CallGet(""/*)*/
}
private void Update()
{
int index = 0;
foreach (Image image in checkImages)
{
if (IsTrig(image))
{
//触发此市
Debug.Log(image.name);
Chose(index);
return;
}
index++;
}
Debug.Log("未触发");
Chose(-1);
}
/// <summary>
/// 是否触发区域
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
private bool IsTrig(Image image)
{
//检测鼠标
RectTransformUtility.ScreenPointToLocalPointInRectangle(image.rectTransform, Input.mousePosition, null, out Vector2 localPos);
Vector2 bil = new Vector2((localPos.x + image.rectTransform.rect.width / 2f) / image.rectTransform.rect.width, (localPos.y + image.rectTransform.rect.height / 2f) / image.rectTransform.rect.height);
Color pixelColor = image.sprite.texture.GetPixelBilinear(bil.x, bil.y);
//Debug.Log("鼠标点:"+Input.mousePosition + " -> 纹理点:" + localPos + " -> 纹理点序列化:"+ bil + " -> 透明度值:"+ pixelColor.a);
if (pixelColor.a == 1)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 上一个显示的
/// </summary>
GameObject lastShow;
private void Chose(int index)
{
if(index==-1)
{
if (lastShow != null)
{
lastShow.gameObject.SetActive(false);
}
}
else
{
if (lastShow != null)
{
lastShow.gameObject.SetActive(false);
}
showImages[index].gameObject.SetActive(true);
lastShow = showImages[index].gameObject;
}
}
public void CallGet(string url)
{
UnityWebRequest request = UnityWebRequest.Get(url);
}
}