diff --git a/Assets/Resources/Images/Mobile/观战.png b/Assets/Resources/Images/Mobile/观战.png new file mode 100644 index 00000000..2c36d782 Binary files /dev/null and b/Assets/Resources/Images/Mobile/观战.png differ diff --git a/Assets/Resources/Images/Mobile/观战.png.meta b/Assets/Resources/Images/Mobile/观战.png.meta new file mode 100644 index 00000000..3aa03e17 --- /dev/null +++ b/Assets/Resources/Images/Mobile/观战.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 8612fa92a472df44fa47eb9640bf987c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UI/Prefab/Match/Mobile/WatcherPanel.prefab b/Assets/Resources/UI/Prefab/Match/Mobile/WatcherPanel.prefab index dbeb96e0..8fa5c3b3 100644 --- a/Assets/Resources/UI/Prefab/Match/Mobile/WatcherPanel.prefab +++ b/Assets/Resources/UI/Prefab/Match/Mobile/WatcherPanel.prefab @@ -188,7 +188,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 547f2d76738375a4e93585225ec20afb, type: 3} + m_Sprite: {fileID: 21300000, guid: 8612fa92a472df44fa47eb9640bf987c, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 diff --git a/Assets/Scripts/Scenes/Ride/Competiton/CompetitionRankingFactory.cs b/Assets/Scripts/Scenes/Ride/Competiton/CompetitionRankingFactory.cs index bad0179f..0e1a2ecd 100644 --- a/Assets/Scripts/Scenes/Ride/Competiton/CompetitionRankingFactory.cs +++ b/Assets/Scripts/Scenes/Ride/Competiton/CompetitionRankingFactory.cs @@ -67,8 +67,11 @@ namespace Assets.Scenes.Ride.Scripts isnext = true; CreateList(); } + + int index = 0; protected override void CreateList() { + index = 0; CompetitionModel s = cyclingController.cyclingController as CompetitionModel; var ss = s?.competitionRankingModel; rankingList = ss?.Sorts; @@ -76,6 +79,12 @@ namespace Assets.Scenes.Ride.Scripts if (rankingList == null) return; rankingList = rankingList.OrderByDescending(u => u.IsCompleted).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance).ToList(); +#if UNITY_IOS || UNITY_ANDROID + rankingList = rankingList.Where(c=>!c.IsCompleted).OrderByDescending(d => d.EndDistance).ToList(); +#else + rankingList = rankingList.OrderByDescending(u => u.IsCompleted).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance).ToList(); +#endif + //当前参赛总人数 var totalCount = rankingList.Count(); OnlineUserNum.text = " "+totalCount.ToString(); @@ -106,9 +115,11 @@ namespace Assets.Scenes.Ride.Scripts { o.transform.SetAsFirstSibling(); } + //创建或者新增 for (int i = 0; i < pagedList.Count(); i++) { + index++; CreateOrUpdate(pagedList[i]); } @@ -144,7 +155,11 @@ namespace Assets.Scenes.Ride.Scripts } competitionRankingItem.setUserId(item.UserId); +#if UNITY_IOS || UNITY_ANDROID + competitionRankingItem.SetRank(index); +#else competitionRankingItem.SetRank(item.Index); +#endif competitionRankingItem.setName(item.Name); competitionRankingItem.setRatio(item.KGWeight + "W/KG"); competitionRankingItem.setSpeed(item.Speed.ToString() + "KM/H"); @@ -153,7 +168,11 @@ namespace Assets.Scenes.Ride.Scripts competitionRankingItem.setCountry(countryTexture); var near = Math.Round((item.EndDistance - cyclingController.currentPlayer.TotalDistance)*1000); competitionRankingItem.setDistance(cyclingController.currentPlayer.UserId == item.UserId?"0M": near.ToString() + "M"); +#if UNITY_IOS || UNITY_ANDROID + competitionRankingItem.transform.SetSiblingIndex(index); +#else competitionRankingItem.transform.SetSiblingIndex(item.Index); +#endif } } } diff --git a/Assets/Scripts/Scenes/Ride/Model/CyclingModels/BaseCycling.cs b/Assets/Scripts/Scenes/Ride/Model/CyclingModels/BaseCycling.cs index 95fbf6e2..5842e5a3 100644 --- a/Assets/Scripts/Scenes/Ride/Model/CyclingModels/BaseCycling.cs +++ b/Assets/Scripts/Scenes/Ride/Model/CyclingModels/BaseCycling.cs @@ -94,8 +94,8 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels { try { - if (recorderData.Saved) - return; + //if (recorderData.Saved) + // return; if (recorderData.RiderDatas.Any()) { var lastData = recorderData.RiderDatas.Last(); diff --git a/Assets/Scripts/Scenes/Ride/Model/CyclingModels/CompetitionModel.cs b/Assets/Scripts/Scenes/Ride/Model/CyclingModels/CompetitionModel.cs index 13ef358e..97ed7d41 100644 --- a/Assets/Scripts/Scenes/Ride/Model/CyclingModels/CompetitionModel.cs +++ b/Assets/Scripts/Scenes/Ride/Model/CyclingModels/CompetitionModel.cs @@ -143,25 +143,26 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels WeightKg = item.WeightKg, }); } - - index++; - double near = Math.Round(item.EndDistance - currentDistance,2); //Math.Round(TurfHelper.GetDistances(point, item.Point), 2); - - sort.Add(new CompetitionRankingSortModel { - Index = index, - Name = item.Name, - Near = near, - KGWeight = Math.Round(item.WeightKg, 2).ToString(), - Speed = Math.Round(item.Speed, 1), - CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }", - UserId = item.Id, - IsSelf = item.IsSelf, - Headimage = item.HeadImage, - CreateTime = DateTime.MaxValue, - EndDistance = item.EndDistance, - IsCompleted = item.IsCompleted - }); + index++; + double near = Math.Round(item.EndDistance - currentDistance, 2); //Math.Round(TurfHelper.GetDistances(point, item.Point), 2); + + sort.Add(new CompetitionRankingSortModel + { + Index = index, + Name = item.Name, + Near = near, + KGWeight = Math.Round(item.WeightKg, 2).ToString(), + Speed = Math.Round(item.Speed, 1), + CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }", + UserId = item.Id, + IsSelf = item.IsSelf, + Headimage = item.HeadImage, + CreateTime = DateTime.MaxValue, + EndDistance = item.EndDistance, + IsCompleted = item.IsCompleted + }); + } } } @@ -179,6 +180,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels mapWorkoutRecordRankings = rrr.data; } } + foreach (var ranking in mapWorkoutRecordRankings) { //var ranking = mapWorkoutRecordRankings.SingleOrDefault(r => r.UserId == item.Id); diff --git a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs index 673c1fd7..4de14493 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs @@ -456,11 +456,11 @@ public class CyclingController : DeviceServiceMonoBase { if (cyclingController != null) { - //tcp数据传输 - if (competition != null && !cyclingController.recorderData.Saved) - { - cyclingController.recorderData.Saved = competition.HasRecord; - } + ////tcp数据传输 + //if (competition != null && !cyclingController.recorderData.Saved) + //{ + // cyclingController.recorderData.Saved = competition.HasRecord; + //} cyclingController.Run(null); //在线人物或比赛人物渲染 ShowOnlineUsers();