using Assets.Scenes.Ride.Scripts; using Assets.Scenes.Ride.Scripts.Model; using Assets.Scripts; using Assets.Scripts.Devices.Ant; using Assets.Scripts.Scenes; using Assets.Scripts.UI.Prefab.Device; using DG.Tweening; using Mapbox.Examples; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class MainController : BaseScene { [SerializeField]GameObject root; private Text Version; protected override void Awake() { base.Awake(); Debug.Log("执行25"); Version = this.transform.Find("GameObject").Find("Version").GetComponent(); Version.text = "V"+App.AppVersion; DeviceCache.Init(PFConstants.DeviceCacheFolder); Loom.Initialize(); msg = transform.Find("GameObject/Message").GetComponent(); InitialMessage(); #if UNITY_ANDROID || UNITY_IOS transform.GetComponent().referenceResolution = new Vector2(844, 390); //transform.Find("Panel").GetComponent().sizeDelta = new Vector2(844, 390); var rectTransform = transform.Find("Panel").GetComponent(); rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; //var rect1 = transform.Find("GameObject").GetComponent(); //rect1.anchorMin = Vector2.zero; //rect1.anchorMax = Vector2.one; //rect1.offsetMin = Vector2.zero; //rect1.offsetMax = Vector2.zero; //transform.Find("ModalPanel").GetComponent().sizeDelta = new Vector2(844, 390); #else var modalRect = transform.Find("ModalPanel").GetComponent(); modalRect.anchorMin = new Vector2(0.5f, 0.5f); modalRect.anchorMax = new Vector2(0.5f, 0.5f); modalRect.offsetMin = Vector2.zero; modalRect.offsetMax = Vector2.zero; modalRect.sizeDelta = new Vector2(1600, 900); App.MainDeviceAdapter.StartScan(); #endif EventQueueSystem.AddListener(LinkedMessageHandler); App.isHomeChanged -= OnIsHomeChanged; App.isHomeChanged += OnIsHomeChanged; } #region 显示消息有关 //切换页面后 private void OnIsHomeChanged(object sender, EventArgs e) { DOTween.KillAll(); FinishMessage(sender); } CanvasGroup[] msgs; Vector3 msgLocation; int msgIndex = 0; CanvasGroup rightMessage; private void InitialMessage() { #if UNITY_STANDALONE_WIN msgLocation = 1 * msg.transform.localPosition; var msg2 = Instantiate(msg); var msg3 = Instantiate(msg); msg2.transform.SetParent(msg.transform.parent); msg3.transform.SetParent(msg.transform.parent); msg2.transform.localPosition = 1 * msgLocation; msg2.transform.localScale = Vector3.one; msg2.alpha = 0; msg3.transform.localPosition = 1 * msgLocation; msg3.transform.localScale = Vector3.one; msg3.alpha = 0; msgs = new CanvasGroup[] { msg, msg2, msg3 }; rightMessage = transform.Find("GameObject/MessageRight").GetComponent(); #else var go = transform.Find("GameObject"); go.GetComponent().anchorMin = Vector2.zero; go.GetComponent().anchorMax = Vector2.one; go.GetComponent().offsetMax = Vector2.zero; go.GetComponent().offsetMin = Vector2.zero; DestroyImmediate(transform.Find("GameObject/Message").gameObject); DestroyImmediate(transform.Find("GameObject/MessageRight").gameObject); var m = Resources.Load("UI/Prefab/NewRoute/Mobile/Message"); rightMessage = Instantiate(m).GetComponent(); rightMessage.transform.SetParent(go); rightMessage.transform.localScale = Vector3.one; rightMessage.transform.localPosition = new Vector3(-112, 164, 0); Debug.Log(rightMessage.GetComponent().localPosition); //rightMessage.transform.SetParent(transform.Find("GameObject")); #endif } private void LinkedMessageHandler(LinkedMessageEvent e) { //msg.transform.Find("Content") emptyt = 0; #if UNITY_STANDALONE_WIN Debug.Log(e.content); if (App.currentPageIsHome) { DoMessage(e); } else { DoMessageRight(e); } #else if (App.currentPageIsHome) { DoMessageRight(e); } #endif } private void DoMessageRight(LinkedMessageEvent e) { SetMessage(rightMessage, e); rightMessage.DOFade(1, 0.5f).onComplete = () => Invoke("fade0", 0.8f); } private void DoMessage(LinkedMessageEvent e) { var selectIndex = msgIndex % 3; var m = msgs[selectIndex]; if (msgIndex >= 3) // { //msgIndex = 0; m.DOFade(0, 0.5f).onComplete = ()=> { SetMessage(m, e); m.transform.localPosition = new Vector3(msgLocation.x, msgLocation.y - 54 * 2, msgLocation.z); m.DOFade(1, 0.5f); foreach (var item in msgs.Where((x, i) => i != selectIndex)) { item.transform.DOLocalMoveY(item.transform.localPosition.y + 54, 0.5f); } }; } else { SetMessage(m, e); m.transform.localPosition = new Vector3(msgLocation.x, msgLocation.y - 54 * (msgIndex % 3), msgLocation.z); m.DOFade(1, 0.5f); } msgIndex++; } void FinishMessage(object sender) { #if UNITY_STANDALONE_WIN if ((bool)sender) { FinishMessageRight(); } else { FinishMessageLeft(); } #else if (!(bool)sender) { FinishMessageRight(); } #endif } void FinishMessageLeft() { msgIndex = 0; if (msgs != null) { foreach (var item in msgs) { item.DOFade(0, 0.3f); } } } void FinishMessageRight() { msgIndex = 0; rightMessage.DOFade(0, 0.3f); } private void SetMessage(CanvasGroup m,LinkedMessageEvent e) { m.transform.Find("Avatar").GetComponent().texture = null; Utils.DisplayHead(m.transform.Find("Avatar").GetComponent(), e.avatar); m.transform.Find("Nickname").GetComponent().text = e.nickname; m.transform.Find("Content").GetComponent().text = e.content; } CanvasGroup msg; void fade0() { rightMessage.DOFade(0, 0.5f); } #endregion // Start is called before the first frame update async void Start() { UIManager.Instance.Root = root; UIManager.Instance.MainPanel = this.transform.Find("Panel").GetComponent(); UIManager.Instance.ModalsPanel = this.transform.Find("ModalPanel").GetComponent(); transform.Find("MobileInfo/BatteryText").GetComponent().text = $"{Math.Round(SystemInfo.batteryLevel * 100, 0)}%"; transform.Find("MobileInfo/TimeText").GetComponent().text = DateTime.Now.ToString("HH:mm"); #if UNITY_EDITOR if (App.CurrentUser == null) //App.CurrentUser == null { await Login(); } #endif //MainMenu.transform.Find("Home").GetComponent