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; long _delayTime = 1; Dictionary 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() { {1 , Resources.Load("Images/delay/Mobile_1") }, {2 , Resources.Load("Images/delay/Mobile_2") }, {3 , Resources.Load("Images/delay/Mobile_3") }, {4 , Resources.Load("Images/delay/Mobile_4") }, {5 , Resources.Load("Images/delay/Mobile_5") }, {6 , Resources.Load("Images/delay/wifi-1") }, {7 , Resources.Load("Images/delay/wifi-2") }, {8 , Resources.Load("Images/delay/wifi-3") }, {9 , Resources.Load("Images/delay/wifi-4") }, {10 , Resources.Load("Images/delay/wifi-5") }, }; #else dict = new Dictionary() { {1 , Resources.Load("Images/delay/wifi-1") }, {2 , Resources.Load("Images/delay/wifi-2") }, {3 , Resources.Load("Images/delay/wifi-3") }, {4 , Resources.Load("Images/delay/wifi-4") }, {5 , Resources.Load("Images/delay/wifi-5") }, }; #endif } void Start() { } private void Update() { if (_delayTime != App.delayTime && dict!=null) { _delayTime = App.delayTime; //Debug.Log("延迟"+_delayTime); if (NetImage) { if (_delayTime != -1) { #if UNITY_IOS || UNITY_ANDROID if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork) { NetImage.sprite = dict[getType(_delayTime) + 5]; } else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork) { NetImage.sprite = dict[getType(_delayTime)]; } #else NetImage.sprite = dict[getType(_delayTime)]; #endif } else { NetImage.sprite = dict[1]; } } if (labelBattery) { if (_delayTime != -1) { labelBattery.text = $"{_delayTime.ToString("0")}ms"; } else { labelBattery.text = App.GetLocalString("No Net"); } labelBattery.color = Utils.HexToColorHtml(getColor(_delayTime)); } } } }