powerfun-unity/Assets/GUIMainNetWorkInfo.cs

128 lines
3.7 KiB
C#
Raw Normal View History

using System.Linq;
using System.Text;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Assets.Scripts;
public class GUIMainNetWorkInfo : MonoBehaviour
{
// Start is called before the first frame update
[SerializeField] Text labelBattery;
[SerializeField] Image NetImage;
2021-11-09 16:47:21 +08:00
long _delayTime = 1;
Dictionary<int, Sprite> dict;
int getType(long a)
{
if (a >= 1 && a <= 30)
{
return 5;
}
else if (a > 30 && a <= 50)
{
return 4;
}
else if (a > 50 && a <= 100)
{
return 3;
}
else if (a > 100 && a <= 200)
{
return 2;
}
else
{
return 1;
}
}
string getColor(long a)
{
if (a > 0 && a <= 50)
{
return "#4FE944";
}
else if (a > 50 && a <= 100)
{
return "#E9BF44";
}
else
{
return "#EE2929";
}
}
private void Awake()
{
#if UNITY_IOS || UNITY_ANDROID
dict = new Dictionary<int, Sprite>()
{
{1 , Resources.Load<Sprite>("Images/delay/Mobile_1") },
{2 , Resources.Load<Sprite>("Images/delay/Mobile_2") },
{3 , Resources.Load<Sprite>("Images/delay/Mobile_3") },
{4 , Resources.Load<Sprite>("Images/delay/Mobile_4") },
{5 , Resources.Load<Sprite>("Images/delay/Mobile_5") },
2021-11-09 11:37:10 +08:00
{6 , Resources.Load<Sprite>("Images/delay/wifi-1") },
{7 , Resources.Load<Sprite>("Images/delay/wifi-2") },
{8 , Resources.Load<Sprite>("Images/delay/wifi-3") },
{9 , Resources.Load<Sprite>("Images/delay/wifi-4") },
{10 , Resources.Load<Sprite>("Images/delay/wifi-5") },
};
#else
dict = new Dictionary<int, Sprite>()
{
{1 , Resources.Load<Sprite>("Images/delay/wifi-1") },
{2 , Resources.Load<Sprite>("Images/delay/wifi-2") },
{3 , Resources.Load<Sprite>("Images/delay/wifi-3") },
{4 , Resources.Load<Sprite>("Images/delay/wifi-4") },
{5 , Resources.Load<Sprite>("Images/delay/wifi-5") },
};
#endif
}
void Start()
{
}
private void Update()
{
if (_delayTime != App.delayTime && dict!=null)
{
_delayTime = App.delayTime;
2021-12-15 13:24:26 +08:00
//Debug.Log("延迟"+_delayTime);
if (NetImage)
{
2021-11-09 11:37:10 +08:00
if (_delayTime != -1)
{
2021-11-09 16:47:21 +08:00
#if UNITY_IOS || UNITY_ANDROID
2021-11-09 11:37:10 +08:00
if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
{
NetImage.sprite = dict[getType(_delayTime) + 5];
}
else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
{
NetImage.sprite = dict[getType(_delayTime)];
}
2021-11-09 16:47:21 +08:00
#else
NetImage.sprite = dict[getType(_delayTime)];
#endif
2021-11-09 11:37:10 +08:00
}
else
{
NetImage.sprite = dict[1];
}
}
if (labelBattery)
{
if (_delayTime != -1)
{
2021-12-24 18:33:58 +08:00
labelBattery.text = $"{_delayTime.ToString("0")}ms";
}
else
{
2021-12-30 16:51:04 +08:00
labelBattery.text = App.GetLocalString("No Net");
}
labelBattery.color = Utils.HexToColorHtml(getColor(_delayTime));
}
}
}
}