Merge remote-tracking branch 'origin/dev_lishuo' into dev_cyp

This commit is contained in:
CaiYanPeng 2021-04-30 17:46:06 +08:00
commit f6a4ebda8c
29 changed files with 3526 additions and 2755 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: d0663a505ca9e2e4681bedd09070b4b3
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 34907e6d11f922a408f53859857de5a7
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 0f1e1c7156c86f3448ecbc2c5e47c4e3
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 164f0ed127dfaa144a8d257ad03f785a
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 9f50646becf5d0e4fbfbd6fee35ece38
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 58b8ef5ded8b73d4e89d31c3f076d4ea
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -75,6 +75,8 @@ public class CyclingController : DeviceServiceMonoBase
{ {
UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>(); UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>(); UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
//进入倒计时
singleUIManager = UIObject.GetComponent<SingleUIManager>();
loadingController = FindObjectOfType<LoadingController>(); loadingController = FindObjectOfType<LoadingController>();
loadingController.InjectController(this); loadingController.InjectController(this);
//开始loading //开始loading
@ -193,11 +195,19 @@ public class CyclingController : DeviceServiceMonoBase
cyclingController = new ReviewModel(route, selectParamModel); cyclingController = new ReviewModel(route, selectParamModel);
break; break;
} }
//进入倒计时 AutoStart();
var singleUIManager = UIObject.GetComponent<SingleUIManager>(); }
SingleUIManager singleUIManager;
public void AutoStart()
{
singleUIManager.StartRide(null); singleUIManager.StartRide(null);
} }
public void GoContinueRide()
{
singleUIManager.ContinueRide();
}
#region #region
public bool Is3dView; public bool Is3dView;
public void ChangeMapImageStyle(GameObject arrowGameObj) public void ChangeMapImageStyle(GameObject arrowGameObj)

View File

@ -11,14 +11,35 @@ namespace Assets.Scenes.Ride.Scripts
{ {
public void TrackResistance(double grade) public void TrackResistance(double grade)
{ {
var device = (_device as FitDevice); var device = (CurrentTrainer as FitDevice);
if (device != null) if (device != null)
{ {
Debug.Log(grade);
device.SetTrackResistance(grade); device.SetTrackResistance(grade);
} }
} }
#region #region
public AbstractAntDevice CurrentTrainer
{
get {
var devices = AntConnector.Instance().discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer));
if (devices.Count() > 0)
{
_device = devices.OrderByDescending(d => d.Sensor == SensorType.Trainer).First();
var RiderWeight = (_device as IRequiresRiderWeight).RiderWeight;
if (RiderWeight == 0)
{
(_device as IRequiresRiderWeight).RiderWeight = App.CurrentUser.Weight;
}
ManufacturerId = _device.ManufacturerId;
DeviceNumber = $"{ _device.DeviceNumber },{ _device.DeviceType }";
AntModelId = _device.AntModelId;
}
return _device;
}
}
/// <summary> /// <summary>
/// 更新速度(KM/H) /// 更新速度(KM/H)
/// ///
@ -89,11 +110,6 @@ namespace Assets.Scenes.Ride.Scripts
#endregion #endregion
public bool CheckAnt() public bool CheckAnt()
{ {
//TODO
//if (!ConfigHelper.IsNeedContectedToDevice)
//{
// return true;
//}
_antConnector = AntConnector.Instance(); _antConnector = AntConnector.Instance();
var devices = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer || d.Sensor == SensorType.Power)); var devices = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer || d.Sensor == SensorType.Power));
if (devices.Count() > 0) if (devices.Count() > 0)
@ -109,12 +125,10 @@ namespace Assets.Scenes.Ride.Scripts
} }
else else
{ {
return false; return false;
} }
if (App.CurrentUser.FTP <= 0) if (App.CurrentUser.FTP <= 0)
{ {
return false; return false;
} }
if (_device == null) if (_device == null)

View File

@ -77,12 +77,12 @@ namespace Assets.Scenes.Ride.Scripts
} }
/// <summary> /// <summary>
/// TODO:获取Ftp /// 获取Ftp
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public static int GetFtp() public static int GetFtp()
{ {
return 200; return App.CurrentUser.FTP;
} }
public static string FormatTicks(int seconds) public static string FormatTicks(int seconds)

View File

@ -10,6 +10,7 @@ using System.Collections.Generic;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
using System.Collections; using System.Collections;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts namespace Assets.Scenes.Ride.Scripts
{ {
@ -175,10 +176,10 @@ namespace Assets.Scenes.Ride.Scripts
void StartRide(BaseEventData baseEvent) void StartRide(BaseEventData baseEvent)
{ {
var checkAnt = cyclingController.CheckAnt(); var checkAnt = cyclingController.CheckAnt();
//#if UNITY_EDITOR #if UNITY_EDITOR
// checkAnt = true; checkAnt = true;
//#endif #endif
if (!checkAnt) if (!checkAnt)
{ {
var alert = (GameObject)Instantiate(Resources.Load("UI/Prefab/Ride/Alert"), panel.transform); var alert = (GameObject)Instantiate(Resources.Load("UI/Prefab/Ride/Alert"), panel.transform);
alert.SetActive(true); alert.SetActive(true);
@ -186,6 +187,7 @@ namespace Assets.Scenes.Ride.Scripts
else else
{ {
cyclingController.ReSetUIManager(); cyclingController.ReSetUIManager();
cyclingController.GoContinueRide();
//启用ridenow //启用ridenow
canvasGroup.blocksRaycasts = false; canvasGroup.blocksRaycasts = false;
depressFlag = true; depressFlag = true;

View File

@ -64,7 +64,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
public override void Run(TargetData targetData) public override void Run(TargetData targetData)
{ {
#region TODO 线 #region 线
riders.RemoveAll(r => r.IsSelf == false); riders.RemoveAll(r => r.IsSelf == false);
var onlineUsers = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id).Where(d => d.IsSelf == false) var onlineUsers = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id).Where(d => d.IsSelf == false)
.ToList(); .ToList();

View File

@ -289,6 +289,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public string CountryImg { get; set; } public string CountryImg { get; set; }
public string Country { get; set; }
public bool IsSelf { get; set; } public bool IsSelf { get; set; }
} }

View File

@ -220,7 +220,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
if (data != null && data.Count > 0) if (data != null && data.Count > 0)
{ {
var path = Helper.GetDataDir("MapWorkoutRecords"); var path = Helper.GetDataDir("MapWorkoutRecords");
//Task.Run(() => { Task.Run(() => {
var record = data.FirstOrDefault(); var record = data.FirstOrDefault();
MapInterruptRecordApi service = new MapInterruptRecordApi(); MapInterruptRecordApi service = new MapInterruptRecordApi();
var result = service.Add(record.Key, record.Value); var result = service.Add(record.Key, record.Value);
@ -238,7 +238,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
{ {
Debug.Log(e.Message); Debug.Log(e.Message);
} }
//}); });
} }
} }
} }

View File

@ -22,9 +22,10 @@ namespace Assets.Scenes.Ride.Scripts
private int preNum = 0;//前面的数量 private int preNum = 0;//前面的数量
private int offset = 8;//显示区域的数量 private int offset = 8;//显示区域的数量
CyclingController cyclingController;
private void Start() private void Start()
{ {
cyclingController = FindObjectOfType<CyclingController>();
playerController = FindObjectOfType<PlayerController>(); playerController = FindObjectOfType<PlayerController>();
nearByItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyItem"); nearByItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyItem");
nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyMajorItem"); nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyMajorItem");
@ -95,7 +96,7 @@ namespace Assets.Scenes.Ride.Scripts
nearByItemscript.setRatio(item.KGWeight+"W/KG"); nearByItemscript.setRatio(item.KGWeight+"W/KG");
nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H"); nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H");
nearByItemscript.setHead(item.Headimage); nearByItemscript.setHead(item.Headimage);
nearByItemscript.setCountry(item.CountryImg); nearByItemscript.setCountry(cyclingController.GetCountryImageByName(item.Country));
nearByItemscript.setDistance(item.Near.ToString() + "KM"); nearByItemscript.setDistance(item.Near.ToString() + "KM");
bufferSize++; bufferSize++;
} }

View File

@ -1,4 +1,5 @@
using System; using Assets.Scripts;
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -51,7 +52,15 @@ namespace Assets.Scenes.Ride.Scripts
{ {
if (!_headUrl.Equals(url)) if (!_headUrl.Equals(url))
{ {
Head.texture = App.CurrentUserHeadTexture; if (App.TextureCache.ContainsKey(url))
{
Head.texture = App.TextureCache[url];
}
else
{
Utils.DisplayImageAysnc(StartCoroutine, Head, url, ImageCallBack);
}
//Utils.DisplayImage(StartCoroutine, Head, url); //Utils.DisplayImage(StartCoroutine, Head, url);
//StartCoroutine(DownloadImage(Head, url)); //StartCoroutine(DownloadImage(Head, url));
var rect = ((RectTransform)Head.transform).rect; var rect = ((RectTransform)Head.transform).rect;
@ -60,6 +69,11 @@ namespace Assets.Scenes.Ride.Scripts
Head.material = material; Head.material = material;
} }
} }
private void ImageCallBack(string url)
{
if (!App.TextureCache.ContainsKey(url))
App.TextureCache.Add(url, Head.texture);
}
IEnumerator DownloadImage(RawImage img, string MediaUrl) IEnumerator DownloadImage(RawImage img, string MediaUrl)
{ {
@ -80,17 +94,16 @@ namespace Assets.Scenes.Ride.Scripts
} }
} }
public void setCountry(string url) public void setCountry(Texture texture)
{ {
if (!_countryUrl.Equals(url))
{ {
Country.texture = countryTexture; Country.texture = texture;
//Utils.DisplayImage(StartCoroutine, Country, url); //Utils.DisplayImage(StartCoroutine, Country, url);
//StartCoroutine(DownloadImage(Country, url)); //StartCoroutine(DownloadImage(Country, url));
var rect = ((RectTransform)Country.transform).rect; //var rect = ((RectTransform)Country.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial")); //Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0)); //material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Country.material = material; //Country.material = material;
} }
} }
public void setName(string name) public void setName(string name)

View File

@ -238,7 +238,8 @@ namespace Assets.Scenes.Ride.Scripts
Speed = Math.Round(n.Item2.Speed, 1), Speed = Math.Round(n.Item2.Speed, 1),
CountryImg = App.Host + $"User/GetCountryImg?userid={n.Item2.Id}", CountryImg = App.Host + $"User/GetCountryImg?userid={n.Item2.Id}",
IsSelf = n.Item2.IsSelf, IsSelf = n.Item2.IsSelf,
Id = n.Item2.Id Id = n.Item2.Id,
Country = n.Item2.Country,
}).ToList(); }).ToList();
return nearData; return nearData;
//return new //return new

View File

@ -32,10 +32,10 @@ namespace Assets.Scenes.Ride.Scripts
cadance = mainController.UpdateCadence(); cadance = mainController.UpdateCadence();
weight = App.CurrentUser.Weight; weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight; bicycleWeight = App.CurrentUser.BicycleWeight;
//#if UNITY_EDITOR #if UNITY_EDITOR
//power = 2000;//测试功率 //power = 2000;//测试功率
//#endif #endif
Debug.Log(currentSlope.ToString() + "==" + App.rideSetting.sensitivity.ToString()); Debug.Log(currentSlope.ToString() + "==" + App.rideSetting.sensitivity.ToString());
//mainController.CheckAnt(); //mainController.CheckAnt();
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity/100); mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity/100);
speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight); speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight);

View File

@ -118,11 +118,12 @@ namespace Assets.Scenes.Ride.Scripts
totalClimbed.text = record.RiderDatas.Last()._TotalClimb.ToString("f1"); totalClimbed.text = record.RiderDatas.Last()._TotalClimb.ToString("f1");
var power = Math.Round(record.RiderDatas.Average(c => c._Power),0); var power = Math.Round(record.RiderDatas.Average(c => c._Power),0);
avPower.text = power.ToString(); avPower.text = power.ToString();
maxPower.text = record.RiderDatas.Max(c => c._Power).ToString("g0"); maxPower.text = record.RiderDatas.Max(c => c._Power).ToString("f0");
avHeatrate.text = record.RiderDatas.Average(c => c._HeartRate.GetValueOrDefault(0)).ToString("g0"); avHeatrate.text = record.RiderDatas.Average(c => c._HeartRate.GetValueOrDefault(0)).ToString("f0");
avSpeed.text = record.RiderDatas.Average(c => c._Speed).ToString("f1"); avSpeed.text = record.RiderDatas.Average(c => c._Speed).ToString("f1");
maxSpeed.text = record.RiderDatas.Max(c => c._Speed).ToString("f1"); maxSpeed.text = record.RiderDatas.Max(c => c._Speed).ToString("f1");
wkgText.text = Math.Round(power / record.CurrentUser.Weight,2).ToString(); wkgText.text = Math.Round(power / record.CurrentUser.Weight,2).ToString();
avCadence.text = record.RiderDatas.Average(c => c._Cadence).GetValueOrDefault(0).ToString("f0");
} }
} }
} }

View File

@ -38,13 +38,25 @@ namespace Assets.Scenes.Ride.Scripts
public void SetHead(string url) public void SetHead(string url)
{ {
if (App.TextureCache.ContainsKey(url))
{
Head.texture = App.TextureCache[url];
}
else
{
Utils.DisplayImageAysnc(StartCoroutine, Head, url, ImageCallBack);
}
Utils.DisplayImage(StartCoroutine,Head,url); Utils.DisplayImage(StartCoroutine,Head,url);
var rect = ((RectTransform)Head.transform).rect; var rect = ((RectTransform)Head.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial")); Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0)); material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Head.material = material; Head.material = material;
} }
private void ImageCallBack(string url)
{
if (!App.TextureCache.ContainsKey(url))
App.TextureCache.Add(url, Head.texture);
}
public void SetDistance(double distance) public void SetDistance(double distance)
{ {
_distance = distance; _distance = distance;

View File

@ -67,11 +67,25 @@ namespace Assets.Scenes.Ride.Scripts
public void SetHeadImage(string url) public void SetHeadImage(string url)
{ {
Head = transform.Find("Head").GetComponent<RawImage>(); Head = transform.Find("Head").GetComponent<RawImage>();
Utils.DisplayImage(StartCoroutine, Head, url); if (App.TextureCache.ContainsKey(url))
{
Head.texture = App.TextureCache[url];
}
else
{
Utils.DisplayImageAysnc(StartCoroutine, Head, url, ImageCallBack);
}
var rect = ((RectTransform)Head.transform).rect; var rect = ((RectTransform)Head.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial")); Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0)); material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Head.material = material; Head.material = material;
} }
private void ImageCallBack(string url)
{
if (!App.TextureCache.ContainsKey(url))
App.TextureCache.Add(url, Head.texture);
}
} }
} }

View File

@ -87,6 +87,17 @@ namespace Assets.Scenes.Ride.Scripts
GameObject settingPanel; GameObject settingPanel;
Button abandonButton; Button abandonButton;
GameObject singleArea; GameObject singleArea;
Sprite downhill1;
Sprite uphill1;
Sprite straight;
Sprite downhill1Small;
Sprite uphill1Small;
Sprite straightSmall;
Image nextSlopeImage;
Image currentSlopeImage;
void Awake() void Awake()
{ {
#region #region
@ -152,6 +163,18 @@ namespace Assets.Scenes.Ride.Scripts
settingPanel = transform.Find("Panel/SettingPanel").gameObject; settingPanel = transform.Find("Panel/SettingPanel").gameObject;
preSlopeText = transform.Find("Panel/PreSlopePanel/PreSlopeText").GetComponent<Text>(); preSlopeText = transform.Find("Panel/PreSlopePanel/PreSlopeText").GetComponent<Text>();
nextSlopeImage = transform.Find("Panel/NextSlopePanel/NextSlopeImage").GetComponent<Image>();
currentSlopeImage = transform.Find("Panel/CurrentSlopePanel/Image").GetComponent<Image>();
//加载坡度图片
downhill1 = Resources.Load<Sprite>("Images/Ride/downhill 1");
uphill1 = Resources.Load<Sprite>("Images/Ride/uphill 1");
straight = Resources.Load<Sprite>("Images/Ride/straight");
downhill1Small = Resources.Load<Sprite>("Images/Ride/downhill-small");
uphill1Small = Resources.Load<Sprite>("Images/Ride/uphill-small");
straightSmall = Resources.Load<Sprite>("Images/Ride/straight-small");
target = transform.parent.Find("Target").gameObject; target = transform.parent.Find("Target").gameObject;
UIManager.AddEvent(startBtn.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide); UIManager.AddEvent(startBtn.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide);
@ -204,7 +227,7 @@ namespace Assets.Scenes.Ride.Scripts
{ {
Init(); Init();
RenderChart(); RenderChart();
ContinueRide();//继续骑行 //ContinueRide();//继续骑行
} }
// Update is called once per frame // Update is called once per frame
float time = 1f; float time = 1f;
@ -250,7 +273,7 @@ namespace Assets.Scenes.Ride.Scripts
} }
} }
//继续骑行如果有伴侣就自动进入伴侣骑行 //继续骑行如果有伴侣就自动进入伴侣骑行
private void ContinueRide() public void ContinueRide()
{ {
if (mainController.routeResult != null) if (mainController.routeResult != null)
{ {
@ -313,6 +336,8 @@ namespace Assets.Scenes.Ride.Scripts
if (count == 1 && mainController.cyclingModel == CyclingModel.Single) if (count == 1 && mainController.cyclingModel == CyclingModel.Single)
{ {
reviewPanel.GetComponent<CanvasGroup>().DOFade(0, 1); reviewPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
//附近的人
// nearByPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
} }
timeRemaining = 1.0f; timeRemaining = 1.0f;
} }
@ -339,6 +364,33 @@ namespace Assets.Scenes.Ride.Scripts
currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%"; currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%";
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M"); currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M");
totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString(); totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString();
//动态改变坡度图片
if (playerController.CurrentSlope >= 1 )
{
currentSlopeImage.sprite = uphill1;
}
else if(playerController.CurrentSlope > -1|| playerController.CurrentSlope<1)
{
currentSlopeImage.sprite = straight;
}
else
{
currentSlopeImage.sprite = downhill1;
}
//下一个坡度
if (playerController.NextSlope >= 1)
{
nextSlopeImage.sprite = uphill1Small;
}
else if (playerController.NextSlope > -1 || playerController.NextSlope < 1)
{
nextSlopeImage.sprite = straightSmall;
}
else
{
nextSlopeImage.sprite = downhill1Small;
}
} }
} }
//重置游戏 //重置游戏
@ -459,13 +511,13 @@ namespace Assets.Scenes.Ride.Scripts
if (clearLock) if (clearLock)
{ {
clearLock = false; clearLock = false;
leftPanel.transform.DOLocalMove(new Vector3(leftPanel.transform.localPosition.x + isSimple * -430f, leftPanel.transform.localPosition.y, leftPanel.transform.localPosition.z), 1); leftPanel.transform.DOLocalMove(new Vector3(leftPanel.transform.localPosition.x + isSimple * 430f, leftPanel.transform.localPosition.y, leftPanel.transform.localPosition.z), 1);
titlePanel.transform.DOLocalMove(new Vector3(titlePanel.transform.localPosition.x, titlePanel.transform.localPosition.y + isSimple * 200f, titlePanel.transform.localPosition.z), 1); titlePanel.transform.DOLocalMove(new Vector3(titlePanel.transform.localPosition.x, titlePanel.transform.localPosition.y + isSimple * 200f, titlePanel.transform.localPosition.z), 1);
miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x , miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1); miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x , miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1);
nextSlopePanel.transform.DOLocalMove(new Vector3(nextSlopePanel.transform.localPosition.x, nextSlopePanel.transform.localPosition.y + isSimple * 260f, nextSlopePanel.transform.localPosition.z), 1); nextSlopePanel.transform.DOLocalMove(new Vector3(nextSlopePanel.transform.localPosition.x, nextSlopePanel.transform.localPosition.y + isSimple * 260f, nextSlopePanel.transform.localPosition.z), 1);
currentSlopePanel.transform.DOLocalMove(new Vector3(currentSlopePanel.transform.localPosition.x, currentSlopePanel.transform.localPosition.y + isSimple * 260f, currentSlopePanel.transform.localPosition.z), 1); currentSlopePanel.transform.DOLocalMove(new Vector3(currentSlopePanel.transform.localPosition.x, currentSlopePanel.transform.localPosition.y + isSimple * 80f, currentSlopePanel.transform.localPosition.z), 1);
nearByPanel.transform.DOLocalMove(new Vector3(nearByPanel.transform.localPosition.x + isSimple * 330f, nearByPanel.transform.localPosition.y, nearByPanel.transform.localPosition.z), 1).onComplete += () => nearByPanel.transform.DOLocalMove(new Vector3(nearByPanel.transform.localPosition.x + isSimple * -330f, nearByPanel.transform.localPosition.y, nearByPanel.transform.localPosition.z), 1).onComplete += () =>
{ {
clearLock = true; clearLock = true;
isSimple *= -1; isSimple *= -1;
@ -524,6 +576,7 @@ namespace Assets.Scenes.Ride.Scripts
{ {
viewIndex = 0; viewIndex = 0;
} }
var n = graph.DataSource.GetPoint("Player 2", viewIndex); var n = graph.DataSource.GetPoint("Player 2", viewIndex);
graph.PointToWorldSpace(out Vector3 nextPosition, n.x, n.y, "Player 2"); graph.PointToWorldSpace(out Vector3 nextPosition, n.x, n.y, "Player 2");
nextPosition.x -= 14f; nextPosition.x -= 14f;

View File

@ -77,19 +77,30 @@ namespace Assets.Scripts.Apis
protected async Task<byte[]> GetAsync(string url) protected async Task<byte[]> GetAsync(string url)
{ {
AddLanguage(); //AddLanguage();
var _url = url; var _url = url;
if(_url.IndexOf("http") == -1) if (_url.IndexOf("http") == -1)
{ {
_url = ConfigHelper.Host + url; _url = ConfigHelper.Host + url;
} }
var httpResponseMessage = await httpClient.GetAsync(_url, HttpCompletionOption.ResponseContentRead).ConfigureAwait(false); //var httpResponseMessage = await httpClient.GetAsync(_url, HttpCompletionOption.ResponseContentRead).ConfigureAwait(false);
if (!httpResponseMessage.IsSuccessStatusCode) //if (!httpResponseMessage.IsSuccessStatusCode)
{ //{
return null; // return null;
} //}
byte[] data1 = await httpResponseMessage.Content.ReadAsByteArrayAsync().ConfigureAwait(false); //byte[] data1 = await httpResponseMessage.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
return data1; //return data1;
//var request = UnityWebRequest.Get(_url);
//request.SetRequestHeader("Language", "en");
//yield return request.Send();
var client = new HttpClient(httpClientHandler);
client.DefaultRequestHeaders.Add("Language", "en");
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Unity", ConfigHelper.AppVersion));
var result = await client.GetByteArrayAsync(_url).ConfigureAwait(false);
return result;
} }
protected async Task<byte[]> GetUrlAsync(string url) protected async Task<byte[]> GetUrlAsync(string url)