From 125e9a48c685153bebde38291d19b86cfb20a95a Mon Sep 17 00:00:00 2001 From: lishuo Date: Fri, 17 Sep 2021 22:20:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=9B=E4=BA=8B=E6=8E=92=E5=90=8D=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Images/Mobile/观战.png | Bin 0 -> 699 bytes Assets/Resources/Images/Mobile/观战.png.meta | 128 ++++++++++++++++++ .../Prefab/Match/Mobile/WatcherPanel.prefab | 2 +- .../Competiton/CompetitionRankingFactory.cs | 19 +++ .../Ride/Model/CyclingModels/BaseCycling.cs | 4 +- .../Model/CyclingModels/CompetitionModel.cs | 38 +++--- .../Scenes/Ride/Scripts/CyclingController.cs | 10 +- 7 files changed, 175 insertions(+), 26 deletions(-) create mode 100644 Assets/Resources/Images/Mobile/观战.png create mode 100644 Assets/Resources/Images/Mobile/观战.png.meta diff --git a/Assets/Resources/Images/Mobile/观战.png b/Assets/Resources/Images/Mobile/观战.png new file mode 100644 index 0000000000000000000000000000000000000000..2c36d782d22268b4161e7b9454967d6f987fd49c GIT binary patch literal 699 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM#=yWhy?{3l$YDu$^mSxl*x1kgCy^D%w@8if zO!M_+&;qhK7#Q0#8CZZUMj(~~Vg?4L1x#=ei3Q9EHc0Z|-|*=`C3>DNjv*erZ>L&& z&vg`NJO6yG(3A>A4ndQoROMTojMA$kJi7jLhIA=3g?2RvaB?&~;1y-n*J$Bbc|=6> z66Yu844EefhEH^tr}_a#BwqparE35lv|WKM}U zn585aDm7pIeUGEHjN`=2X*bLopKLl>{=w&d!%Xd9!RZUc?(I-H*vM34ILF0Uz;3p~ z8u>E$W2b&b$yE!kJO4wQr+t>06}zg?M{Wa_JVx!5nv{)QQV+W42YBXed%cyZW%C&p zZh_l1OZkdf{~atpZO?MPjysX-O2O<46N~Sw*dN%wp`nob1ebH{@n2$As*kP)+9#gu z>Udn2_{Qq2e?Z)GI|lAJ?X5R-4<*<|oZYH6>z2tL_4csExpNwBtJjI2a}0aAe}mhd zIWr%)iiWr-F>mRg@Y6PMUQ6F6o-1Nm{5Myxcu`pJnp0(`mc^OrPwqL}zBsq`kl2dV zs}_pRJIw#WZ&He2{pO7;?mds3u(Gx|??6}(@0Z3Z&;I96gY#TJsYp5MAE}rY*ZfU7 z<Mm3XZ>k&?6JaY^S@F4 zja~Ow3R$&&qwFuOQd(VaI#+6axgoiDP7@qW9bFsZ=GVj|6>LJ b%kO5Wdzf@~rQG^upcLfk>gTe~DWM4f;%ge2 literal 0 HcmV?d00001 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();