using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class FirstPanel : MonoBehaviour
{
public static FirstPanel instance;
///
/// 检测的图片
///
public List checkImages;
///
/// 选中的图片
///
public List showImages;
///
/// 省级
///
public GameObject sheng_Panel;
///
/// 返回福建省地图
///
public Button backbtn;
///
/// 目录
///
public GameObject tab;
///
/// 市
///
public GameObject citys;
///
/// 服务器IP
///
[HideInInspector]
public string serverIP;
///
/// 当前选中的海关
///
public static CustomItem currentChoseCustonItem;
void Awake()
{
currentChoseCustonItem = null;
instance = this;
backbtn.onClick.AddListener(() =>
{
//点福州海关,回到首页,当前无选中关区
currentChoseCustonItem = null;
sheng_Panel.gameObject.SetActive(true);
//关闭所有市
citys.transform.GetComponentsInChildren().ToList().ForEach(a =>
{
a.gameObject.SetActive(false);
});
//取消所有标签选中
FirstPanel.instance.tab.GetComponentsInChildren().ToList().ForEach(a =>
{
a.SetNoChoseState();
});
Application.ExternalCall("ClickCustom", "");
Debug.Log("调前端回到首页");
});
//初始化
Application.ExternalCall("OnWake");
#if UNITY_EDITOR
serverIP = "111.229.30.246";
#endif
}
///
/// 前端调用初始化传IP
///
///
public void InitUnity(string serverIP)
{
this.serverIP= serverIP;
Debug.Log("接收IP:"+serverIP);
}
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);
}
///
/// 是否触发区域
///
///
///
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;
}
}
///
/// 上一个显示的
///
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 IEnumerator CallGet(string url,Action back)
{
UnityWebRequest request = UnityWebRequest.Get(url);
yield return request.SendWebRequest();
if(!request.isHttpError && !request.isNetworkError)
{
back(true,request.downloadHandler.text);
}
else
{
back(false, request.error);
}
}
}