骑行界面按钮替换,界面&逻辑调整

This commit is contained in:
lishuo 2021-04-29 18:07:30 +08:00
parent 9993752ff5
commit ae55258b9b
28 changed files with 11438 additions and 8086 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 7668d9ab87584f04588f84acbee4f8a1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 06ad9e8dbc73f2e47a38c87c74596441
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: 282 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: b243c3d9b8fd511468643059d66f2ac7
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: 226 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: f0b12dc63aa5bf247bde0dfb6e91455b
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: 230 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: d17484f307b45e246802e0e31164c2a4
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: 1023 B

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: ac3d86e84f160dc4ea36e9a7f01d0fa3
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: 9.4 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: aee4137be2c0e1f4d8dbc4eb013ec749
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: 0156be25582e7514ebbae85da2eab081
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

@ -290,7 +290,12 @@ public class CyclingController : DeviceServiceMonoBase
{ {
isQuit = true; isQuit = true;
isStart = false; isStart = false;
string imageFileName = CaptureCamera(Camera.main, new Rect(Screen.width * 0f, Screen.height * 0f, Screen.width * 0.5f, Screen.height * 0.5f));
string recordId = Guid.NewGuid().ToString();
var path = Helper.GetDataDir("MapWorkoutRecords/"+ recordId);
string imageFileName = path +"/"+ Guid.NewGuid().ToString() + ".png";
CaptureCamera(Camera.main, new Rect(Screen.width * 0f, Screen.height * 0f, Screen.width * 0.5f, Screen.height * 0.5f), imageFileName);
cyclingController.recorderData.StartTime = startTime; cyclingController.recorderData.StartTime = startTime;
cyclingController.recorderData.IsCompleted = totalDistance == mapData.TotalDistance; cyclingController.recorderData.IsCompleted = totalDistance == mapData.TotalDistance;
cyclingController.recorderData.EndDistance = totalDistance; cyclingController.recorderData.EndDistance = totalDistance;
@ -302,12 +307,10 @@ public class CyclingController : DeviceServiceMonoBase
var rs = resultPanel.GetComponent<ResultPanelScript>(); var rs = resultPanel.GetComponent<ResultPanelScript>();
rs.InjectController(this); rs.InjectController(this);
rs.SetDataSource(cyclingController.recorderData); rs.SetDataSource(cyclingController.recorderData);
var localData = cyclingController.recorderData.SaveLocal(cyclingModel, selectParamModel, imageFileName); cyclingController.recorderData.SaveLocal(cyclingModel, selectParamModel, imageFileName, recordId);
//异步上传
cyclingController.recorderData.SaveDataAysnc(localData);
} }
protected string CaptureCamera(Camera camera, Rect rect) protected void CaptureCamera(Camera camera, Rect rect,string fileName)
{ {
// 创建一个RenderTexture对象 // 创建一个RenderTexture对象
RenderTexture rt = new RenderTexture((int)rect.width, (int)rect.height, 0); RenderTexture rt = new RenderTexture((int)rect.width, (int)rect.height, 0);
@ -333,11 +336,10 @@ public class CyclingController : DeviceServiceMonoBase
// 最后将这些纹理数据,成一个图片文件 // 最后将这些纹理数据,成一个图片文件
byte[] bytes = screenShot.EncodeToPNG(); byte[] bytes = screenShot.EncodeToPNG();
var path = Helper.GetDataDir("MapWorkoutRecords/images"); //var path = Helper.GetDataDir("MapWorkoutRecords/images");
string filename = path + "/" + Guid.NewGuid().ToString() + ".png"; //string filename = path + "/" + Guid.NewGuid().ToString() + ".png";
System.IO.File.WriteAllBytes(filename, bytes); System.IO.File.WriteAllBytes(fileName, bytes);
//Debug.Log(string.Format("截屏了一张照片: {0}", filename)); //Debug.Log(string.Format("截屏了一张照片: {0}", filename));
return filename;
} }
public Vector2d GetCenterCoordinate() public Vector2d GetCenterCoordinate()

View File

@ -25,6 +25,33 @@ namespace Assets.Scenes.Ride.Scripts
} }
return dirName; return dirName;
} }
public static void DelectDir(string srcPath)
{
try
{
DirectoryInfo dir = new DirectoryInfo(srcPath);
FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
foreach (FileSystemInfo i in fileinfo)
{
if (i is DirectoryInfo) //判断是否文件夹
{
DirectoryInfo subdir = new DirectoryInfo(i.FullName);
subdir.Delete(true); //删除子目录和文件
}
else
{
File.Delete(i.FullName); //删除指定文件
}
}
//删除当前文件夹
Directory.Delete(srcPath);
}
catch (Exception e)
{
throw;
}
}
public static double AveragePower(IList<TargetData> list) public static double AveragePower(IList<TargetData> list)
{ {
return Math.Floor(list.Where(p => p._Power > -1).Average(a => a._Power)); return Math.Floor(list.Where(p => p._Power > -1).Average(a => a._Power));
@ -315,7 +342,7 @@ namespace Assets.Scenes.Ride.Scripts
var polyline = Encode(list); var polyline = Encode(list);
var encodeline = UnityWebRequest.EscapeURL(polyline); //HttpUtility.UrlEncode(polyline); var encodeline = UnityWebRequest.EscapeURL(polyline); //HttpUtility.UrlEncode(polyline);
//获取封面图片 //获取封面图片
var url = $"https://api.mapbox.com/styles/v1/mapbox/dark-v10/static/path-4+35ace1-1({encodeline})/auto/1280x1280?access_token={App.MapBoxAccessToken}"; var url = $"https://api.mapbox.com/styles/v1/juzetest/ckmkdjwsa1nvt17nr1ps4fqgs/static/path-4+fff-1({encodeline})/auto/1280x1280?access_token={App.MapBoxAccessToken}";
HttpClient c = new HttpClient(); HttpClient c = new HttpClient();
var response = await c.GetAsync(url); var response = await c.GetAsync(url);
if (response.StatusCode == System.Net.HttpStatusCode.OK) if (response.StatusCode == System.Net.HttpStatusCode.OK)
@ -349,8 +376,7 @@ namespace Assets.Scenes.Ride.Scripts
var polyline = Encode(result); var polyline = Encode(result);
var encodeline = UnityWebRequest.EscapeURL(polyline); //HttpUtility.UrlEncode(polyline); var encodeline = UnityWebRequest.EscapeURL(polyline); //HttpUtility.UrlEncode(polyline);
//获取封面图片 //获取封面图片
var url = $"https://api.mapbox.com/styles/v1/juzetest/ckmkdjwsa1nvt17nr1ps4fqgs/static/path-4+fff-1({encodeline})/auto/1280x1280?access_token={App.MapBoxAccessToken}&padding=300&pitch=30";
var url = $"https://api.mapbox.com/styles/v1/mapbox/dark-v10/static/path-4+35ace1-1({encodeline})/auto/1280x768?access_token={App.MapBoxAccessToken}&padding=200&pitch=60";
return url; return url;
} }
} }

View File

@ -124,6 +124,11 @@ namespace Assets.Scenes.Ride.Scripts
{ {
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem"); var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem");
var parent = transform.Find("Panel/MapRanking"); var parent = transform.Find("Panel/MapRanking");
var title = transform.Find("Panel/RankingTitle").gameObject;
if (list.Count == 0)
{
title.SetActive(false);
}
foreach (var item in list) foreach (var item in list)
{ {
GameObject newObj = (GameObject)Instantiate(prefab, parent); GameObject newObj = (GameObject)Instantiate(prefab, parent);

View File

@ -106,12 +106,12 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int GlobalCyclingId { get; set; } public int GlobalCyclingId { get; set; }
public Dictionary<MapInterruptRecord, List<string>> SaveLocal(CyclingModel cyclingModel, RouteResultParam selectParam, string imageName = "") public void SaveLocal(CyclingModel cyclingModel, RouteResultParam selectParam, string imageName,string recordId)
{ {
Dictionary<MapInterruptRecord, List<string>> recordData = new Dictionary<MapInterruptRecord, List<string>>(); Dictionary<MapInterruptRecord, List<string>> recordData = new Dictionary<MapInterruptRecord, List<string>>();
if (RiderDatas.Count <= 0) if (RiderDatas.Count <= 0)
{ {
return recordData; return ;
} }
string newFileName = Guid.NewGuid().ToString(); string newFileName = Guid.NewGuid().ToString();
int FTP = Helper.GetFtp(); int FTP = Helper.GetFtp();
@ -123,7 +123,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
var averagePower = Helper.AveragePower(RiderDatas); var averagePower = Helper.AveragePower(RiderDatas);
// AntManufacturer manufacturer = service.GetAntManufacturer(ManufacturerId).data; // AntManufacturer manufacturer = service.GetAntManufacturer(ManufacturerId).data;
var recordId = Guid.NewGuid().ToString(); //var recordId = Guid.NewGuid().ToString();
var ticks = RiderDatas.Last().Ticks; var ticks = RiderDatas.Last().Ticks;
var interruptRecord = new MapInterruptRecord var interruptRecord = new MapInterruptRecord
{ {
@ -207,7 +207,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
System.IO.File.WriteAllText(recordFilePath, recordString); System.IO.File.WriteAllText(recordFilePath, recordString);
recordData.Add(interruptRecord, files); recordData.Add(interruptRecord, files);
return recordData;
SaveDataAysnc(recordData);
} }
/// <summary> /// <summary>
/// 保存数据 /// 保存数据
@ -218,12 +219,26 @@ namespace Assets.Scenes.Ride.Scripts.Model
{ {
if (data != null && data.Count > 0) if (data != null && data.Count > 0)
{ {
Task.Run(() => { var path = Helper.GetDataDir("MapWorkoutRecords");
//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);
//return new JsonResult<AddMapRecordResultModel> { result = result.result, errMsg = result.errMsg, data = result.data };
}); //删除文件
try
{
path = path + "/" + record.Key.Id;
if (result.result && Directory.Exists(path))
{
Helper.DelectDir(path);
}
}
catch (Exception e)
{
Debug.Log(e.Message);
}
//});
} }
} }
} }

View File

@ -20,17 +20,29 @@ namespace Assets.Scenes.Ride.Scripts
mScoreSequence.SetAutoKill(false); mScoreSequence.SetAutoKill(false);
text = transform.GetComponent<Text>(); text = transform.GetComponent<Text>();
} }
private double temp = 0;
public void AnimateNum(float newScore, int digit, string format) private int index = -1;
public void AnimateNum(float newScore,double totalDistance,int currentIndex, int digit, string format)
{ {
mScoreSequence.Append(DOTween.To(delegate (float value) if (currentIndex != index)
{ {
var temp = Math.Round(value, digit); text.text = string.Format(format, totalDistance);
//向Text组件赋值 index = currentIndex;
text.text = string.Format(format, temp); }
}, mOldScore, newScore, 1f)); else
//将更新后的值记录下来, 用于下一次滚动动画 {
mOldScore = newScore; mScoreSequence.Append(DOTween.To(delegate (float value)
{
if (value != newScore)
{
temp = Math.Round(value, digit);
//向Text组件赋值
text.text = string.Format(format, temp);
}
}, mOldScore, newScore, 1f));
//将更新后的值记录下来, 用于下一次滚动动画
mOldScore = newScore;
}
} }
} }
} }

View File

@ -80,24 +80,27 @@ namespace Assets.Scenes.Ride.Scripts
private void InitReview() private void InitReview()
{ {
reviewScrollView.SetActive(true); reviewScrollView.SetActive(true);
var rankingList = mapApi.GetRecordFileFromServer(cyclingController.selectParamModel.RankingsId); if (cyclingController.selectParamModel.RankingsId.Count > 0)
foreach (var item in rankingList)
{ {
GameObject newObj = (GameObject)Instantiate(reviewItem, content.transform); var rankingList = mapApi.GetRecordFileFromServer(cyclingController.selectParamModel.RankingsId);
foreach (var item in rankingList)
var reviewItemScript = newObj.GetComponent<ReviewItemScript>(); {
reviewItemScript.SetHead(item.WxHeadImg); GameObject newObj = (GameObject)Instantiate(reviewItem, content.transform);
reviewItemScript.SetName(item.NickName);
reviewItemScript.SetDistance(0D); var reviewItemScript = newObj.GetComponent<ReviewItemScript>();
reviewList.Add(reviewItemScript); reviewItemScript.SetHead(item.WxHeadImg);
GameObject otherPlayerObj = (GameObject)Instantiate(otherPlayer, transform.parent.parent.parent); reviewItemScript.SetName(item.NickName);
var otherPlayerController = otherPlayerObj.GetComponent<OtherPlayerController>(); reviewItemScript.SetDistance(0D);
otherList.Add(otherPlayerController); reviewList.Add(reviewItemScript);
otherPlayerController.record = item.record; GameObject otherPlayerObj = (GameObject)Instantiate(otherPlayer, transform.parent.parent.parent);
otherPlayerController.SetController(reviewItemScript); var otherPlayerController = otherPlayerObj.GetComponent<OtherPlayerController>();
GameObject miniPlayer = (GameObject)Instantiate(miniMapPlayer, transform.parent.parent.parent); otherList.Add(otherPlayerController);
var miniController = miniPlayer.GetComponent<MiniMapPlayerController>(); otherPlayerController.record = item.record;
miniController.SetController(otherPlayerController); otherPlayerController.SetController(reviewItemScript);
GameObject miniPlayer = (GameObject)Instantiate(miniMapPlayer, transform.parent.parent.parent);
var miniController = miniPlayer.GetComponent<MiniMapPlayerController>();
miniController.SetController(otherPlayerController);
}
} }
} }
} }

View File

@ -85,14 +85,26 @@ namespace Assets.Scenes.Ride.Scripts
gameObjects.Add(transform.Find("Panel/Player3").gameObject); gameObjects.Add(transform.Find("Panel/Player3").gameObject);
gameObjects.Add(transform.Find("Panel/Player4").gameObject); gameObjects.Add(transform.Find("Panel/Player4").gameObject);
gameObjects.Add(transform.Find("Panel/Player5").gameObject); gameObjects.Add(transform.Find("Panel/Player5").gameObject);
//功体比默认条件
var currentUserWkg = Math.Round((App.CurrentUser.FTP / App.CurrentUser.Weight),2);
_startValue = currentUserWkg - 0.5<0?0 : currentUserWkg - 0.5;
_endValue = currentUserWkg + 0.5;
startValue.text = _startValue.ToString();
endValue.text = _endValue.ToString();
} }
private void StartvalueChanged(string input) private void StartvalueChanged(string input)
{ {
_startValue = Convert.ToDouble(input); if (!string.IsNullOrWhiteSpace(input))
{
_startValue = Convert.ToDouble(input);
}
} }
private void EndvalueChanged(string input) private void EndvalueChanged(string input)
{ {
_endValue = Convert.ToDouble(input); if (!string.IsNullOrWhiteSpace(input))
{
_endValue = Convert.ToDouble(input);
}
} }
private void InputTextChanged(string input) private void InputTextChanged(string input)
{ {
@ -155,7 +167,8 @@ namespace Assets.Scenes.Ride.Scripts
} }
private void Start() private void Start()
{ {
CreateGameObject(cyclingController.mapRouteRankingList); //CreateGameObject(cyclingController.mapRouteRankingList);
Refresh();
} }
private void Refresh() private void Refresh()

View File

@ -49,7 +49,7 @@ namespace Assets.Scenes.Ride.Scripts
Close.gameObject.SetActive(false); Close.gameObject.SetActive(false);
isUsed = false; isUsed = false;
Name.text = "New Shadow"; Name.text = "New Shadow";
var defaultexture = Resources.Load<Sprite>("Images/New Account").texture; var defaultexture = Resources.Load<Sprite>("Images/Ride/head~").texture;
Head.texture = defaultexture; Head.texture = defaultexture;
RankingId = string.Empty; RankingId = string.Empty;
} }

View File

@ -86,6 +86,7 @@ namespace Assets.Scenes.Ride.Scripts
GameObject headPanel; GameObject headPanel;
GameObject settingPanel; GameObject settingPanel;
Button abandonButton; Button abandonButton;
GameObject singleArea;
void Awake() void Awake()
{ {
#region #region
@ -97,7 +98,7 @@ namespace Assets.Scenes.Ride.Scripts
startPanel = transform.Find("Panel/StartPanel").gameObject; startPanel = transform.Find("Panel/StartPanel").gameObject;
startBtn = transform.Find("Panel/StartPanel/StartButton").GetComponent<Button>(); startBtn = transform.Find("Panel/StartPanel/StartButton").GetComponent<Button>();
simpleBtn = transform.Find("Panel/SimpleButton").GetComponent<Button>(); simpleBtn = transform.Find("Panel/SimpleButton").GetComponent<Button>();
ditance = transform.Find("Panel/ComputerPanel/DistanceView/Distance").GetComponent<Text>(); ditance = transform.Find("Panel/ComputerPanel/Distance").GetComponent<Text>();
titlePanel = transform.Find("Panel/TitlePanel").gameObject; titlePanel = transform.Find("Panel/TitlePanel").gameObject;
totalDistance = transform.Find("Panel/TitlePanel/TotalDistance").GetComponent<Text>(); totalDistance = transform.Find("Panel/TitlePanel/TotalDistance").GetComponent<Text>();
candance = transform.Find("Panel/PowerPanel/Cadance").GetComponent<Text>(); candance = transform.Find("Panel/PowerPanel/Cadance").GetComponent<Text>();
@ -109,12 +110,12 @@ namespace Assets.Scenes.Ride.Scripts
currentSlopeText = transform.Find("Panel/CurrentSlopePanel/CurrentSlopeText").GetComponent<Text>(); currentSlopeText = transform.Find("Panel/CurrentSlopePanel/CurrentSlopeText").GetComponent<Text>();
currentSlopeDistanceText = transform.Find("Panel/CurrentSlopePanel/CurrentSlopeDistance").GetComponent<Text>(); currentSlopeDistanceText = transform.Find("Panel/CurrentSlopePanel/CurrentSlopeDistance").GetComponent<Text>();
currentSlopeToatalDistanceText = transform.Find("Panel/CurrentSlopePanel/TotalSlopeDistance").GetComponent<Text>(); currentSlopeToatalDistanceText = transform.Find("Panel/CurrentSlopePanel/TotalSlopeDistance").GetComponent<Text>();
speedTxt = transform.Find("Panel/ComputerPanel/SpeedView/Speed").GetComponent<Text>(); speedTxt = transform.Find("Panel/ComputerPanel/Speed").GetComponent<Text>();
powerTxt = transform.Find("Panel/PowerPanel/Power").GetComponent<Text>(); powerTxt = transform.Find("Panel/PowerPanel/Power").GetComponent<Text>();
timerTxt = transform.Find("Panel/ComputerPanel/Timer").GetComponent<Text>(); timerTxt = transform.Find("Panel/ComputerPanel/Timer").GetComponent<Text>();
countDownTxt = transform.Find("Panel/CountDown").GetComponent<Text>(); countDownTxt = transform.Find("Panel/CountDown").GetComponent<Text>();
mapName = transform.Find("Panel/TitlePanel/MapName").GetComponent<Text>(); mapName = transform.Find("Panel/TitlePanel/MapName").GetComponent<Text>();
totalClimb = transform.Find("Panel/ComputerPanel/TotalClimbView/TotalClimb").GetComponent<Text>(); totalClimb = transform.Find("Panel/ComputerPanel/TotalClimb").GetComponent<Text>();
//img = transform.Find("Panel/ElevationChart/HeadImage").GetComponent<RawImage>(); //img = transform.Find("Panel/ElevationChart/HeadImage").GetComponent<RawImage>();
head = transform.Find("Panel/GraphChart/HeadPanel/Head").GetComponent<RawImage>(); head = transform.Find("Panel/GraphChart/HeadPanel/Head").GetComponent<RawImage>();
headPanel = transform.Find("Panel/GraphChart/HeadPanel").gameObject; headPanel = transform.Find("Panel/GraphChart/HeadPanel").gameObject;
@ -132,13 +133,18 @@ namespace Assets.Scenes.Ride.Scripts
settingButton = transform.Find("Panel/ToolBarPanel/SettingButton").GetComponent<Button>(); settingButton = transform.Find("Panel/ToolBarPanel/SettingButton").GetComponent<Button>();
deviceButton = transform.Find("Panel/ToolBarPanel/DeviceButton").GetComponent<Button>(); deviceButton = transform.Find("Panel/ToolBarPanel/DeviceButton").GetComponent<Button>();
exitButton = transform.Find("Panel/ToolBarPanel/ExitButton").GetComponent<Button>(); exitButton = transform.Find("Panel/ToolBarPanel/ExitButton").GetComponent<Button>();
singleButton = transform.Find("Panel/SelectPanel/SingleButton").GetComponent<Button>(); singleButton = transform.Find("Panel/SelectPanel/SingleButton").GetComponent<Button>();
shadowButton = transform.Find("Panel/SelectPanel/ShadowButton").GetComponent<Button>(); shadowButton = transform.Find("Panel/SelectPanel/ShadowButton").GetComponent<Button>();
singleArea = transform.Find("Panel/ReviewPanel/SingleArea").gameObject;
addButton = transform.Find("Panel/ReviewPanel/SingleArea/AddButton").GetComponent<Button>(); addButton = transform.Find("Panel/ReviewPanel/SingleArea/AddButton").GetComponent<Button>();
saveButton = transform.Find("Panel/QuitPanel/SaveButton").GetComponent<Button>(); saveButton = transform.Find("Panel/QuitPanel/SaveButton").GetComponent<Button>();
cancelQuitButton = transform.Find("Panel/QuitPanel/CancelButton").GetComponent<Button>(); cancelQuitButton = transform.Find("Panel/QuitPanel/CancelButton").GetComponent<Button>();
closeQuitButton = transform.Find("Panel/QuitPanel/CloseButton").GetComponent<Button>(); closeQuitButton = transform.Find("Panel/QuitPanel/CloseButton").GetComponent<Button>();
abandonButton = transform.Find("Panel/QuitPanel/AbandonButton").GetComponent<Button>(); abandonButton = transform.Find("Panel/QuitPanel/AbandonButton").GetComponent<Button>();
viewButton =transform.Find("Panel/ViewButton").GetComponent<Button>(); viewButton =transform.Find("Panel/ViewButton").GetComponent<Button>();
altitudeGraph = transform.Find("Panel/TitlePanel/AltitudeGraph").GetComponent<RawImage>(); altitudeGraph = transform.Find("Panel/TitlePanel/AltitudeGraph").GetComponent<RawImage>();
leftImage = transform.Find("Panel/TitlePanel/Left").GetComponent<Image>(); leftImage = transform.Find("Panel/TitlePanel/Left").GetComponent<Image>();
@ -166,8 +172,8 @@ namespace Assets.Scenes.Ride.Scripts
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, OnPointEnter); UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, OnPointEnter);
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit); UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit); UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
#endregion #endregion
} }
@ -226,6 +232,7 @@ namespace Assets.Scenes.Ride.Scripts
if (mainController.mapRouteRankingList == null || mainController.mapRouteRankingList.Count == 0) if (mainController.mapRouteRankingList == null || mainController.mapRouteRankingList.Count == 0)
{ {
shadowButton.image.sprite = Resources.Load<Sprite>("Images/Ride/Shadow Mode_no");
shadowButton.enabled = false; shadowButton.enabled = false;
shadowButton.interactable = false; shadowButton.interactable = false;
} }
@ -234,6 +241,13 @@ namespace Assets.Scenes.Ride.Scripts
shadowButton.enabled = true; shadowButton.enabled = true;
shadowButton.interactable = true; shadowButton.interactable = true;
} }
//标记3d的地图可以用
if (!route.RouteInstance.Enable3D)
{
viewButton.enabled = false;
viewButton.interactable = false;
}
} }
//继续骑行如果有伴侣就自动进入伴侣骑行 //继续骑行如果有伴侣就自动进入伴侣骑行
private void ContinueRide() private void ContinueRide()
@ -296,6 +310,10 @@ namespace Assets.Scenes.Ride.Scripts
mainController.SetStart(); mainController.SetStart();
countDownTxt.gameObject.SetActive(false); countDownTxt.gameObject.SetActive(false);
} }
if (count == 1 && mainController.cyclingModel == CyclingModel.Single)
{
reviewPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
}
timeRemaining = 1.0f; timeRemaining = 1.0f;
} }
} }
@ -319,11 +337,19 @@ namespace Assets.Scenes.Ride.Scripts
//nextSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.NextSlopeDistance, 0, "-{0}M"); //nextSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.NextSlopeDistance, 0, "-{0}M");
nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M"; nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M";
currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%"; currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%";
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, 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();
} }
} }
//重置游戏
public void Reset()
{
mainController.isStart = false;
mainController.isPause = false;
mainController.isQuit = false;
count = 0;
countDownTxt.gameObject.SetActive(false);
}
private void SingleRide(BaseEventData baseEventData) private void SingleRide(BaseEventData baseEventData)
{ {
selectPanel.SetActive(false); selectPanel.SetActive(false);
@ -344,6 +370,7 @@ namespace Assets.Scenes.Ride.Scripts
} }
private void ShowSelectPlayer(BaseEventData baseEventData) private void ShowSelectPlayer(BaseEventData baseEventData)
{ {
Reset();
selectPlayer.SetActive(true); selectPlayer.SetActive(true);
} }
@ -370,6 +397,8 @@ namespace Assets.Scenes.Ride.Scripts
private void PauseRide(BaseEventData baseEventData) private void PauseRide(BaseEventData baseEventData)
{ {
mainController.SetPause(); mainController.SetPause();
count = 0;
countDownTxt.gameObject.SetActive(false);
startBtn.gameObject.SetActive(true); startBtn.gameObject.SetActive(true);
startPanel.SetActive(true); startPanel.SetActive(true);
} }

View File

@ -335,6 +335,7 @@ namespace Assets.Scripts.Apis
writer.Flush(); writer.Flush();
//using (var fileStream = File.OpenRead(file)) //using (var fileStream = File.OpenRead(file))
file.Value.CopyTo(requestStream); file.Value.CopyTo(requestStream);
file.Value.Close();
} }
writer.Write($"\r\n--{boundary}--\r\n"); writer.Write($"\r\n--{boundary}--\r\n");
} }

View File

@ -121,10 +121,21 @@ public class RouteItem : MonoBehaviour, IPointerExitHandler, IPointerEnterHandle
App.RouteIdParam = routeResult.RouteId; App.RouteIdParam = routeResult.RouteId;
App.routeResult = routeResult; App.routeResult = routeResult;
App.routeResult.ContinueCyclingParam = null; App.routeResult.ContinueCyclingParam = null;
RecordFromUrl();
SceneManager.LoadScene("Ride"); SceneManager.LoadScene("Ride");
}); });
} }
private void RecordFromUrl()
{
if (App.MainSceneParam.ContainsKey("Name"))
{
App.MainSceneParam["Name"] = "UserInfoPanel";
}
else
{
App.MainSceneParam.Add("Name", "UserInfoPanel");
}
}
private void GoContinue() private void GoContinue()
{ {
UIManager.ShowConfirm("Continue", "Continue riding?", () => UIManager.ShowConfirm("Continue", "Continue riding?", () =>
@ -133,6 +144,7 @@ public class RouteItem : MonoBehaviour, IPointerExitHandler, IPointerEnterHandle
{ {
App.RouteIdParam = routeResult.RouteId; App.RouteIdParam = routeResult.RouteId;
App.routeResult = routeResult; App.routeResult = routeResult;
RecordFromUrl();
SceneManager.LoadScene("Ride"); SceneManager.LoadScene("Ride");
} }
}); });