loading页&结果页面&代码结构微调

This commit is contained in:
lishuo 2021-07-16 18:37:02 +08:00
parent eb1803c9ef
commit eed2d13624
99 changed files with 14567 additions and 7299 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ee4aa26e98ceccb45970ffe66ecd454a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 13c714778b5815c42a3f6c7967cdc0eb
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.4 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 436138dcee019c54ba0cc82632db484a
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: 3.9 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 1277fd0f0664a0042a3f23a72f4e0371
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:

View File

@ -148,10 +148,10 @@ RectTransform:
m_Father: {fileID: 341053726180501157}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -271.99997, y: 209.71}
m_SizeDelta: {x: 272, y: 419.41656}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -122, y: 190.5}
m_SizeDelta: {x: 244, y: 381}
m_Pivot: {x: 0, y: 1}
--- !u!222 &341053726063350042
CanvasRenderer:
@ -240,10 +240,10 @@ RectTransform:
m_Father: {fileID: 341053727791543537}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 254.7}
m_SizeDelta: {x: 272, y: 426.062}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 142, y: -255.5}
m_SizeDelta: {x: 244, y: 381}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &341053726180501152
CanvasRenderer:
@ -357,10 +357,10 @@ RectTransform:
m_Father: {fileID: 341053726063350047}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -136, y: 209.70827}
m_SizeDelta: {x: 272, y: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -122, y: 0}
m_SizeDelta: {x: 244, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &341053726602815412
MonoBehaviour:
@ -380,7 +380,7 @@ MonoBehaviour:
m_Top: 1
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 8
m_Spacing: 4
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
@ -836,7 +836,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 80, y: -33}
m_AnchoredPosition: {x: 80.02245, y: -33}
m_SizeDelta: {x: 120.04489, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &341053727665554786
@ -995,9 +995,9 @@ RectTransform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 1428, y: 523.5}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -172, y: -356.5}
m_SizeDelta: {x: 284, y: 529}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &341053727791543500
@ -1231,9 +1231,9 @@ RectTransform:
m_Father: {fileID: 341053727791543537}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -6, y: -245}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 142.5, y: 42.5}
m_SizeDelta: {x: 81, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4249898995055343497
@ -1403,9 +1403,9 @@ RectTransform:
m_Father: {fileID: 341053727791543537}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 74, y: -233}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -54, y: 54}
m_SizeDelta: {x: 24, y: 24}
m_Pivot: {x: 0, y: 1}
--- !u!222 &546622938314080471
@ -1549,9 +1549,9 @@ RectTransform:
m_Father: {fileID: 341053727791543537}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -122.02, y: -233}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 30, y: 54}
m_SizeDelta: {x: 24, y: 24}
m_Pivot: {x: 0, y: 1}
--- !u!222 &4326198210780559113

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: cd7a63e1d17799249bb66c3b3442d524
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -31,12 +31,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -169.48, y: 13.386}
m_SizeDelta: {x: 255.83951, y: 26.770844}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 256.5, y: 0}
m_SizeDelta: {x: 165, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8929967819597229218
CanvasRenderer:
@ -66,19 +66,19 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Name
m_Text: GenSenMaruGothic TW TTF
--- !u!114 &776111304942601944
MonoBehaviour:
m_ObjectHideFlags: 0
@ -102,13 +102,14 @@ GameObject:
- component: {fileID: 8918583880764163001}
- component: {fileID: 7390776504515078202}
- component: {fileID: 8619180685653039787}
- component: {fileID: 3424369230108073070}
m_Layer: 5
m_Name: Head
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &8918583880764163001
RectTransform:
m_ObjectHideFlags: 0
@ -121,12 +122,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 6
m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -320.8, y: 9.3074}
m_SizeDelta: {x: 35.19715, y: 34.585686}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 150, y: 0}
m_SizeDelta: {x: 22, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7390776504515078202
CanvasRenderer:
@ -155,13 +156,26 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: b83009748905f084887c2d4a34f052fd, type: 3}
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &3424369230108073070
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 477974778128357920}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 11
--- !u!1 &1203636650522419747
GameObject:
m_ObjectHideFlags: 0
@ -179,7 +193,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &8206739373848930593
RectTransform:
m_ObjectHideFlags: 0
@ -192,7 +206,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 7
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@ -220,7 +234,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.20784314, g: 0.20784314, b: 0.2627451, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
@ -264,12 +278,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 2
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 236.2, y: -18.985}
m_SizeDelta: {x: 93.399994, y: 22}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 826, y: 0}
m_SizeDelta: {x: 62, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2948356824209932300
CanvasRenderer:
@ -292,7 +306,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.61960787, g: 0.61960787, b: 0.6784314, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
@ -300,18 +314,18 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 18
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 100bpm
m_Text: 999bpm
--- !u!114 &2826938124940003444
MonoBehaviour:
m_ObjectHideFlags: 0
@ -324,6 +338,104 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &3326626927285867582
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3930950237287653774}
- component: {fileID: 1295057001597316894}
- component: {fileID: 1914939927285834170}
- component: {fileID: 3013759839005288719}
m_Layer: 5
m_Name: RankHead
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3930950237287653774
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326626927285867582}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 80.5, y: 0}
m_SizeDelta: {x: 161, y: 34}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1295057001597316894
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326626927285867582}
m_CullTransparentMesh: 0
--- !u!114 &1914939927285834170
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326626927285867582}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 436138dcee019c54ba0cc82632db484a, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &3013759839005288719
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326626927285867582}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7245fe6cb36dc7b4e921e9ae44200f43, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Direction: 0
m_Color1: {r: 0.20784314, g: 0.20784314, b: 0.2627451, a: 1}
m_Color2: {r: 0.20784314, g: 0.20784314, b: 0.2627451, a: 1}
m_Color3: {r: 1, g: 1, b: 1, a: 1}
m_Color4: {r: 1, g: 1, b: 1, a: 1}
m_Rotation: 0
m_Offset1: 0
m_Offset2: 0
m_GradientStyle: 0
m_ColorSpace: -1
m_IgnoreAspectRatio: 1
--- !u!1 &3402143849051894530
GameObject:
m_ObjectHideFlags: 0
@ -357,10 +469,10 @@ RectTransform:
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 241.91, y: 11}
m_SizeDelta: {x: 104.829956, y: 22}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 408.5, y: 0}
m_SizeDelta: {x: 67, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &914885949612555739
CanvasRenderer:
@ -391,18 +503,18 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 18
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "00\uFF1A00\uFF1A00"
m_Text: 00:00:00
--- !u!114 &2189283391476243351
MonoBehaviour:
m_ObjectHideFlags: 0
@ -427,6 +539,9 @@ GameObject:
- component: {fileID: 2235010553136405887}
- component: {fileID: 5174577417352346134}
- component: {fileID: 6946663127870700282}
- component: {fileID: 3663300954437944018}
- component: {fileID: 3242988348632380186}
- component: {fileID: 5882114901713780443}
m_Layer: 5
m_Name: FinalRankingItem
m_TagString: Untagged
@ -445,12 +560,15 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3930950237287653774}
- {fileID: 8637168095196952554}
- {fileID: 1945399037117554846}
- {fileID: 5028262886418322962}
- {fileID: 5776800250494938657}
- {fileID: 1662149315305826796}
- {fileID: 6005805997969872739}
- {fileID: 4070024285971270188}
- {fileID: 5028262886418322962}
- {fileID: 1540836882168334597}
- {fileID: 8918583880764163001}
- {fileID: 8206739373848930593}
m_Father: {fileID: 0}
@ -459,7 +577,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 800, y: 69.91507}
m_SizeDelta: {x: 1013, y: 34}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2235010553136405887
CanvasRenderer:
@ -482,13 +600,13 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@ -510,6 +628,148 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1e64a5b2fb6d4f3418094195460237d1, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &3663300954437944018
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3638718135352563336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 20
--- !u!114 &3242988348632380186
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3638718135352563336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7245fe6cb36dc7b4e921e9ae44200f43, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Direction: 0
m_Color1: {r: 0.13333334, g: 0.13333334, b: 0.1764706, a: 1}
m_Color2: {r: 0.2784314, g: 0.2784314, b: 0.34901962, a: 1}
m_Color3: {r: 1, g: 1, b: 1, a: 1}
m_Color4: {r: 1, g: 1, b: 1, a: 1}
m_Rotation: 0
m_Offset1: 0
m_Offset2: 0
m_GradientStyle: 0
m_ColorSpace: -1
m_IgnoreAspectRatio: 1
--- !u!114 &5882114901713780443
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3638718135352563336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EffectColor: {r: 1, g: 1, b: 1, a: 0}
m_EffectDistance: {x: 2, y: -1}
m_UseGraphicAlpha: 0
--- !u!1 &5440943921148047505
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1662149315305826796}
- component: {fileID: 3837734063929306573}
- component: {fileID: 6376244115559470039}
- component: {fileID: 2453135262003137103}
m_Layer: 5
m_Name: GAP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1662149315305826796
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440943921148047505}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 503.5, y: 0}
m_SizeDelta: {x: 67, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3837734063929306573
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440943921148047505}
m_CullTransparentMesh: 0
--- !u!114 &6376244115559470039
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440943921148047505}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.61960787, g: 0.61960787, b: 0.6784314, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 00:00:00
--- !u!114 &2453135262003137103
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440943921148047505}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &6168534200313274756
GameObject:
m_ObjectHideFlags: 0
@ -541,12 +801,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -265.08, y: -18.985}
m_SizeDelta: {x: 64.64496, y: 22}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 612.38, y: 0}
m_SizeDelta: {x: 50, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2862083170618635592
CanvasRenderer:
@ -569,7 +829,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.61960787, g: 0.61960787, b: 0.6784314, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
@ -577,18 +837,18 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 18
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 3000w
m_Text: 455w
--- !u!114 &3066426405193871421
MonoBehaviour:
m_ObjectHideFlags: 0
@ -632,12 +892,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 5
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.000030518, y: -18.985}
m_SizeDelta: {x: 90.805115, y: 22}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 727.5, y: 0}
m_SizeDelta: {x: 75, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &280639950050165111
CanvasRenderer:
@ -660,7 +920,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.61960787, g: 0.61960787, b: 0.6784314, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
@ -668,18 +928,18 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 18
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 4.55W/KG
m_Text: 97.1W/KG
--- !u!114 &8378477932830490383
MonoBehaviour:
m_ObjectHideFlags: 0
@ -723,12 +983,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 0
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -367.15, y: -0.17348}
m_SizeDelta: {x: 39.526814, y: 34.238728}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 74.5, y: 0}
m_SizeDelta: {x: 45, y: 28}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8637168095196952559
CanvasRenderer:
@ -751,26 +1011,26 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1
m_Text: 001
--- !u!114 &8637168095196952557
MonoBehaviour:
m_ObjectHideFlags: 0
@ -783,3 +1043,94 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &8922363212685035469
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1540836882168334597}
- component: {fileID: 7321683425299025817}
- component: {fileID: 1045386820118068210}
- component: {fileID: 676098916949022288}
m_Layer: 5
m_Name: Source
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1540836882168334597
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8922363212685035469}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2470702738328327122}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -85.86, y: 0}
m_SizeDelta: {x: 70, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7321683425299025817
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8922363212685035469}
m_CullTransparentMesh: 0
--- !u!114 &1045386820118068210
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8922363212685035469}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.61960787, g: 0.61960787, b: 0.6784314, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!114 &676098916949022288
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8922363212685035469}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d6164925cf560eb4e9656c1b23dd0643
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,87 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3723515751105015842
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8374022572577032118}
- component: {fileID: 6655125401657197635}
- component: {fileID: 2128840388478742077}
- component: {fileID: 6923284688001430563}
m_Layer: 5
m_Name: MoreHead
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8374022572577032118
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3723515751105015842}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 260, y: 387.99997}
m_SizeDelta: {x: 36, y: 36}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6655125401657197635
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3723515751105015842}
m_CullTransparentMesh: 0
--- !u!114 &2128840388478742077
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3723515751105015842}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: 970fa7b2c5134aa4689616c9085aa237, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &6923284688001430563
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3723515751105015842}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 18

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 49943043f6210574ba35dfd212bb620f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -133,8 +133,9 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4515651691285270634}
- component: {fileID: 6022378379274020921}
- component: {fileID: 4023502386452540554}
- component: {fileID: 5909348220254574302}
- component: {fileID: 1680280978957036109}
- component: {fileID: 6582672494324083272}
m_Layer: 5
m_Name: Head
m_TagString: Untagged
@ -156,14 +157,22 @@ RectTransform:
- {fileID: 77411120010489172}
- {fileID: 1270265685644807884}
m_Father: {fileID: 3167536543711150945}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -20, y: -42}
m_SizeDelta: {x: 30, y: 22}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -24.2, y: -18}
m_SizeDelta: {x: 68, y: 36}
m_Pivot: {x: 1, y: 0}
--- !u!114 &6022378379274020921
--- !u!222 &5909348220254574302
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 883400011157070539}
m_CullTransparentMesh: 0
--- !u!114 &1680280978957036109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -172,23 +181,27 @@ MonoBehaviour:
m_GameObject: {fileID: 883400011157070539}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 5
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
--- !u!114 &4023502386452540554
m_Material: {fileID: 0}
m_Color: {r: 0.14901961, g: 0.14901961, b: 0.19215687, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &6582672494324083272
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -197,11 +210,10 @@ MonoBehaviour:
m_GameObject: {fileID: 883400011157070539}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
radius: 18
--- !u!1 &1467174932106385334
GameObject:
m_ObjectHideFlags: 0
@ -249,7 +261,6 @@ GameObject:
- component: {fileID: 1270265685644807884}
- component: {fileID: 7672475160531780480}
- component: {fileID: 2137053347805882277}
- component: {fileID: 4907733839667200940}
m_Layer: 5
m_Name: OnlineUserNum
m_TagString: Untagged
@ -271,10 +282,10 @@ RectTransform:
m_Father: {fileID: 4515651691285270634}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 30, y: 0}
m_SizeDelta: {x: 10, y: 22}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 21, y: 11}
m_SizeDelta: {x: 42, y: 22}
m_Pivot: {x: 1, y: 1}
--- !u!222 &7672475160531780480
CanvasRenderer:
@ -310,27 +321,13 @@ MonoBehaviour:
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 8
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 0
--- !u!114 &4907733839667200940
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1839740390780362626}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &1893130772885976778
GameObject:
m_ObjectHideFlags: 0
@ -366,12 +363,12 @@ RectTransform:
- {fileID: 624897275497451373}
- {fileID: 2867823098512661858}
m_Father: {fileID: 3167536543711150945}
m_RootOrder: 2
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 33.558}
m_SizeDelta: {x: 284.0362, y: 55}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 140, y: 0}
m_SizeDelta: {x: 150, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &864986824169715523
CanvasRenderer:
@ -489,8 +486,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -142.04001, y: 27.5}
m_SizeDelta: {x: 284.0362, y: 55}
m_AnchoredPosition: {x: -75, y: 20}
m_SizeDelta: {x: 150, y: 40}
m_Pivot: {x: 0, y: 1}
--- !u!222 &7609285510981058322
CanvasRenderer:
@ -559,7 +556,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &77411120010489172
RectTransform:
m_ObjectHideFlags: 0
@ -686,8 +683,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -142.02, y: 27.500017}
m_SizeDelta: {x: 284.0381, y: 0}
m_AnchoredPosition: {x: -74.99994, y: 19.999952}
m_SizeDelta: {x: 0, y: 38}
m_Pivot: {x: 0, y: 1}
--- !u!114 &3554577221026721493
MonoBehaviour:
@ -701,8 +698,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!114 &6513324842484636649
MonoBehaviour:
m_ObjectHideFlags: 0
@ -716,12 +713,12 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Left: 1
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildAlignment: 3
m_Spacing: -10
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
@ -819,7 +816,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &9185232567754469812
RectTransform:
m_ObjectHideFlags: 0
@ -834,10 +831,10 @@ RectTransform:
m_Father: {fileID: 3167536543711150945}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 83.4, y: -33}
m_SizeDelta: {x: 126.76291, y: 40}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 27.5, y: 0}
m_SizeDelta: {x: 55, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4335035569003208348
CanvasRenderer:
@ -860,18 +857,18 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.36078432, g: 0.36078432, b: 0.43137255, a: 1}
m_Color: {r: 0.5058824, g: 0.5058824, b: 0.54901963, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 28
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
@ -879,7 +876,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Watcher
m_Text: Viewers
--- !u!1 &7947937743244824832
GameObject:
m_ObjectHideFlags: 0
@ -893,6 +890,7 @@ GameObject:
- component: {fileID: 950458533236804620}
- component: {fileID: 8026842840904871084}
- component: {fileID: 2347928026389896683}
- component: {fileID: 620036902074625835}
m_Layer: 5
m_Name: WatcherPanel
m_TagString: Untagged
@ -912,15 +910,15 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 9185232567754469812}
- {fileID: 4515651691285270634}
- {fileID: 4977652299254193417}
- {fileID: 4515651691285270634}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 1179, y: 836.44}
m_SizeDelta: {x: 304.03632, y: 67.11592}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1405.5, y: -50}
m_SizeDelta: {x: 239, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5712220351141344732
CanvasRenderer:
@ -984,6 +982,18 @@ CanvasGroup:
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &620036902074625835
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7947937743244824832}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d3a3fba34cb3db4fa7a25f6f5ca4992, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &8460363171655925636
GameObject:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -142,16 +142,15 @@ namespace Assets.Scripts.Apis
public async Task<JsonResult<object>> GetEarthData(double lat, double lon)
{
//CultureInfo.InvariantCulture
var result = await GetAsync<JsonResult<object>>($"Map/GetEarthData?lat={ lat.ToString(CultureInfo.InvariantCulture) }&lon={ lon.ToString(CultureInfo.InvariantCulture) }");
return result;
}
//获取Loading页面路书封面图
public async Task<JsonResult<string>> GetMapLoadingCoverageUrl(int routeId)
public async Task<JsonResult<string>> GetMapLoadingCoverageUrl(int routeId,int type=0)
{
//CultureInfo.InvariantCulture
var result = await GetAsync<JsonResult<string>>($"Map/GetMapLoadingCoverage?id={ routeId }");
var url = $"Map/GetLoadingCoverage?id={ routeId }&type={ type }";
var result = await GetAsync<JsonResult<string>>(url);
return result;
}

View File

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
namespace Assets.Scripts.Apis.Models
{
@ -51,5 +52,17 @@ namespace Assets.Scripts.Apis.Models
public int CloseTime { get; set; }
public bool HasRecord { get; set; }
//最大参赛人数
public int MaxMembers { get; set; }
//报名参赛的选手
public List<CompetitionPlayer> UserList {get;set; }
}
public class CompetitionPlayer
{
public int Id { get; set; }
public string NickName { get; set; }
public string WxHeadImg { get; set; }
public string Sex { get; set; }
}
}

View File

@ -11,7 +11,7 @@ using Assets.Scripts.Devices;
public static class App
{
public static string Host = "http://192.168.0.97:5082/";
public static string Host = "http://192.168.0.102:5082/";
public static string AppVersion = Application.version;
@ -40,7 +40,7 @@ public static class App
public static bool isChanged { get; set; }
public static string notifyContent { get; internal set; }
public static RideSetting rideSetting = new RideSetting();
public static RideSetting RideSetting = new RideSetting();
public static string pageName { get; set; }
public static int firstEnter { get; set; }

View File

@ -1055,7 +1055,7 @@ public class LoginController : MonoBehaviour
UIManager.Instance.userInfoIndex = 0;
}
App.CurrentUser = data;
App.rideSetting.sensitivity = data.Sensitivity;
App.RideSetting.Sensitivity = data.Sensitivity;
SceneManager.LoadScene("MainScene");
}
/// <summary>

View File

@ -0,0 +1,157 @@
using Assets.Scripts;
using Assets.Scripts.Apis;
using Assets.Scripts.Apis.Models;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class CompetitionLoadingController : AbstratctLoadingController
{
private GameObject Watch { get; set; }
private bool _canJoin = false;
private bool _canStart = false;
private RawImage CompetitionDesc;
private Text StartTime { get; set; }
private Text Contestant { get; set; }
private Transform PlayersPanel {get;set;}
public override void InjectController(CyclingController controller)
{
cyclingController = controller;
//渲染比赛界面
panel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/CompetitonPanel"), transform);
PFUIPanel mainPanel = panel.GetComponent<PFUIPanel>();
PFUIPanel modelPanel = transform.Find("ModalPanel").GetComponent<PFUIPanel>();
cyclingController.SetUIManager(mainPanel, modelPanel);
}
protected override void Start()
{
base.Start();
}
protected override void ShowLoading()
{
loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
}
//初始化
public override void Init()
{
InitGameObject();
InitGameObjectData();
}
//构建赛事界面
protected override void InitGameObject()
{
base.InitGameObject();
CompetitionDesc = panel.transform.Find("CompetitionDesc").GetComponent<RawImage>();
StartTime = panel.transform.Find("Time").GetComponent<Text>();
Contestant = panel.transform.Find("Contestant").GetComponent<Text>();
Watch = panel.transform.Find("Watch").gameObject;
PlayersPanel = panel.transform.Find("PlayersPanel/List/Viewport/Content");
UIManager.AddEvent(Watch, EventTriggerType.PointerClick, StartWatch);
}
//查询赛事相关数据
protected override void InitGameObjectData()
{
var route = cyclingController.mapRoute;
var competition = cyclingController.competition;
//赛事状态按钮控制
_canJoin = competition.CanJoin;
_canStart = competition.CanStart;
var showWatch = !_canJoin && !_canStart && !competition.HasRecord;
Watch.SetActive(showWatch);
rideNow.gameObject.SetActive(!showWatch);
rideNowText.text = _canJoin ? "Apply" : "RideNow";
#region
//赛事名称
mapName.text = competition.Title;
//距离
distance.text = route.Distance.ToString("f1") + "KM";
//海拔
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
//平均破度
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
//比赛开始时间
StartTime.text = competition.StartTime.ToLongTimeString();
//参赛选手
Contestant.text = competition.UserList.Count.ToString() + "Players";
ShowPlayers(competition.UserList);
//路书描述
mapDescText.text = route.Dec;
//主办方logo
//赛事详情
//异步请求mapbox画出当前路书路线图
DrawMapRouteAsync(route.Id,1);
AddProcess(20);
#endregion
StartCoroutine(HiddenLoading());
}
private int maxShowCout = 15;
private void ShowPlayers(List<CompetitionPlayer> list)
{
var watcher = Resources.Load<GameObject>("UI/Prefab/Match/Watcher");
var moreHead = Resources.Load<GameObject>("UI/Prefab/Match/MoreHead");
int index = 0;
foreach (var item in list)
{
index++;
if (index >= maxShowCout) {
Instantiate(moreHead, PlayersPanel);
break;
}
var head = Instantiate(watcher, PlayersPanel);
var headiamge = head.GetComponent<RawImage>();
if (!string.IsNullOrEmpty(item.WxHeadImg))
{
Utils.DisplayImage(headiamge, item.WxHeadImg, true);
}
}
}
//显示比赛详情图片:如果没有比赛详情图则显示地图
private void ShowCompetitionDescImage()
{
}
#region
//先报名后开始
protected override void StartRide(BaseEventData baseEvent)
{
//先报名
if (_canJoin)
{
MapCompetitionApi s = new MapCompetitionApi();
var rrr = s.ApplyMapCompetition(cyclingController.competitionId);
if (rrr.Result.result)
{
var competition = s.GetById(cyclingController.competitionId).data;
_canStart = competition.CanStart;
}
rideNowText.text = "RideNow";
}
else
{
base.StartRide(baseEvent);
}
}
//观察
protected void StartWatch(BaseEventData baseEvent)
{
//隐藏当前用户
cyclingController.isWatch = true;
cyclingController.player.SetActive(false);
base.StartRide(baseEvent);
}
#endregion
}
}

View File

@ -105,7 +105,7 @@ namespace Assets.Scenes.Ride.Scripts
if (bufferSize < pageSize)
{
//情况一还有足够的buffer,直接创建
GameObject prefabItem = cyclingController.currentPlayer.UserId == item.UserId ? nearByMajorItem : nearByItem;
GameObject prefabItem = item.IsSelf ? nearByMajorItem : nearByItem;
GameObject newObj = (GameObject)Instantiate(prefabItem, parent);
competitionRankingItem = newObj.GetComponent<CompetitionRankingItem>();
bufferSize++;

View File

@ -4,18 +4,24 @@ using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class CompetitionResultFactory: MonoBehaviour
{
int pageIndex = 1;
int pageSize = 8;
CyclingController cyclingController;
RawImage Head;
Text Ranking;
Text Timer;
private void Awake()
{
cyclingController = FindObjectOfType<CyclingController>();
var closeBtn = transform.Find("Close").gameObject;
Head = transform.Find("Mine/Head").GetComponent<RawImage>();
Ranking = transform.Find("Mine/Ranking").GetComponent<Text>();
Timer = transform.Find("Mine/Timer").GetComponent<Text>();
UIManager.AddEvent(closeBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, Close);
}
@ -36,20 +42,39 @@ namespace Assets.Scenes.Ride.Scripts
{
var list = model?.competitionRankingModel?.Results;
if (list == null) return;
var parent = transform.Find("ScrollView/Viewport/Content");
Utils.DestroyChildren(parent);
var pagedList = list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
foreach (var item in pagedList)
//当前用户排名
var currentRanking = list.Where(c => c.UserId == cyclingController.currentPlayer.UserId).FirstOrDefault();
if (currentRanking != null)
{
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
finalRankingItemScript.setRanking(item.Index.ToString());
Utils.DisplayImage(Head, App.CurrentUser.WxHeadImg, true);//TODO:改造数据结构结果增加头像字段
Ranking.text = currentRanking.Index.ToString().PadLeft(3,'0');
Timer.text = currentRanking.TripTime;
}
//排名列表
var rankingList = FindObjectsOfType<FinalRankingItemScript>();
foreach (var item in list)
{
var finalRankingItemScript = rankingList.Where(c => c.UserId == item.UserId).FirstOrDefault();
//没有就创建
if (finalRankingItemScript == null)
{
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
}
//有就更新
finalRankingItemScript.setGap(item.Gap);
finalRankingItemScript.setSource(item.DeviceType);
finalRankingItemScript.setUserId(item.UserId);
finalRankingItemScript.setRanking(item.Index);
finalRankingItemScript.setHeartRate(item.HeartRate.ToString("f0"));
finalRankingItemScript.setName(item.Name);
finalRankingItemScript.setPower(item.Power.ToString());
finalRankingItemScript.setRatio(item.WeightKg.ToString("f2"));
finalRankingItemScript.setTimer(item.TripTime);
finalRankingItemScript.transform.SetSiblingIndex(item.Index);
}
}
}

View File

@ -42,7 +42,7 @@ namespace Assets.Scenes.Ride.Scripts
{
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
finalRankingItemScript.setRanking(item.Index.ToString());
finalRankingItemScript.setRanking(item.Index);
finalRankingItemScript.setHeartRate(item.HeartRate.ToString("f0"));
finalRankingItemScript.setName(item.Name);
finalRankingItemScript.setPower(item.Power.ToString());

View File

@ -0,0 +1,179 @@
using Assets.Scripts;
using Assets.Scripts.UI.UIEffect;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class FinalRankingItemScript : MonoBehaviour
{
private RawImage Head;
private RawImage Country;
private Image RankHead;
private Text Name;
private Text Power;
private Text Timer;
private Text Gap;
private Text WKG;//功体比
private Text Ranking;
private Text HeartRate;
private Text Source;
private Outline outline;
private Image BackGround;
private UIGradient uIGradient;
private UIGradient RankHeadGradient;
private int _userId = 0;
public int UserId { get { return _userId; } }
private Texture countryTexture;
#region
private Color RED = new Color(0.9764706f, 0.1882353f, 0.5254902f);
private Color SHALLOW_RED = new Color(1f, 0.454902f, 0.5215687f);
private Color PURPLE = new Color(0.1568628f, 0.4431373f, 0.8745098f);
private Color SHALLOW_PURPLE = new Color(0.3843137f, 0.7764706f, 1f);
private Color BLUE = new Color(0.4352941f, 0.3333333f, 0.9372549f);
private Color SHALLOW_BLUE = new Color(0.772549f, 0.5529412f, 1f);
private Color GREY = new Color(0.1333333f, 0.1333333f, 0.1764706f);
private Color SHALLOW_GREY = new Color(0.2784314f, 0.2784314f, 0.3490196f);
private Color WHITE = new Color(1f, 1f, 1f, 1f);
private Color TRANSPARENT = new Color(1f, 1f, 1f, 0f);
private Color BLACK = new Color(0.2078431f, 0.2078431f, 0.2627451f);
private Color SHALLOW_WHITE = new Color(0.8352941f, 0.8352941f, 0.8352941f);
#endregion
CyclingController cyclingController;
private void Awake()
{
cyclingController = FindObjectOfType<CyclingController>();
RankHead = transform.Find("RankHead").GetComponent<Image>();
RankHeadGradient = RankHead.GetComponent<UIGradient>();
Ranking = transform.Find("Ranking").GetComponent<Text>();
Name = transform.Find("Name").GetComponent<Text>();
Timer = transform.Find("Timer").GetComponent<Text>();
Gap = transform.Find("GAP").GetComponent<Text>();
Power = transform.Find("Power").GetComponent<Text>();
WKG = transform.Find("WKG").GetComponent<Text>();
HeartRate = transform.Find("Heart").GetComponent<Text>();
Source = transform.Find("Source").GetComponent<Text>();
Head = transform.Find("Head").GetComponent<RawImage>();
Country = transform.Find("Country").GetComponent<RawImage>();
outline = transform.GetComponent<Outline>();
BackGround = transform.GetComponent<Image>();
uIGradient = transform.GetComponent<UIGradient>();
}
public void setRatio(string ratio)
{
WKG.text = ratio +"W/KG";
}
public void setSource(string device)
{
Source.text = device;
}
public void setGap(string gap)
{
Gap.text = gap;
}
public void setHead(string url)
{
Utils.DisplayImage(Head, url, true);
var rect = ((RectTransform)Head.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Head.material = material;
}
public void setCountry(Texture texture)
{
Country.texture = texture;
}
public void setName(string name)
{
Name.text = name;
}
public void setPower(string power)
{
Power.text = power +"W";
}
public void setTimer(string timer)
{
Timer.text = timer;
}
public void setRanking(int ranking)
{
switch (ranking)
{
//第一名的样式
case 1:
RankHeadGradient.color1 = RED;
RankHeadGradient.color2 = SHALLOW_RED;
Name.color = BLACK;
Timer.color = BLACK;
uIGradient.color1 = WHITE;
uIGradient.color2 = SHALLOW_WHITE;
break;
//第二名的样式
case 2:
RankHeadGradient.color1 = PURPLE;
RankHeadGradient.color2 = SHALLOW_PURPLE;
Name.color = BLACK;
Timer.color = BLACK;
uIGradient.color1 = WHITE;
uIGradient.color2 = SHALLOW_WHITE;
break;
//第三名的样式
case 3:
RankHeadGradient.color1 = BLUE;
RankHeadGradient.color2 = SHALLOW_BLUE;
Name.color = BLACK;
Timer.color = BLACK;
uIGradient.color1 = WHITE;
uIGradient.color2 = SHALLOW_WHITE;
break;
default:
RankHeadGradient.color1 = BLACK;
RankHeadGradient.color2 = BLACK;
Name.color = WHITE;
Timer.color = WHITE;
uIGradient.color1 = GREY;
uIGradient.color2 = SHALLOW_GREY;
break;
}
Ranking.text = ranking.ToString().PadLeft(3,'0');
}
public void setHeartRate(string heartRate)
{
if (!heartRate.Equals("0"))
{
HeartRate.text = heartRate + "bpm";
}
else
{
HeartRate.text = "--bpm";
}
}
public void setUserId(int userId)
{
_userId = userId;
var isself = userId == cyclingController.currentPlayer.UserId;
//头像根据是否是自己显示
Utils.DisplayImage(Head, App.CurrentUser.WxHeadImg, true);//TODO:改造数据结构结果增加头像字段
Head.gameObject.SetActive(isself);
//边框样式
var color = isself ? WHITE : TRANSPARENT;
outline.effectColor = color;
}
}
}

View File

@ -0,0 +1,55 @@
using Assets.Scenes.Ride.Scripts.Model;
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
using Assets.Scripts;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class WatcherFactory : MonoBehaviour
{
private Transform content { get; set; }
private CyclingController cyclingController { get;set;}
private GameObject watcher { get; set; }
private GameObject head { get; set; }
private Text watchNum { get; set; }
private void Awake()
{
cyclingController = FindObjectOfType<CyclingController>();
content = transform.Find("List/Viewport/Content");
head = transform.Find("Head").gameObject;
watchNum = transform.Find("Head/OnlineUserNum").GetComponent<Text>();
watcher = Resources.Load<GameObject>("UI/Prefab/Match/Watcher");
}
private float t = 1f;
private void Update()
{
t -= Time.deltaTime;
while (t<=0)
{
CreateList();
t = 1;
}
}
private void CreateList()
{
var watchList = cyclingController.GetWatcherList();
var count = watchList.Count();
head.SetActive(count >= 5);
watchNum.text = count.ToString();//绑定观看人数
var list = watchList.Take(5);
Utils.DestroyChildren(content);
foreach (var item in list)
{
var head = Instantiate(watcher, content);
var headiamge = head.GetComponent<RawImage>();
Utils.DisplayImage(headiamge, item.HeadImage, true);
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5d3a3fba34cb3db4fa7a25f6f5ca4992
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -185,6 +185,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
{
Index = ranking.Index,
Name = ranking.NickName,
UserId = ranking.UserId,
Weight = ranking?.Weight ?? 0,
WeightKg = ranking?.WeightKg ?? 0,
//Time = ranking?.TotalTime ?? "",

View File

@ -37,8 +37,12 @@ namespace Assets.Scenes.Ride.Scripts.Model
{
public int Index { get; set; }
public int UserId { get; set; }
public string Name { get; set; }
public string HeadUrl { get; set; }
//public string Time { get; set; }
public double Power { get; set; }

View File

@ -8,6 +8,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
{
public class RideSetting
{
public double sensitivity { set; get; }
public double Sensitivity { set; get; }
public bool ShowOtherHead { set; get; }
}
}

View File

@ -114,7 +114,7 @@ namespace Assets.Scenes.Ride.Scripts
mapData = mainController.GetMapData();//获取路书信息
////获取海拔图UI对象
//var graphObject = transform.parent.Find("SingleUI/Panel/GraphChart");
//var graphObject = transform.parent.Find("UI/Panel/GraphChart");
//chartDataSourceScript = graphObject.GetComponent<ChartDataSourceScript>();
//graph = graphObject.GetComponent<GraphChartBase>();
chartDataSourceScript = mainController.chartDataSourceScript;

View File

@ -16,67 +16,112 @@ namespace Assets.Scenes.Ride.Scripts
{
public class AbstratctLoadingController : MonoBehaviour
{
#region GameObject
protected Text mapName;
protected AbstractMap _map;
protected Text level;
protected Text mapName;
protected AbstractMap _map { get; set; }
protected MapApi mapApi { get; set; }
protected RawImage mapRouteImage;
protected CanvasGroup canvasGroup;
protected Slider slider;
protected Text processText;
protected Text rideNowText;
protected Button rideNow;
protected Button cancel;
protected Text mapDescText;
protected Text distance;
protected Text elevaction;
protected Text slope;
protected Text rideNum;
protected Text uploadByUserName;
protected Text processText;
protected Text mapDescText;
protected Text rideNowText;
protected RawImage head;
protected RawImage country;
protected RawImage mapCountry;
protected RawImage mapRouteImage;
protected RawImage altitudeGraph;
protected Button rideNow;
protected Button cancel;
protected MapApi mapApi { get; set; }
protected GameObject panel;
protected CanvasGroup canvasGroup;
protected Transform mapRanking;
protected Slider slider;
#endregion
protected GameObject loadingPanel;
protected GameObject loadingPanel { get; set; }
#region
protected float process = 0;//0-100 %
public float targetAlpha = 0f;
public float alphaSpeed = 2.0f;
private bool depressFlag = false;
protected CyclingController cyclingController { get; set; }
#endregion
protected CyclingController cyclingController;
protected virtual void Start()
{
App.TextureCache.Clear();
loadingPanel = transform.Find("Panel/LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
mapApi = new MapApi();
ShowLoading();
}
public void InjectController(CyclingController controller)
void Update()
{
if (canvasGroup == null)
{
return;
}
if (targetAlpha != canvasGroup.alpha && depressFlag)
{
canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, targetAlpha, alphaSpeed * Time.deltaTime);
if (Mathf.Abs(targetAlpha - canvasGroup.alpha) <= 0.01f)
{
canvasGroup.alpha = targetAlpha;
}
if (canvasGroup.alpha == 0)
{
transform.gameObject.SetActive(false);
}
}
}
//显示loading动画
protected virtual void ShowLoading()
{
}
//在awake前触发。注入主控制器并设置UIManager
public virtual void InjectController(CyclingController controller)
{
cyclingController = controller;
PFUIPanel mainPanel = transform.Find("Panel").GetComponent<PFUIPanel>();
PFUIPanel modelPanel = transform.Find("ModalPanel").GetComponent<PFUIPanel>();
cyclingController.SetUIManager(mainPanel, modelPanel);
}
//提供给主控制器初始化用
public void Init(MapRoute route)
//初始化
public virtual void Init()
{
InitGameObject();
InitGameObjectData(route);
InitGameObjectData();
}
//展示当前路书图片
public void SetMapRouteImage(string url)
//加载界面
protected virtual void InitGameObject()
{
Utils.DisplayImage(mapRouteImage, url);
mapName = panel.transform.Find("MapName").GetComponent<Text>();
distance = panel.transform.Find("Distance").GetComponent<Text>();
elevaction = panel.transform.Find("Elevaction").GetComponent<Text>();
slope = panel.transform.Find("Slope").GetComponent<Text>();
mapRouteImage = panel.transform.Find("MapRouteImage").GetComponent<RawImage>();
slider = panel.transform.Find("Process").GetComponent<Slider>();
processText = panel.transform.Find("ProcessText").GetComponent<Text>();
mapDescText = panel.transform.Find("MapDesc").GetComponent<Text>();
rideNow = panel.transform.Find("RideNow").GetComponent<Button>();
rideNowText = rideNow.transform.Find("Text").GetComponent<Text>();
cancel = panel.transform.Find("Cancel").GetComponent<Button>();
var root = transform.parent;
_map = root.Find("Map").GetComponent<AbstractMap>();
_map.OnInitialized += _map_OnInitialized;
canvasGroup = transform.GetComponent<CanvasGroup>();
rideNow.enabled = false;
rideNow.interactable = false;
UIManager.AddEvent(rideNow.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide);
UIManager.AddEvent(cancel.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Cancel);
}
public async void DrawMapRouteAsync(int routeId)
//加载数据
protected virtual void InitGameObjectData()
{
}
//绘制地图
public virtual async void DrawMapRouteAsync(int routeId,int type=0)
{
this.AddProcess(10);
//var url = Helper.GetMapboxApiUrl(mapData.List);
mapApi = new MapApi();
var result = await mapApi.GetMapLoadingCoverageUrl(routeId);
var result = await mapApi.GetMapLoadingCoverageUrl(routeId, type);
if (!result.result)
return;
var url = result.data;
@ -85,38 +130,33 @@ namespace Assets.Scenes.Ride.Scripts
mapRouteImage.texture = App.TextureCache[url];
var canvasGroup = mapRouteImage.GetComponent<CanvasGroup>();
canvasGroup.DOFade(1, 1);
//this.AddProcess(10);
}
else
{
Utils.DisplayImageAysnc(StartCoroutine, mapRouteImage, url, dowloadCallBack);
//this.AddProcess(10);
else
{
Utils.DisplayImageAysnc(StartCoroutine, mapRouteImage, url, DowloadCallBack);
}
}
protected void dowloadCallBack(string url)
protected void DowloadCallBack(string url)
{
if (!App.TextureCache.ContainsKey(url))
{
App.TextureCache.Add(url, mapRouteImage.texture);
}
else
{
}
else
{
App.TextureCache[url] = mapRouteImage.texture;
}
var canvasGroup = mapRouteImage.GetComponent<CanvasGroup>();
var canvasGroup = mapRouteImage.GetComponent<CanvasGroup>();
canvasGroup.DOFade(1, 1);
}
//设定当前loading进度
public void AddProcess(float v)
public virtual void AddProcess(float v)
{
process += v;
slider.value = process;
slider.onValueChanged.AddListener((f) =>
{
processText.text = $"{(f ).ToString("#0")}%";
processText.text = $"{(f).ToString("#0")}%";
});
if (process == 100)
@ -125,72 +165,18 @@ namespace Assets.Scenes.Ride.Scripts
rideNow.enabled = true;
}
}
//创建排行榜
public void CreateRankingList(List<MapRouteRanking> list)
{
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);
var selectPlayerItemScript = newObj.GetComponent<RankingItemScript>();
selectPlayerItemScript.SetRanking(item.RowNumber.ToString());
selectPlayerItemScript.SetName(item.NickName);
selectPlayerItemScript.SetTimer(item.IsDNF?"DNF":item.TotalTime);
selectPlayerItemScript.SetHead(item.WxHeadImg);
var texture = cyclingController.GetCountryImageByCode(item.CountryCode);
selectPlayerItemScript.SetCountry(texture);
}
}
protected virtual void InitGameObject()
{
panel = transform.Find("Panel").gameObject;
mapName = transform.Find("Panel/MapName").GetComponent<Text>();
distance = transform.Find("Panel/Distance").GetComponent<Text>();
level = transform.Find("Panel/level/Text").GetComponent<Text>();
elevaction = transform.Find("Panel/Elevaction").GetComponent<Text>();
slope = transform.Find("Panel/Slope").GetComponent<Text>();
rideNum = transform.Find("Panel/RideNum").GetComponent<Text>();
uploadByUserName = transform.Find("Panel/UploadByUserName").GetComponent<Text>();
country = transform.Find("Panel/UploadByCountry").GetComponent<RawImage>();
mapCountry = transform.Find("Panel/Country").GetComponent<RawImage>();
head = transform.Find("Panel/UploadByHead").GetComponent<RawImage>();
mapRouteImage = transform.Find("Panel/MapRouteImage").GetComponent<RawImage>();
altitudeGraph = transform.Find("Panel/AltitudeGraph").GetComponent<RawImage>();
mapRanking = transform.Find("Panel/MapRanking");
slider = transform.Find("Panel/Process").GetComponent<Slider>();
processText = transform.Find("Panel/ProcessText").GetComponent<Text>();
mapDescText = transform.Find("Panel/MapDesc").GetComponent<Text>();
rideNow = transform.Find("Panel/RideNow").GetComponent<Button>();
rideNowText = rideNow.transform.Find("Text").GetComponent<Text>();
cancel = transform.Find("Panel/Cancel").GetComponent<Button>();
var root = transform.parent;
_map = root.Find("Map").GetComponent<AbstractMap>();
canvasGroup = transform.GetComponent<CanvasGroup>();
rideNow.enabled = false;
rideNow.interactable = false;
UIManager.AddEvent(rideNow.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide);
UIManager.AddEvent(cancel.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Cancel);
}
protected virtual void StartRide(BaseEventData baseEvent)
{
var checkAnt = cyclingController.CheckAnt();
#if UNITY_EDITOR
checkAnt = true;
checkAnt = true;
#endif
if (!checkAnt)
{
if (!checkAnt)
{
var alert = (GameObject)Instantiate(Resources.Load("UI/Prefab/Ride/Alert"), panel.transform);
alert.SetActive(true);
}
else
else
{
cyclingController.InitTcp();
MapUDPService.SendGizpModel();
@ -200,44 +186,11 @@ namespace Assets.Scenes.Ride.Scripts
canvasGroup.blocksRaycasts = false;
depressFlag = true;
}
}
}
protected void Cancel(BaseEventData baseEvent)
{
SceneManager.LoadScene("MainScene");
}
protected void InitGameObjectData(MapRoute route)
{
if (route != null)
{
#region
mapName.text = route.Name;
level.text = route.Hard;
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
rideNum.text = route.TheHeat.ToString();
distance.text = route.Distance.ToString("f1") + "KM";
mapDescText.text = route.Dec;
var userList = ConfigHelper.mapApi.GetOnlineUserInfo(new int[] { route.UserId }).data;
if (userList.Count > 0)
{
uploadByUserName.text = userList[0].Name;
var countryUrl = App.Host + $"User/GetCountryImg?userid={userList[0].Id}";
Utils.DisplayImage(head, userList[0].HeadImage);//头像
country.texture = cyclingController.GetCountryImageByCode(route.CountryCode);//上传者国家
mapCountry.texture = cyclingController.GetCountryImageByName(userList[0].Country);//路书国家
Utils.DisplayImage(altitudeGraph, route.AltitudeGraph);//海拔图
}
#endregion
StartCoroutine(HiddenLoading());
#region
_map.OnInitialized += _map_OnInitialized;
_map.OnEditorPreviewEnabled += OnEditorPreviewEnabled;
_map.OnEditorPreviewDisabled += OnEditorPreviewDisabled;
#endregion
}
}
protected IEnumerator HiddenLoading()
{
yield return new WaitForSeconds(1f);
@ -254,37 +207,5 @@ namespace Assets.Scenes.Ride.Scripts
}
};
}
protected void OnEditorPreviewEnabled()
{
//transform.gameObject.SetActive(false);
}
protected void OnEditorPreviewDisabled()
{
//transform.gameObject.SetActive(true);
}
public float targetAlpha = 0f;
public float alphaSpeed = 2.0f;
private bool depressFlag = false;
void Update()
{
if (canvasGroup == null)
{
return;
}
if (targetAlpha != canvasGroup.alpha && depressFlag)
{
canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, targetAlpha, alphaSpeed * Time.deltaTime);
if (Mathf.Abs(targetAlpha - canvasGroup.alpha) <= 0.01f)
{
canvasGroup.alpha = targetAlpha;
}
if (canvasGroup.alpha == 0)
{
transform.gameObject.SetActive(false);
}
}
}
}
}

View File

@ -1,51 +0,0 @@
using Assets.Scripts.Apis;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class CompetitionLoadingController : AbstratctLoadingController
{
private GameObject Watch;
private bool hasJoin = false;
protected override void Start()
{
base.Start();
}
//先报名后开始
protected override void StartRide(BaseEventData baseEvent)
{
//先报名
if (!hasJoin)
{
MapCompetitionApi s = new MapCompetitionApi();
_ = s.ApplyMapCompetition(cyclingController.competitionId);
rideNowText.text = "RideNow";
hasJoin = true;
}
else
{
base.StartRide(baseEvent);
}
}
protected void StartWatch(BaseEventData baseEvent)
{
//隐藏当前用户
cyclingController.isWatch = true;
cyclingController.player.SetActive(false);
base.StartRide(baseEvent);
}
protected override void InitGameObject()
{
base.InitGameObject();
//比赛相关数据绑定
//显示报名按钮 观战按钮 TODO
rideNowText.text = "Apply";
Watch = transform.Find("Panel/Watch").gameObject;
UIManager.AddEvent(Watch, EventTriggerType.PointerClick, StartWatch);
}
}
}

View File

@ -1,89 +0,0 @@
using Assets.Scripts;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class FinalRankingItemScript : MonoBehaviour
{
private RawImage Head;
private RawImage Country;
private Text Name;
private Text Power;
private Text Timer;
private Text Ratio;//功体比
private Text Ranking;
private Text HeartRate;
private int _userId = 0;
public int UserId { get { return _userId; } }
private Texture countryTexture;
private void Awake()
{
Head = transform.Find("Head").GetComponent<RawImage>();
Country = transform.Find("Country").GetComponent<RawImage>();
Name = transform.Find("Name").GetComponent<Text>();
HeartRate = transform.Find("Heart").GetComponent<Text>();
Power = transform.Find("Power").GetComponent<Text>();
Timer = transform.Find("Timer").GetComponent<Text>();
Ratio = transform.Find("WKG").GetComponent<Text>();
Ranking = transform.Find("Ranking").GetComponent<Text>();
countryTexture = Resources.Load<Sprite>("Images/flag_China_Person").texture;
}
public void setRatio(string ratio)
{
Ratio.text = ratio +"W/KG";
}
public void setHead(string url)
{
Utils.DisplayImage(Head, url, true);
var rect = ((RectTransform)Head.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Head.material = material;
}
public void setCountry(Texture texture)
{
Country.texture = texture;
}
public void setName(string name)
{
Name.text = name;
}
public void setPower(string power)
{
Power.text = power +"W";
}
public void setTimer(string timer)
{
Timer.text = timer;
}
public void setRanking(string ranking)
{
Ranking.text = ranking;
}
public void setHeartRate(string heartRate)
{
if (!heartRate.Equals("0"))
{
HeartRate.text = heartRate + "bpm";
}
else
{
HeartRate.text = "--bpm";
}
}
public void setUserId(int userId)
{
_userId = userId;
}
}
}

View File

@ -36,8 +36,9 @@ public class CyclingController : DeviceServiceMonoBase
public int preticks;
#region
private MapRoute mapRoute;//当前路书数据
private MapDataModel mapData;//当前路书数据
public MapRoute mapRoute { get; set; }//当前路书数据
public MapCompetition competition { get; set; }//当前赛事数据
private MapDataModel mapData { get; set; }//当前路书数据
private Route route;//当前路书综合数据
public List<MapRouteRanking> mapRouteRankingList { get; set; }
private Vector2d coordiantes;//当前地图中心
@ -79,10 +80,10 @@ public class CyclingController : DeviceServiceMonoBase
routeId = App.RouteIdParam > 0? App.RouteIdParam : 2633;
//mapRoute = mapApi.GetById(routeId).data;
//miniMap = transform.Find("MiniMap").gameObject;//小地图
resultPanel = transform.Find("SingleUI/Panel/ResultPanel").gameObject;
resultPanel = transform.Find("UI/Panel/ResultPanel").gameObject;
//获取海拔图UI对象
var graphObject = transform.Find("SingleUI/Panel/GraphChart");
var graphObject = transform.Find("UI/Panel/GraphChart");
chartDataSourceScript = graphObject.GetComponent<ChartDataSourceScript>();
graph = graphObject.GetComponent<GraphChartBase>();
@ -99,14 +100,14 @@ public class CyclingController : DeviceServiceMonoBase
Transform uiParent;
private void Start()
{
UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
UIManager.Instance.MainPanel = this.transform.Find("UI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("UI/ModalPanel").GetComponent<PFUIPanel>();
onlineUserPrefab = Resources.Load<GameObject>("UI/Prefab/Match/OnlinePlayer");
miniMapPlayerPrefab = Resources.Load<GameObject>("UI/Prefab/Ride/MiniMapPlayer");
watcher = Resources.Load<GameObject>("UI/Prefab/Match/Watcher");
target = transform.Find("Target");
miniMap = transform.Find("MiniMap").gameObject;//小地图
uiParent = transform.Find("SingleUI/Panel");
uiParent = transform.Find("UI/Panel");
//进入倒计时
singleUIManager = UIObject.GetComponent<BaseUIManager>();
TrailRenderer trail = player.GetComponent<TrailRenderer>();
@ -155,7 +156,7 @@ public class CyclingController : DeviceServiceMonoBase
{
yield return new WaitForSeconds(1);
mapRoute = mapApi.GetById(routeId).data;
loadingController.Init(mapRoute);//初始化loading页面
loadingController.Init();//初始化loading页面
loadingController.AddProcess(10);
InitData();//初始化数据
InitGameObject();//初始化场景
@ -168,7 +169,9 @@ public class CyclingController : DeviceServiceMonoBase
{
yield return new WaitForSeconds(1);
mapRoute = mapApi.GetById(routeId).data;
loadingController.Init(mapRoute);//初始化loading页面
var mapCompetitionApi = new MapCompetitionApi();
competition = mapCompetitionApi.GetById(competitionId).data;
loadingController.Init();//初始化loading页面
loadingController.AddProcess(10);
InitRaceData();//初始化比赛数据
InitRaceGameObject();//初始化比赛场景
@ -213,19 +216,19 @@ public class CyclingController : DeviceServiceMonoBase
App.routeResult = null;
#endregion
//异步请求mapbox画出当前路书路线图
loadingController.DrawMapRouteAsync(mapRoute.Id);
////异步请求mapbox画出当前路书路线图
//loadingController.DrawMapRouteAsync(mapRoute.Id);
//loadingController.AddProcess(10);
//计算上次骑行距离调整地图中心点
double endDistance = selectParamModel.EndDistance;
coordiantes = Along(endDistance);
loadingController.AddProcess(10);
//查询排行榜
var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
if (list.result)
{
loadingController.CreateRankingList(list.data.list);
loadingController.AddProcess(10);
}
////查询排行榜
//var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
//if (list.result)
//{
// loadingController.CreateRankingList(list.data.list);
// loadingController.AddProcess(10);
//}
var shaowList = mapApi.GetShadowList(App.RouteIdParam, "", 0, 10);
if (shaowList.result)
{
@ -233,16 +236,12 @@ public class CyclingController : DeviceServiceMonoBase
}
}
private MapCompetition competition;
private void InitRaceData()
{
mapData = mapApi.GetData(routeId);//获取路书地理数据
route = new Route(mapData, mapRoute);
loadingController.AddProcess(10);
#region
MapCompetitionApi mapCompetitionApi = new MapCompetitionApi();
competition = mapCompetitionApi.GetById(competitionId).data;
selectParamModel = new RouteResultParam
{
CompetitionId = competitionId,
@ -256,25 +255,10 @@ public class CyclingController : DeviceServiceMonoBase
};
#endregion
//异步请求mapbox画出当前路书路线图
loadingController.DrawMapRouteAsync(mapRoute.Id);
//计算上次骑行距离调整地图中心点
double endDistance = selectParamModel.EndDistance;
coordiantes = Along(endDistance);
loadingController.AddProcess(10);
#region
var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
if (list.result)
{
loadingController.CreateRankingList(list.data.list);
loadingController.AddProcess(10);
}
var shaowList = mapApi.GetShadowList(App.RouteIdParam, "", 0, 10);
if (shaowList.result)
{
mapRouteRankingList = shaowList.data.list;
}
#endregion
}
private Vector3 mapPos = Vector3.zero;
@ -334,6 +318,9 @@ public class CyclingController : DeviceServiceMonoBase
public AbstractPlayer currentPlayer { get; set; }
private GameObject onlinePlayer { get; set; }
Vector3 MAX_SIZE = new Vector3(3f, 3f, 3f);
Vector3 MIN_SIZE = new Vector3(0.1f, 0.1f, 0.1f);
public void ChangeCurrentPlayer(int userId)
{
var coll = FindObjectsOfType<AbstractPlayer>();
@ -341,14 +328,16 @@ public class CyclingController : DeviceServiceMonoBase
if (selectedPlayer != null)
{
currentPlayer = selectedPlayer;
selectedPlayer.transform.localScale = new Vector3(3f, 3f, 3f);
selectedPlayer.transform.localScale = Is3dView? MAX_SIZE : MIN_SIZE;
}
var unselectedPlayers = coll.Where(c => c.UserId != userId).ToList();
foreach (var item in unselectedPlayers)
{
item.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
item.transform.localScale = MIN_SIZE;
}
//重置海拔图进度
graph.HorizontalScrolling = 0;
}
public void ChangeRandomPlayer()
{
@ -489,7 +478,7 @@ public class CyclingController : DeviceServiceMonoBase
if (bakePlayer != null)
bakePlayer.IsShowInfo = true;
}
GameObject watcherList;
GameObject watcherList { get; set; }
//当前比赛观看者
private void ShowWatchers()
{
@ -498,28 +487,24 @@ public class CyclingController : DeviceServiceMonoBase
watcherList = Resources.Load<GameObject>("UI/Prefab/Match/WatcherPanel");
watcherList = Instantiate(watcherList, uiParent);
}
var content = watcherList.transform.Find("List/Viewport/Content");
var watchList = MapUDPService.GetCompetitionWatchers(competitionId);
Utils.DestroyChildren(content);
foreach (var item in watchList)
{
var head = Instantiate(watcher, content);
var headiamge = head.GetComponent<RawImage>();
Utils.DisplayImage(headiamge, item.HeadImage, true);
}
}
//查询赛事观看者列表(取前5)
public List<OnlineUser> GetWatcherList()
{
return MapUDPService.GetCompetitionWatchers(competitionId);
}
#endregion
public void SetUIManager(PFUIPanel mainPanel, PFUIPanel model)
{
UIManager.Instance.MainPanel = mainPanel;//this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = model;// this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
UIManager.Instance.MainPanel = mainPanel;
UIManager.Instance.ModalsPanel = model;
}
public void ReSetUIManager()
{
UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
UIManager.Instance.MainPanel = this.transform.Find("UI/Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("UI/ModalPanel").GetComponent<PFUIPanel>();
}
public void AddEvent(GameObject sender, EventTriggerType eventType, UnityAction<BaseEventData> unityAction)

View File

@ -43,7 +43,7 @@ namespace Assets.Scenes.Ride.Scripts
var screenBounds = GetScreenBounds();
var z = SetZoomToFitBounds(targetbounds, screenBounds);
}
RectRoot = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
RectRoot = transform.parent.Find("UI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
}
trail = transform.parent.Find("Sphere").GetComponent<TrailRenderer>();
@ -57,7 +57,7 @@ namespace Assets.Scenes.Ride.Scripts
{
if (playerController != null)
{
var tr = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap/arrow");
var tr = transform.parent.Find("UI/Panel/MiniMap/MiniMap/arrow");
tr.SetSiblingIndex(9999);
var pos = _map.GeoToWorldPosition(playerController.Currentlatlong);
pos.y += 15f;

View File

@ -1,24 +1,116 @@
using UnityEngine;
using Mapbox.Unity.Map;
using DG.Tweening;
using UnityEngine.UI;
using Assets.Scripts.Apis;
using System;
using Assets.Scripts;
using Assets.Scripts.Apis.Models;
using System.Collections.Generic;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using System.Collections;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts
{
//[ExecuteInEditMode]
public class LoadingController : AbstratctLoadingController
{
#region GameObject
protected Text level;
protected Text rideNum;
protected Text uploadByUserName;
protected RawImage head;
protected RawImage country;
protected RawImage mapCountry;
protected RawImage altitudeGraph;
protected Transform mapRanking;
#endregion
public override void InjectController(CyclingController controller)
{
panel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/LoadingPanel"), transform);
cyclingController = controller;
PFUIPanel mainPanel = panel.GetComponent<PFUIPanel>();
PFUIPanel modelPanel = transform.Find("ModalPanel").GetComponent<PFUIPanel>();
cyclingController.SetUIManager(mainPanel, modelPanel);
}
protected override void ShowLoading()
{
loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
}
//初始化
public override void Init()
{
InitGameObject();
InitGameObjectData();
}
protected override void InitGameObject()
{
base.InitGameObject();
level = panel.transform.Find("level/Text").GetComponent<Text>();
rideNum = panel.transform.Find("RideNum").GetComponent<Text>();
uploadByUserName = panel.transform.Find("UploadByUserName").GetComponent<Text>();
country = panel.transform.Find("UploadByCountry").GetComponent<RawImage>();
mapCountry = panel.transform.Find("Country").GetComponent<RawImage>();
head = panel.transform.Find("UploadByHead").GetComponent<RawImage>();
altitudeGraph = panel.transform.Find("AltitudeGraph").GetComponent<RawImage>();
mapRanking = panel.transform.Find("MapRanking");
}
protected override void InitGameObjectData()
{
var route = cyclingController.mapRoute;
#region
mapName.text = route.Name;
level.text = route.Hard;
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
rideNum.text = route.TheHeat.ToString();
distance.text = route.Distance.ToString("f1") + "KM";
mapDescText.text = route.Dec;
var userList = ConfigHelper.mapApi.GetOnlineUserInfo(new int[] { route.UserId }).data;
if (userList.Count > 0)
{
uploadByUserName.text = userList[0].Name;
var countryUrl = App.Host + $"User/GetCountryImg?userid={userList[0].Id}";
Utils.DisplayImage(head, userList[0].HeadImage);//头像
country.texture = cyclingController.GetCountryImageByCode(route.CountryCode);//上传者国家
mapCountry.texture = cyclingController.GetCountryImageByName(userList[0].Country);//路书国家
Utils.DisplayImage(altitudeGraph, route.AltitudeGraph);//海拔图
}
#endregion
//异步请求mapbox画出当前路书路线图
DrawMapRouteAsync(route.Id);
AddProcess(10);
//查询排行榜
var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
if (list.result)
{
CreateRankingList(list.data.list);
AddProcess(10);
}
StartCoroutine(HiddenLoading());
}
//创建排行榜
public void CreateRankingList(List<MapRouteRanking> list)
{
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem");
var parent = panel.transform.Find("MapRanking");
var title = panel.transform.Find("RankingTitle").gameObject;
if (list.Count == 0)
{
title.SetActive(false);
}
foreach (var item in list)
{
GameObject newObj = (GameObject)Instantiate(prefab, parent);
var selectPlayerItemScript = newObj.GetComponent<RankingItemScript>();
selectPlayerItemScript.SetRanking(item.RowNumber.ToString());
selectPlayerItemScript.SetName(item.NickName);
selectPlayerItemScript.SetTimer(item.IsDNF ? "DNF" : item.TotalTime);
selectPlayerItemScript.SetHead(item.WxHeadImg);
var texture = cyclingController.GetCountryImageByCode(item.CountryCode);
selectPlayerItemScript.SetCountry(texture);
}
}
}
}

View File

@ -14,8 +14,8 @@ namespace Assets.Scenes.Ride.Scripts
{
_map = transform.parent.Find("MiniMap").GetComponent<AbstractMap>();
_minicamera = transform.parent.Find("MiniCamera").GetComponent<Camera>();
RectRoot = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
var parent = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap");
RectRoot = transform.parent.Find("UI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
var parent = transform.parent.Find("UI/Panel/MiniMap/MiniMap");
arrow = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/MiniArrow"), parent);
}
public void SetController(AbstractPlayer player)

View File

@ -28,7 +28,7 @@ namespace Assets.Scenes.Ride.Scripts
currentlatlong = mainController.GetCenterCoordinate();
_playerController = FindObjectOfType<PlayerController>();
//创建UI
uiObject = transform.parent.Find("SingleUI/Panel/ArrowList");
uiObject = transform.parent.Find("UI/Panel/ArrowList");
if (mainController.cyclingController.Mode == CyclingModel.Competition)
{
arrowImage = Instantiate(Resources.Load<Image>("UI/Prefab/Match/CompetitionArrow"), uiObject);
@ -93,6 +93,7 @@ namespace Assets.Scenes.Ride.Scripts
var infoPos = playerScreenPos + new Vector3(150f, 60f, 0f);
((RectTransform)infoPanel.transform).position = infoPos;
CreateInfoLine(playerScreenPos, headPos);
//头像
var infoHead = infoPanel.transform.Find("Head").GetComponent<RawImage>();
if (head != null)
{
@ -100,15 +101,16 @@ namespace Assets.Scenes.Ride.Scripts
}
var infoName = infoPanel.transform.Find("Name").GetComponent<Text>();
infoName.text = nickName;
//距离
var infoDistance = infoPanel.transform.Find("Distance").GetComponent<Text>();
if (_playerController != null)
{
infoDistance.text = diff > 0? $"+{diff}M" : $"{diff}M";
}
//功体比
var infoWKG = infoPanel.transform.Find("WKG").GetComponent<Text>();
infoWKG.text = weightKgStr;
//速度
var speedText = infoPanel.transform.Find("Speed").GetComponent<Text>();
speedText.text = speed.ToString("f1")+"KM/H";
}
@ -218,6 +220,7 @@ namespace Assets.Scenes.Ride.Scripts
}
}
private double horizontalScrolling { get; set; }
private void MoveHead()
{
var itemIndex = chartDataSourceScript.GetViewIndex(CurrentIndex);
@ -236,11 +239,11 @@ namespace Assets.Scenes.Ride.Scripts
}
else
{
if (UserId != mainController.currentPlayer.UserId)
{
headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
}
else
//if (UserId != mainController.currentPlayer.UserId)
//{
// headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
//}
//else
{
int nextIndex = CurrentIndex;
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
@ -250,7 +253,11 @@ namespace Assets.Scenes.Ride.Scripts
var currentDistance = CurrentDistance;
var distance = Distance;
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
graph.HorizontalScrolling += offset;
horizontalScrolling += offset;
if (UserId == mainController.currentPlayer.UserId)
{
graph.HorizontalScrolling = horizontalScrolling;
}
headPanel.transform.position = new Vector3(headPanel.transform.position.x, itemPosition.y, 0);
}
else
@ -284,12 +291,6 @@ namespace Assets.Scenes.Ride.Scripts
{
headPanel.SetActive(true);
rect.DOScale(new Vector3(1.5f, 1.5f, 1.5f), 0.5f);
//移动海拔图
var currentDistance = CurrentDistance;
var distance = Distance;
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
graph.HorizontalScrolling += offset;
}
else
{

View File

@ -32,7 +32,7 @@ namespace Assets.Scenes.Ride.Scripts
_playerController = FindObjectOfType<PlayerController>();
tickOffset = mainController.preticks;
//创建UI
uiObject = transform.parent.Find("SingleUI/Panel/ArrowList");
uiObject = transform.parent.Find("UI/Panel/ArrowList");
arrowImage = Instantiate(Resources.Load<Image>("UI/Prefab/Ride/ReviewArrow"), uiObject);
}

View File

@ -38,7 +38,7 @@ namespace Assets.Scenes.Ride.Scripts
trail.receiveShadows = false;
trail.rayTracingMode = UnityEngine.Experimental.Rendering.RayTracingMode.Off;
headPanel = transform.parent.Find("SingleUI/Panel/GraphChart/HeadPanel").gameObject;
headPanel = transform.parent.Find("UI/Panel/GraphChart/HeadPanel").gameObject;
}
TargetData targetData;
/// <summary>
@ -59,7 +59,7 @@ namespace Assets.Scenes.Ride.Scripts
System.Random rd = new System.Random();
power = 2000; //rd.Next(150, 300);//测试功率
//#endif
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity / 100);
mainController.TrackResistance(currentSlope * App.RideSetting.Sensitivity / 100);
}
catch (Exception ex)
{

View File

@ -21,8 +21,8 @@ namespace Assets.Scenes.Ride.Scripts
saveButton = transform.Find("SaveButton").GetComponent<Button>();
slider = transform.Find("Sensitivity").GetComponent<Slider>();
text = transform.Find("Sensitivity/Text").GetComponent<Text>();
text.text = App.rideSetting.sensitivity.ToString("#0")+ "%";
slider.value =(float)App.rideSetting.sensitivity;
text.text = App.RideSetting.Sensitivity.ToString("#0")+ "%";
slider.value =(float)App.RideSetting.Sensitivity;
slider.onValueChanged.AddListener((f) =>
{
text.text = $"{(f).ToString("#0")}%";
@ -37,7 +37,7 @@ namespace Assets.Scenes.Ride.Scripts
}
private void Save(BaseEventData baseEventData)
{
App.rideSetting.sensitivity = Math.Round(slider.value,0);
App.RideSetting.Sensitivity = Math.Round(slider.value,0);
transform.parent.gameObject.SetActive(false);
}
}

View File

@ -50,7 +50,7 @@ public class QuickLoginUser : MonoBehaviour
{
top.GetComponent<LoginController>().SaveInfo(r.data);
App.CurrentUser = r.data;
App.rideSetting.sensitivity = App.CurrentUser.Sensitivity;
App.RideSetting.Sensitivity = App.CurrentUser.Sensitivity;
SceneManager.LoadScene("MainScene");
}
else

View File

@ -106,7 +106,7 @@ public class HomeController : PFUIPanel
#region
App.CompetionId = 1048;
App.RouteIdParam = 5054;
App.RouteIdParam = 1215;
SceneManager.LoadScene("Ride");
#endregion
}