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

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

View File

@ -25,6 +25,33 @@ namespace Assets.Scenes.Ride.Scripts
}
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)
{
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 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();
var response = await c.GetAsync(url);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
@ -349,8 +376,7 @@ namespace Assets.Scenes.Ride.Scripts
var polyline = Encode(result);
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/1280x768?access_token={App.MapBoxAccessToken}&padding=200&pitch=60";
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";
return url;
}
}

View File

@ -124,6 +124,11 @@ namespace Assets.Scenes.Ride.Scripts
{
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem");
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)
{
GameObject newObj = (GameObject)Instantiate(prefab, parent);

View File

@ -106,12 +106,12 @@ namespace Assets.Scenes.Ride.Scripts.Model
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>>();
if (RiderDatas.Count <= 0)
{
return recordData;
return ;
}
string newFileName = Guid.NewGuid().ToString();
int FTP = Helper.GetFtp();
@ -123,7 +123,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
var averagePower = Helper.AveragePower(RiderDatas);
// AntManufacturer manufacturer = service.GetAntManufacturer(ManufacturerId).data;
var recordId = Guid.NewGuid().ToString();
//var recordId = Guid.NewGuid().ToString();
var ticks = RiderDatas.Last().Ticks;
var interruptRecord = new MapInterruptRecord
{
@ -207,7 +207,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
System.IO.File.WriteAllText(recordFilePath, recordString);
recordData.Add(interruptRecord, files);
return recordData;
SaveDataAysnc(recordData);
}
/// <summary>
/// 保存数据
@ -218,12 +219,26 @@ namespace Assets.Scenes.Ride.Scripts.Model
{
if (data != null && data.Count > 0)
{
Task.Run(() => {
var path = Helper.GetDataDir("MapWorkoutRecords");
//Task.Run(() => {
var record = data.FirstOrDefault();
MapInterruptRecordApi service = new MapInterruptRecordApi();
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);
text = transform.GetComponent<Text>();
}
public void AnimateNum(float newScore, int digit, string format)
private double temp = 0;
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.text = string.Format(format, temp);
}, mOldScore, newScore, 1f));
//将更新后的值记录下来, 用于下一次滚动动画
mOldScore = newScore;
text.text = string.Format(format, totalDistance);
index = currentIndex;
}
else
{
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()
{
reviewScrollView.SetActive(true);
var rankingList = mapApi.GetRecordFileFromServer(cyclingController.selectParamModel.RankingsId);
foreach (var item in rankingList)
if (cyclingController.selectParamModel.RankingsId.Count > 0)
{
GameObject newObj = (GameObject)Instantiate(reviewItem, content.transform);
var reviewItemScript = newObj.GetComponent<ReviewItemScript>();
reviewItemScript.SetHead(item.WxHeadImg);
reviewItemScript.SetName(item.NickName);
reviewItemScript.SetDistance(0D);
reviewList.Add(reviewItemScript);
GameObject otherPlayerObj = (GameObject)Instantiate(otherPlayer, transform.parent.parent.parent);
var otherPlayerController = otherPlayerObj.GetComponent<OtherPlayerController>();
otherList.Add(otherPlayerController);
otherPlayerController.record = item.record;
otherPlayerController.SetController(reviewItemScript);
GameObject miniPlayer = (GameObject)Instantiate(miniMapPlayer, transform.parent.parent.parent);
var miniController = miniPlayer.GetComponent<MiniMapPlayerController>();
miniController.SetController(otherPlayerController);
var rankingList = mapApi.GetRecordFileFromServer(cyclingController.selectParamModel.RankingsId);
foreach (var item in rankingList)
{
GameObject newObj = (GameObject)Instantiate(reviewItem, content.transform);
var reviewItemScript = newObj.GetComponent<ReviewItemScript>();
reviewItemScript.SetHead(item.WxHeadImg);
reviewItemScript.SetName(item.NickName);
reviewItemScript.SetDistance(0D);
reviewList.Add(reviewItemScript);
GameObject otherPlayerObj = (GameObject)Instantiate(otherPlayer, transform.parent.parent.parent);
var otherPlayerController = otherPlayerObj.GetComponent<OtherPlayerController>();
otherList.Add(otherPlayerController);
otherPlayerController.record = item.record;
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/Player4").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)
{
_startValue = Convert.ToDouble(input);
if (!string.IsNullOrWhiteSpace(input))
{
_startValue = Convert.ToDouble(input);
}
}
private void EndvalueChanged(string input)
{
_endValue = Convert.ToDouble(input);
if (!string.IsNullOrWhiteSpace(input))
{
_endValue = Convert.ToDouble(input);
}
}
private void InputTextChanged(string input)
{
@ -155,7 +167,8 @@ namespace Assets.Scenes.Ride.Scripts
}
private void Start()
{
CreateGameObject(cyclingController.mapRouteRankingList);
//CreateGameObject(cyclingController.mapRouteRankingList);
Refresh();
}
private void Refresh()

View File

@ -49,7 +49,7 @@ namespace Assets.Scenes.Ride.Scripts
Close.gameObject.SetActive(false);
isUsed = false;
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;
RankingId = string.Empty;
}

View File

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

View File

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

View File

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