From 40ac7e1397ccdc4910e16d54deb19d0e1beb04fe Mon Sep 17 00:00:00 2001 From: lishuo Date: Wed, 15 Dec 2021 13:24:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GUIMainNetWorkInfo.cs | 2 +- Assets/Scripts/Scenes/LoginController.cs | 3 +- Assets/Scripts/Scenes/MainController.cs | 40 ++++++++++++++++++- Assets/Scripts/Scenes/Ride/Model/OutModel.cs | 1 + .../Scenes/Ride/Network/MapUDPService.cs | 6 +++ .../Scenes/Ride/Scripts/CyclingController.cs | 2 +- .../Scenes/Ride/Scripts/EventQueueManager.cs | 6 +++ .../Scenes/Ride/Scripts/MessagePanelScript.cs | 17 ++++++++ Assets/Scripts/UIManager.cs | 9 ++++- Assets/Scripts/Utils/Loom.cs | 4 +- 10 files changed, 83 insertions(+), 7 deletions(-) diff --git a/Assets/GUIMainNetWorkInfo.cs b/Assets/GUIMainNetWorkInfo.cs index 85b21d37..122f965e 100644 --- a/Assets/GUIMainNetWorkInfo.cs +++ b/Assets/GUIMainNetWorkInfo.cs @@ -87,7 +87,7 @@ public class GUIMainNetWorkInfo : MonoBehaviour if (_delayTime != App.delayTime && dict!=null) { _delayTime = App.delayTime; - Debug.Log("延迟"+_delayTime); + //Debug.Log("延迟"+_delayTime); if (NetImage) { if (_delayTime != -1) diff --git a/Assets/Scripts/Scenes/LoginController.cs b/Assets/Scripts/Scenes/LoginController.cs index b292b33e..5a430fa9 100644 --- a/Assets/Scripts/Scenes/LoginController.cs +++ b/Assets/Scripts/Scenes/LoginController.cs @@ -1,4 +1,5 @@ -using Assets.Scripts; +using Assets.Scenes.Ride.Scripts; +using Assets.Scripts; using Assets.Scripts.Apis; using Assets.Scripts.Apis.Models; using Assets.Scripts.Scenes; diff --git a/Assets/Scripts/Scenes/MainController.cs b/Assets/Scripts/Scenes/MainController.cs index a7140365..b5c3e28e 100644 --- a/Assets/Scripts/Scenes/MainController.cs +++ b/Assets/Scripts/Scenes/MainController.cs @@ -122,10 +122,11 @@ public class MainController : BaseScene protected override void Update() { base.Update(); + if (App.canvasWidth != transform.GetComponent().sizeDelta.x) { App.canvasWidth = transform.GetComponent().sizeDelta.x; - Debug.Log(App.canvasWidth); + //Debug.Log(App.canvasWidth); } //Debug.Log(transform.GetComponent().sizeDelta.x); t -= Time.deltaTime; @@ -140,6 +141,43 @@ public class MainController : BaseScene //App.MainDeviceAdapter.StopScan(); //Debug.Log("StopScan"); } + MapUDPService.Send(0, App.CurrentUser.Id, new double[]{ 0d,0d}, competitionId: 0); + //发送消息 + + foreach (var item in MapUDPService.GetOnlineUserList()) + { + if (item.RouteId > 0) + { + if (string.IsNullOrEmpty(item.RouteName)) + { + var result = ConfigHelper.mapApi.GetById(item.RouteId); + if (result.result) + { + item.RouteName = result.data.Name; + } + } + var message = item.IsCompleted ? $"{item.Name}完成了{item.RouteName}的挑战" : $"{item.Name}发起了对{item.RouteName}的挑战"; + EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message), $"{item.RouteId}{item.Name}"); + } + //距离 + if (item.EndDistance > 50) + { + var message = $"{item.Name}在骑行过程中突破了{"50KM"}的挑战" ; + EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message), $"{item.RouteId}{item.Name}50KM"); + } + //速度 + if (item.Speed > 10) + { + var message = $"{item.Name}在骑行过程中速度达到了惊人的{item.Speed}KM/H"; + EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message), $"{item.RouteId}{item.Name}10KM/H"); + } + //功体比 + if (item.WeightKg > 2) + { + var message = $"{item.Name}在骑行过程中功体比达到了惊人的{item.WeightKg}w/kg"; + EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message), $"{item.RouteId}{item.Name}2WeightKg"); + } + } } } diff --git a/Assets/Scripts/Scenes/Ride/Model/OutModel.cs b/Assets/Scripts/Scenes/Ride/Model/OutModel.cs index 2019c888..015e2a56 100644 --- a/Assets/Scripts/Scenes/Ride/Model/OutModel.cs +++ b/Assets/Scripts/Scenes/Ride/Model/OutModel.cs @@ -508,6 +508,7 @@ namespace Assets.Scenes.Ride.Scripts.Model /// 路线Id /// public int RouteId { get; set; } + public string RouteName { get; set; } /// /// FTP /// diff --git a/Assets/Scripts/Scenes/Ride/Network/MapUDPService.cs b/Assets/Scripts/Scenes/Ride/Network/MapUDPService.cs index c03c7be6..1ca9b1e1 100644 --- a/Assets/Scripts/Scenes/Ride/Network/MapUDPService.cs +++ b/Assets/Scripts/Scenes/Ride/Network/MapUDPService.cs @@ -303,6 +303,12 @@ namespace Assets.Scenes.Ride.Scripts return result; } + public static List GetOnlineUserList() + { + var result = onlineUserHelper.OnlineUsers.Where(c => !c.IsSelf).ToList(); + return result; + } + //比赛中的人只能看到当前比赛的人 public static List GetCompetitionOnlineUsers(int competitionId) { diff --git a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs index eb56acf2..41973d87 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs @@ -98,7 +98,7 @@ public class CyclingController : DeviceServiceMonoBase void OnDestroy() { - MapUDPService.Dispose(); + //MapUDPService.Dispose(); Resources.UnloadUnusedAssets(); GC.Collect(); } diff --git a/Assets/Scripts/Scenes/Ride/Scripts/EventQueueManager.cs b/Assets/Scripts/Scenes/Ride/Scripts/EventQueueManager.cs index 9930bc21..37465ba2 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/EventQueueManager.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/EventQueueManager.cs @@ -161,5 +161,11 @@ namespace Assets.Scenes.Ride.Scripts RemoveAll(); eventQueue.Clear(); } + + public static void ClearQueue() + { + if (Instance != null) + Instance.eventQueue.Clear(); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Scenes/Ride/Scripts/MessagePanelScript.cs b/Assets/Scripts/Scenes/Ride/Scripts/MessagePanelScript.cs index b9169988..7acb0104 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/MessagePanelScript.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/MessagePanelScript.cs @@ -86,4 +86,21 @@ namespace Assets.Scenes.Ride.Scripts this.SceneName = SceneName; } } + //首页消息提醒 + public class LinkedMessageEvent : GameEvent + { + public int routeId;//线路Id + public string content;//消息 + + public LinkedMessageEvent(int routeId, string content) + { + this.routeId = routeId; + this.content = content; + } + + private void CreateContent() + { + + } + } } diff --git a/Assets/Scripts/UIManager.cs b/Assets/Scripts/UIManager.cs index bc5e1a4e..e87852a3 100644 --- a/Assets/Scripts/UIManager.cs +++ b/Assets/Scripts/UIManager.cs @@ -420,10 +420,14 @@ public class UIManager : MonoBehaviour InitNow(); } EventQueueSystem.AddListener(CompetitonStartHandler); + EventQueueSystem.AddListener(LinkedMessageHandler); - } - + //首页消息通知 + private void LinkedMessageHandler(LinkedMessageEvent e) + { + Debug.Log(e.content); + } //比赛即将开始消息提醒 private void CompetitonStartHandler(CompetitonStartMessageEvent e) { @@ -1092,6 +1096,7 @@ public class UIManager : MonoBehaviour private void OnDestroy() { UIManager.Instance = null; + EventQueueSystem.ClearQueue(); Resources.UnloadUnusedAssets(); GC.Collect(); } diff --git a/Assets/Scripts/Utils/Loom.cs b/Assets/Scripts/Utils/Loom.cs index 23b73591..75921602 100644 --- a/Assets/Scripts/Utils/Loom.cs +++ b/Assets/Scripts/Utils/Loom.cs @@ -1,4 +1,5 @@ -using System; +using Assets.Scenes.Ride.Scripts; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -44,6 +45,7 @@ public class Loom : MonoBehaviour //####永不销毁 DontDestroyOnLoad(g); _current = g.AddComponent(); + MapUDPService.Init(); } }