AR骑行beta

This commit is contained in:
lishuo 2022-08-05 15:10:09 +08:00
parent 4d5bc8f080
commit 9b1bb3d9ba
45 changed files with 35055 additions and 2401 deletions

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: eadcc416ce4d71c44b98deff48e687de
guid: 657cb2a2ec6787d43be32edf8aa192cb
ModelImporter:
serializedVersion: 19301
internalIDToNameTable:

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -167,9 +167,7 @@ MonoBehaviour:
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 0
m_Text: 'Owner
'
m_Text: Owner
--- !u!114 &1196958514764798091
MonoBehaviour:
m_ObjectHideFlags: 0
@ -413,6 +411,11 @@ PrefabInstance:
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710808685932, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Text
value: Owner
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9b1b32cc3fc7584b9542312671ca2a4, type: 3}
--- !u!224 &4579759974294400264 stripped

View File

@ -600,10 +600,11 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4262002136735339995}
- {fileID: 4262002137479065095}
- {fileID: 4262002137557868745}
m_Father: {fileID: 4262002136603205338}
m_RootOrder: 1
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
@ -1084,7 +1085,6 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4262002136735339995}
- {fileID: 4262002136200577363}
m_Father: {fileID: 4262002136707163175}
m_RootOrder: 2
@ -1363,16 +1363,16 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4262002136735339994}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 4262002136603205338}
m_Father: {fileID: 4262002136200577363}
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: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 144}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4262002136735339993
@ -2267,7 +2267,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4262002136200577363}
m_RootOrder: 0
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -2454,7 +2454,7 @@ RectTransform:
m_Children:
- {fileID: 4262002137219612045}
m_Father: {fileID: 4262002136200577363}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}

View File

@ -1696,9 +1696,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Join
'
m_Text: Cycing
--- !u!114 &8237074132281259724
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2006,8 +2004,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 8006304660198358960}
m_Horizontal: 1
m_Vertical: 1
m_Horizontal: 0
m_Vertical: 0
m_MovementType: 1
m_Elasticity: 0.1
m_Inertia: 1
@ -2265,9 +2263,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Join
'
m_Text: Join in
--- !u!114 &4782976535516097578
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2359,9 +2355,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Result
'
m_Text: Result
--- !u!114 &8965962451321000826
MonoBehaviour:
m_ObjectHideFlags: 0
@ -5229,9 +5223,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Join
'
m_Text: Join in
--- !u!114 &8892510150099237439
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -122,6 +122,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 994686065624044129}
- {fileID: 2879494179160928067}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -152,3 +153,96 @@ MonoBehaviour:
m_EditorClassIdentifier:
newNav: {fileID: 0}
count: {fileID: 994686065624044130}
endCount: {fileID: 2382543375010334405}
--- !u!1 &6788688131223348265
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2879494179160928067}
- component: {fileID: 5617213375299987318}
- component: {fileID: 2382543375010334405}
- component: {fileID: 7396771062511200290}
m_Layer: 5
m_Name: End
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &2879494179160928067
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6788688131223348265}
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: 994686065979953167}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 120, y: 60}
m_SizeDelta: {x: 160, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5617213375299987318
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6788688131223348265}
m_CullTransparentMesh: 0
--- !u!114 &2382543375010334405
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6788688131223348265}
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: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: f878f11ea5771c548ac255f4e39b8e4b, type: 3}
m_FontSize: 96
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 100
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 6
--- !u!114 &7396771062511200290
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6788688131223348265}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
key:

View File

@ -153,7 +153,7 @@ MonoBehaviour:
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: ID
@ -310,6 +310,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
newNav: {fileID: 0}
versionText: {fileID: 130627678952846131}
Avatar: {fileID: 5004100674370775688}
idText: {fileID: 130627679763004984}
roomName: {fileID: 6764779855226780961}
@ -5250,6 +5251,16 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 130627679731738850}
m_Modifications:
- target: {fileID: 4262002136076290599, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: key
value: ME
objectReference: {fileID: 0}
- target: {fileID: 4262002136595151083, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002136603205336, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5260,6 +5271,11 @@ PrefabInstance:
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4262002136614126872, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002136707163173, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5375,6 +5391,21 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137082345412, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4262002137082345412, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4262002137082345412, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 20
objectReference: {fileID: 0}
- target: {fileID: 4262002137219612045, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchorMax.y
@ -5390,6 +5421,11 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.x
value: 20
objectReference: {fileID: 0}
- target: {fileID: 4262002137281357260, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 4262002137339273005, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5405,11 +5441,31 @@ PrefabInstance:
propertyPath: m_Material
value:
objectReference: {fileID: 0}
- target: {fileID: 4262002137414878523, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137557868745, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137587389219, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4262002137587389219, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4262002137587389219, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 20
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5420,11 +5476,26 @@ PrefabInstance:
propertyPath: m_Material
value:
objectReference: {fileID: 0}
- target: {fileID: 4262002137773332168, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 5694922919852029242, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: sort
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5733267285720315172, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Text
value: Owner
objectReference: {fileID: 0}
- target: {fileID: 5733267285720315173, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: key
value: Owner
objectReference: {fileID: 0}
- target: {fileID: 5733267285826970431, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material

File diff suppressed because it is too large Load Diff

View File

@ -1910,7 +1910,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: 437, y: -107.5}
m_AnchoredPosition: {x: 437, y: -342.5}
m_SizeDelta: {x: 258, y: 215}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8346800866131681677
@ -4992,7 +4992,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: 437, y: -342.5}
m_AnchoredPosition: {x: 437, y: -107.5}
m_SizeDelta: {x: 258, y: 215}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3490997052799924446

View File

@ -1346,9 +1346,9 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_Font: {fileID: 12800000, guid: dc2b8edfb87f74143913c268624f8711, type: 3}
m_FontSize: 20
m_FontStyle: 1
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
@ -1438,9 +1438,9 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 36
m_FontStyle: 1
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40

View File

@ -1,61 +1,346 @@
10:10,-5,0,-,-,-
243:-15,10,0,-,-,-
250:-2,0,0.1980198,-1,3,0.346829
312:-15,10,0.5903499,-1,4.181554,0.346829
656:-3.2,0.8,0.5766783,-1,3.424655,0.346829
849:30,-10,2,-,-,-
853:15.6,-3.2,1.724637,-1,3,0.346829
902:29.4,-9,1.548859,-1,3,0.346829
937:39.2,-9,1.886684,-1,3,0.346829
1055:15,-15,1,-,-,-
1100:10,0,0,-,-,-
1220:10,5,0,-,-,-
1330:-10,5,0,-,-,-
1899:5,-5,1,-,-,-
1925:10,-5,1,-,-,-
2524:-5,5,1,-,-,-
2960:10,-5,1,-,-,-
3120:15,-5,0,-,-,-
3300:5,5,0,-,-,-
3555:-10,5,0,-,-,-
3967:-10,5,1,-,-,-
4483:10,-5,1,-,-,-
4590:15,-5,1,-,-,-
4817:-5,0,1,-,-,-
5191:5,0,1,-,-,-
5279:10,0,1,-,-,-
5327:-29.2,14.6,1,-1,3,0.103382
5347:6.182,0,0.8091168,-1,3,0.103382
5630:-10,0,0,-,-,-
6551:7,-3.5,0.437785,-1,3,0.2581649
6578:5,-5,0,-,-,-
6650:5,-5,0.5274182,-1,4.056354,0.2581649
6722:5,-5,1.109839,-1,4.776485,0.2581649
6746:9.6,-4.8,0.6498283,-1,3.204519,0.1984781
7838:5,-5,1,-,-,-
7919:15,0,1,-,-,-
8258:7.6,-3.8,0.3524806,-1,3,0.0379531
8471:10,0,1,-,-,-
9343:0.208,0.816,0.5723592,-1,3,0.1984781
9498:-2,1,0.8148468,-1,3,0.2581649
9536:-5,0,0,-,-,-
9605:-10,0,0,-,-,-
9819:-5.4,2.7,0,-1,3,0.2581649
10012:-0.8,0.4,0.03605918,-1,2.8166,0.0379531
10123:5,0,0,-,-,-
10396:7.8,-3.9,0.3329708,-1,3,0.2581649
10500:-5,0,0,-,-,-
10546:3,-1.5,0,-1,3,0.2581649
10807:5,0,0,-,-,-
10834:15,-5,1,-,-,-
10989:18.6,-9.3,0.3640011,-1,3,0.1984781
11033:5,-5,1,-,-,-
11348:8.6,-4.3,0,-1,3,0.2581649
11400:5,-5,1,-,-,-
11528:5,0,1,-,-,-
11734:-5,0,0,-,-,-
11956:8.400001,-4.2,0,-1,3,0.2581649
12170:-25,5,0,-,-,-
12244:-25,12.5,0,-1,3,0.2566484
12381:0.6,-0.3,-0.2828478,-1,4.114982,0.1984781
12604:1.6,-0.8,0,-1,3,0.2566484
1:5.4,0,1.152,-1,3.012,-30.176
24:1,0,1.273,-1,3.55,-30
148:-8.985,0,0.834,-1,3.208,-30
174:2.2,4.5,0.834,-1,3.208,-30
176:-4.6,0,0.834,-1,3.578,-30
284:-12.2,0,0.834,-1,3.208,-30
390:-13.2,1.7,0.834,-1,3.208,-30
436:-9.4,-2.6,0.498,-1,3,-30
478:-3.8,-0.3,0.739,-1,3.67,-30
587:-5.8,0,1.1,-1,3.204,-30
838:9.6,-5.3,0.799,-1,3.204,-30
1055:5.4,0,0.799,-1,3.204,-30
1130:10.6,2.4,1.166,-1,3.437,-30
1131:9.2,1.2,1.166,-1,3.437,-30
1281:0.8,0,1.341,-1,3.459,-30
1395:5.4,3.9,1.395,-1,3.474,-30
1554:7.178,10.061,1.453,-1,3.727,-30
1698:-4.2,0.2,1.064,-1,3.618,-30
1795:-5.6,1.3,1.205,-1,3.65,-30
1822:-6.6,-4.2,1.039,-1,3.684,-30
1975:-1.4,-4.9,1.363,-1,3.803,-30
2001:-1.4,-3.5,1.633,-1,3.803,-30
2113:4.4,-3.5,1.303,-1,3.803,-30
2170:8.6,-7.6,1.074,-1,3.803,-30
2228:10.4,-9.3,1.065,-1,3.803,-30
2302:10.4,-3.6,0.839,-1,3,-30
2370:8,-4,1.372,-1,3.67,-30
2460:8,-5.7,1.117,-1,3.96,-30
2543:8,-7.4,1.109,-1,3.598,-30
2588:8,-9.6,0.968,-1,3.598,-30
2645:8,-5.9,1.102,-1,3.598,-30
2721:12,-5.1,1.309,-1,3.598,-30
3112:22.2,3.2,1.82,-1,3.565,-30
3171:15.4,6.2,1.954,-1,3.68,-30
3196:9.2,4.5,1.549,-1,3.731,-30
3247:9.2,5.8,1.055,-1,3.829,-30
3280:9.2,7.1,1.055,-1,3.829,-30
3339:-8.2,7.1,1.055,-1,3.829,-30
3505:-2.4,2.9,1.287,-1,3.829,-30
3554:2.6,0,1.287,-1,3.829,-30
3733:10.8,-3,1.17,-1,3.776,-30
3748:10.8,-6,0.785,-1,3.829,-30
3806:18.4,-9.7,0.972,-1,3.829,-30
3857:19.8,-5.4,1.312,-1,3.829,-30
3919:17.4,-0.9,1.895,-1,4.168,-30
3954:13.6,2.4,1.699,-1,4.102,-30
4042:13.6,3.7,1.908,-1,4.022,-30
4157:9,1.9,1.852,-1,4.333,-30
4318:-4.2,0,1.035,-1,3.519,-30
4366:-1.194,3.902,1.035,-1,3.519,-30
4422:-5.684,8.182,1.068,-1,3.519,-30
4480:-7.2,0.5,1.035,-1,3.519,-30
4536:0,-1,1.136,-1,3.571,-30
4630:3,2.9,1.136,-1,3.571,-30
4651:1.4,2.6,1.1,-1,3.667,-30
4699:6.2,0.3,1.422,-1,3.78,-30
4753:2.2,2.6,1.322,-1,3.913,-30
4850:3,3.2,1.431,-1,3.913,-30
4896:4.2,1.4,1.804,-1,3.913,-30
4923:3.388,4.808,1.804,-1,3.913,-30
4975:-2.2,1.4,1.144,-1,3.913,-30
5038:-7,5.6,0.589,-1,3.913,-30
5104:-10.397,1.423,0.563,-1,3.913,-30
5173:-7,7.2,0.536,-1,3.913,-30
5225:-8.198,1.414,0.301,-1,3.913,-30
5283:-6.4,3.7,0.198,-1,3.922,-30
5358:-2.4,-1.2,0.275,-1,3.934,-30
5429:2.6,-1,0.827,-1,3.945,-30
5431:1.8,-2.7,0.573,-1,3.945,-30
5509:2.6,-2.6,0.563,-1,3.958,-30
5589:1.4,-0.5,0.485,-1,4.055,-30
5634:1.4,1.1,0.685,-1,4.108,-30
5701:1.4,2.3,1.591,-1,4.114,-30
5770:2.4,-1.001,1.435,-1,3.851,-30
5889:2.8,-1,1.073,-1,4.201,-30
5986:4.2,-3.3,1.097,-1,3.96,-30
6179:3.6,0,0.864,-1,4.35,-30
6188:-0.794,-7.001,0.778,-1,4.35,-30
6277:-0.8,-3.6,1.31,-1,4.35,-30
6358:5.987,-3.821,1.516,-1,4.35,-30
6424:8.4,-2.9,1.479,-1,4.35,-30
6459:4.4,-7.5,2.031,-1,4.542,-30
6498:10.2,-6.1,2.214,-1,4.751,-30
6517:10.2,-4.5,2.482,-1,4.751,-30
6550:15.8,0,2.631,-1,4.751,-30
6615:13.8,-4.5,1.993,-1,4.751,-30
6688:8.486,-9.404,1.548,-1,4.751,-30
6737:13.82,-9.374,1.712,-1,4.384,-30
6759:11.6,-0.6,1.459,-1,4.751,-30
6933:9.8,-2.2,1.809,-1,4.751,-30
7025:8.6,5.5,1.803,-1,4.751,-30
7124:6.6,-0.4,1.527,-1,4.751,-30
7200:3.2,2.2,1.695,-1,4.751,-30
7278:3.2,6.5,1.372,-1,4.751,-30
7306:3.2,3.9,1.489,-1,4.751,-30
7344:3.2,-2.2,1.513,-1,4.751,-30
7380:-0.8,1.4,1.508,-1,4.751,-30
7429:-3.4,4.5,1.451,-1,4.751,-30
7504:-2.4,0,1.497,-1,4.12,-30
7633:-4,-4,1.239,-1,4.988,-30
7772:9,-7.4,1.496,-1,4.924,-30
7842:10.841,-7.052,1.419,-1,4.891,-30
7870:9,-5.7,1.934,-1,5.039,-30
7896:15.2,0.6,2.374,-1,4.927,-30
7920:15.2,2.1,2.759,-1,4.815,-30
7971:12.8,-0.5,2.035,-1,3.359,-30
8042:9.8,-4.2,1.565,-1,4.733,-30
8235:9,0.3,1.579,-1,4.644,-30
8315:11.8,-0.4,1.438,-1,4.286,-30
8417:8.6,-3.1,1.358,-1,4.546,-30
8607:2.8,3.4,1.269,-1,4.114,-30
8872:-13.2,0,0.783,-1,4.153,-30
8922:0.599,-2.9,0.37,-1,4.153,-30
8979:6.366,-4.252,0.82,-1,4.153,-30
9085:-4.6,-0.2,1.106,-1,4.252,-30
9162:6.791,-2.921,1.444,-1,4.388,-30
9180:6.797,-1.712,1.408,-1,4.388,-30
9236:3.4,0,1.408,-1,4.388,-30
9407:29.2,-13.6,1.728,-1,3.862,-30
9458:36.4,-9.9,2.306,-1,4.434,-30
9528:34.6,-16.1,2.087,-1,4.499,-30
9573:21.901,-7.927,2.637,-1,4.54,-30
9574:38.6,-10.5,2.637,-1,4.54,-30
9655:38.6,-9,2.386,-1,4.689,-30
9678:37,-12.1,2.034,-1,4.689,-30
9769:18.4,2.1,1.925,-1,4.361,-30
9841:-3.991,3.909,1.584,-1,4.33,-30
9912:-10.575,3.967,1.167,-1,4.299,-30
10015:-4.394,-3.109,1.246,-1,4.254,-30
10078:2.4,0,1.296,-1,4.226,-30
10119:2.599,1.502,1.527,-1,4.226,-30
10194:-0.2,0,1.296,-1,4.226,-30
10399:-10,0,1.031,-1,4.226,-30
10709:-16.394,1.564,0.458,-1,4.307,-30
10768:-4,0,0.393,-1,4.463,-30
10849:3.8,0,0.627,-1,4.463,-30
11013:-12.8,5.7,0.627,-1,4.463,-30
11086:-3.2,0,0.627,-1,4.463,-30
11217:11.4,-5.3,0.842,-1,4.463,-30
11257:11.2,-4.5,0.745,-1,4.041,-30
11312:16.6,-4.5,0.574,-1,4.463,-30
11357:15,-4.1,0.951,-1,4.463,-30
11484:12.6,0.6,1.291,-1,4.463,-30
11789:3.252,0,0.602,-1,4.463,-30
11867:-5,0,1.058,-1,4.463,-30
11911:-1.398,-2.502,1.112,-1,4.463,-30
12033:3.8,0.1,1.349,-1,4.463,-30
12106:1.2,0.1,1.521,-1,4.463,-30
12144:0.6,-1.4,1.521,-1,4.463,-30
12247:5.4,-1.7,1.521,-1,4.463,-30
12304:5.4,-3.3,0.832,-1,4.463,-30
12363:5.4,-4.9,0.728,-1,4.264,-30
12423:9.8,-7.1,0.85,-1,4.027,-30
12492:16.2,-3.8,1.159,-1,4.027,-30
12554:19,-3.8,1.46,-1,4.552,-30
12637:14.4,2.9,1.522,-1,4.432,-30
12716:18.535,-4.958,1.323,-1,3.691,-30
12760:12.314,-4.926,1.263,-1,3.691,-30
12798:17.036,-8.765,1.128,-1,3.691,-30
12840:29.725,-8.529,1.371,-1,3.691,-30
12907:25.6,-6.6,1.952,-1,3.691,-30
12919:25.6,-9.9,1.463,-1,3.292,-30
13202:11.4,-1.5,2.217,-1,4.175,-30
13406:16.2,-4.3,2.308,-1,4.227,-30
13528:15.8,0.3,1.865,-1,4.592,-30
13576:11.2,4.5,1.594,-1,4.159,-30
13589:11.6,5.3,1.357,-1,4.027,-30
13662:6.8,4.4,0.969,-1,3.575,-30
13723:2.6,6,0.783,-1,4.336,-30
13871:-4.2,4.1,0.387,-1,3.252,-30
13893:0,-1,0.603,-1,3.252,-30
13970:-11.4,6.2,0.814,-1,3.252,-30
14136:-12.2,4.4,1.035,-1,3.252,-30
14177:-10,4.4,0.89,-1,3.252,-30
14241:2.199,1.601,0.849,-1,3.252,-30
14344:-2.2,-5.6,0.742,-1,3.252,-30
14599:21.8,-5.9,1.083,-1,3.252,-30
14661:16.034,-9,1.039,-1,3.252,-30
14719:18.412,-8.435,0.972,-1,3.252,-30
14788:19.4,1.2,1.434,-1,3.252,-30
14948:9,0.1,0.994,-1,3.252,-30
15023:11.8,0.6,1.176,-1,3.518,-30
15111:12.4,-1.9,1.432,-1,3.807,-30
15183:11.4,2.9,1.681,-1,3.843,-30
15229:4.8,-1.1,1.433,-1,3.604,-30
15309:8.2,3.2,2.084,-1,4.633,-30
15434:8.4,-0.4,1.608,-1,4.085,-30
15552:-0.6,0,1.084,-1,4.093,-30
15596:15.723,-5.818,1.285,-1,4.268,-30
15623:15.2,-5,1.899,-1,4.406,-30
15649:20.4,-7.2,2.016,-1,4.489,-30
15705:26.789,-1.792,2.468,-1,4.612,-30
15727:27.2,-7.8,2.203,-1,4.812,-30
15765:29.4,-2,2.295,-1,4.094,-30
15837:12.8,1.2,2.092,-1,4.094,-30
15853:13.4,-1.3,1.796,-1,4.094,-30
15943:-1.6,0,0.785,-1,4.094,-30
15963:2,6.9,0.871,-1,4.094,-30
16006:13.6,0,1.514,-1,4.094,-30
16090:-17.8,16.3,0.37,-1,4.094,-30
16141:-21.4,17.2,-0.175,-1,4.094,-30
16210:-16.78,9.508,0.127,-1,3.928,-30
16266:-15.986,2.497,0.779,-1,3.927,-30
16308:-16,0,0.409,-1,4.094,-30
16352:-4.4,0,0.409,-1,4.094,-30
16516:-4.792,2.416,0.604,-1,4.094,-30
16648:1.799,-2.101,0.588,-1,4.094,-30
16756:11.8,0,1.1,-1,4.094,-30
16816:5.758,-6.935,1.086,-1,4.054,-30
17039:32.6,-5.4,1.915,-1,3.579,-30
17110:8.543,-6.674,1.29,-1,3.918,-30
17182:7.596,-1.425,1.206,-1,3.824,-30
17296:-15.6,8.4,0.507,-1,3.837,-30
17348:-22.2,8.6,0.156,-1,4.094,-30
17394:-25.6,8.6,0.421,-1,4.137,-30
17451:-30.2,11.1,0.357,-1,4.892,-30
17559:-38.8,8.6,-0.333,-1,4.884,-30
17596:-30.4,-7.1,-0.322,-1,5.439,-30
17719:-12.2,0,1.545,-1,4.598,-30
17801:-8.8,-0.506,0.836,-1,4.417,-30
17853:8,0,0.648,-1,4.299,-30
17986:13.6,-8.8,1.089,-1,4.299,-30
18171:13.6,-11.1,1.477,-1,4.299,-30
18359:12.4,0.3,1.126,-1,4.299,-30
18420:10.8,2.6,1.191,-1,4.299,-30
18502:7.2,1.6,1.178,-1,4.575,-30
18519:9,0.5,1.338,-1,4.481,-30
18686:5,-0.4,0.779,-1,4.182,-30
18753:4.6,-4.4,0.685,-1,3.759,-30
18785:6,0,0.349,-1,3.759,-30
18894:7.2,0,1.114,-1,3.759,-30
18963:9.96,-5.178,1.209,-1,3.759,-30
19081:29.6,-4.7,2.205,-1,4.155,-30
19201:23.2,-1.9,2.49,-1,4.631,-30
19237:19.2,0,1.556,-1,4.231,-30
19437:8.6,-2.9,1.009,-1,4.14,-30
19669:1.2,1.2,1.104,-1,4.423,-30
19727:0.4,5.4,1.036,-1,4.278,-30
19794:-3.6,0,1.667,-1,4.041,-30
19902:3.2,-1.2,0.761,-1,3.641,-30
20066:10.6,-0.3,1.176,-1,3.854,-30
20273:10.8,0,1.145,-1,3.266,-30
20596:7,-0.1,1.002,-1,3.058,-30
20729:2.6,0,0.523,-1,2.743,-30
21272:-5,-2.1,0.734,-1,2.743,-30
21636:4.2,-0.4,0.654,-1,4.596,-30
22213:3.8,0,1.036,-1,4.596,-30
22389:0.8,5.7,1.036,-1,3.882,-30
22739:-5.6,5.3,1.036,-1,3.882,-30
22869:0.2,-1.6,1.036,-1,3.882,-30
23744:5.8,-4.4,1.217,-1,4.084,-30
24142:11,-6.3,1.8,-1,4.284,-30
24268:3.4,-0.3,1.579,-1,3.893,-30
24495:-3.4,4.9,1.093,-1,3.893,-30
24747:-13.2,4.9,0.691,-1,3.868,-30
24995:-2.8,-5.4,0.729,-1,4.12,-30
25154:23.4,-11.7,1.312,-1,3.97,-30
25442:15.6,-4.2,1.386,-1,3.97,-30
25640:29.2,-12.9,1.99,-1,3.97,-30
25731:25.2,0.4,2.76,-1,4.845,-30
25813:13.4,4.9,2.389,-1,4.353,-30
25876:1.2,9.8,1.972,-1,4.353,-30
25954:-20.6,15.2,0.791,-1,4.04,-30
26015:-30,15.2,-0.534,-1,3.573,-30
26142:-19,10.7,0.03,-1,4.526,-30
26279:-8.6,-3.7,0.318,-1,4.526,-30
26312:1.2,-6.5,0.318,-1,5.242,-30
26531:17.4,-6.5,1.946,-1,3.233,-30
26588:33.2,-11.7,1.946,-1,3.233,-30
26833:28.4,-0.2,2.652,-1,4.186,-30
26937:17.4,8.6,1.742,-1,4.186,-30
27087:3.2,11.8,1.584,-1,3.963,-30
27240:0.8,8.6,0.71,-1,3.623,-30
27296:-10.2,13.3,0.974,-1,4.154,-30
27443:-17.4,10.5,0.483,-1,4.154,-30
27502:-8.6,1.1,0.483,-1,4.154,-30
27648:6,-2.4,0.483,-1,4.154,-30
27749:20.6,-5.8,0.483,-1,4.154,-30
27926:20.4,-7.2,1.631,-1,4.407,-30
28028:11.2,-5.6,1.631,-1,4.407,-30
28338:5.6,1.3,1.631,-1,4.407,-30
28560:-9,8.9,1.631,-1,4.407,-30
28660:-11.4,8.9,0.837,-1,4.14,-30
29046:-2.6,2.7,0.837,-1,4.14,-30
29185:11,-7.7,0.837,-1,4.14,-30
29348:26,-11.3,1.108,-1,4.14,-30
29461:14.8,-0.6,1.378,-1,4.14,-30
29573:9.8,2.7,0.955,-1,4.14,-30
29724:4,4.7,0.955,-1,4.14,-30
29865:-9.2,8.6,0.955,-1,3.555,-30
30073:-21.6,7.7,0.185,-1,4.163,-30
30166:-5,4.3,0.185,-1,3.579,-30
30364:-10.4,9.5,0.71,-1,4.127,-30
30479:-22.4,16.5,0.372,-1,4.127,-30
30666:-13,6.1,0.179,-1,4.127,-30
30747:-4.4,-0.6,0.582,-1,4.225,-30
30855:5.4,-5.3,0.582,-1,4.225,-30
31104:16.8,-5.3,1.121,-1,4.669,-30
31196:33,-9.4,2.278,-1,5.004,-30
31391:24,1.2,2.278,-1,4.432,-30
31471:9.8,4.2,2.083,-1,4.132,-30
31636:-5.4,1.5,1.735,-1,4.132,-30
31838:2,-1.8,1.735,-1,4.132,-30
31962:23,-4,1.735,-1,4.132,-30
32039:13,1.8,2.187,-1,4.597,-30
32191:-3.4,7.5,1.82,-1,4.597,-30
32362:-13.4,12,0.973,-1,3.663,-30
32544:-8.4,6.2,0.973,-1,3.663,-30
32627:-2.8,0.5,0.973,-1,3.663,-30
33169:1.2,-0.6,0.973,-1,3.663,-30
33546:8.2,-2.8,1.163,-1,3.663,-30
34093:13.4,-5.2,1.285,-1,3.663,-30
34351:10,-0.1,1.436,-1,3.864,-30
34543:4.6,6.5,1.436,-1,3.864,-30
34694:-5.2,2.9,0.712,-1,3.864,-30
34868:9.6,-3.5,0.819,-1,3.864,-30
34970:24,-9.3,1.345,-1,4.353,-30
35148:13.8,-0.1,2.202,-1,4.971,-30
35245:4.2,4.4,2.202,-1,4.971,-30
35438:-2,9,1.585,-1,4.385,-30
35601:0.6,1.4,1.585,-1,4.385,-30
35852:6.8,-2.1,1.585,-1,4.385,-30
36330:-6.2,2,1.399,-1,4.385,-30
36593:0.6,-0.4,1.031,-1,4.385,-30
36827:-12.597,8.397,1.27,-1,4.385,-30
36936:-14,9.8,1.242,-1,4.385,-30
37200:-4.8,1.5,0.974,-1,4.385,-30
37598:7.8,-0.4,0.974,-1,4.385,-30
37724:10.4,-4.4,0.974,-1,4.385,-30
37878:15.6,-7.8,1.196,-1,4.385,-30
37983:4.4,3.4,1.581,-1,4.776,-30
38179:-12,5.3,0.995,-1,4.776,-30
38243:-10.2,3.5,0.346,-1,4.563,-30
38431:10.4,-3.3,0.346,-1,4.002,-30
38576:17.2,-7.1,1.049,-1,4.012,-30
38718:27,-8.4,1.914,-1,4.012,-30
38847:4.2,0,1.914,-1,4.012,-30
39053:11,-1.7,1.229,-1,3.812,-30
39311:27.2,-1.7,1.739,-1,3.961,-30
39397:11,-3.6,1.914,-1,4.012,-30
39640:2.8,1.9,1.644,-1,4.012,-30
39882:-0.8,8.1,1.09,-1,4.012,-30
39971:-9.8,3,0.803,-1,4.012,-30
40444:2,-0.4,0.583,-1,3.937,-30
40751:-22.2,5.2,0.44,-1,3.888,-30
41176:-0.8,-2.3,0.44,-1,3.75,-30

View File

@ -211,9 +211,9 @@
"Edit": "编辑",
"Record": "记录",
"More": "更多",
"Remaining": "比赛结束倒计时",
"Close Gate": "关门时间",
"Start Time": "比赛开始时间:",
"Remaining": "比赛结束倒计时:",
"Close Gate": "关门时间:",
"Start Time": "开始时间:",
"Start for Registration": "报名开始时间",
"Deadline for Registration": "报名截止时间",
"WATTS": "功率",
@ -317,8 +317,8 @@
"RIDERS": "骑行人数",
"Current ride distance too short to save.": "当前骑行距离过短无法保存",
"NO RIDERS": "暂无用户",
"Current Version:": "当前版本",
"Latest Version:": "最新版本",
"Current Version:": "当前版本:",
"Latest Version:": "最新版本:",
"Confirm participation": "确认参加活动",
"Light up China Share": "快来和我一起点亮中国吧!",
"Copy Success": "复制成功",
@ -379,7 +379,48 @@
"Delete Your Route": "删除您的线路",
"Are you sure you want to delete this route?": "你确定要删除这条线路吗?",
"DELETE ACCOUNT": "注销账号",
"BATTLE": "对战"
"Download": "下载",
"BATTLE": "对战",
"Please enter room's name/id": "请输入房间名称或id",
"New Rooms": "新的房间",
"Cycing": "骑行中",
"Result": "结果",
"Owner": "房主",
"Choose Route": "选择线路",
"STEP1": "步骤一",
"STEP2": "步骤二",
"Room Info": "房间信息",
"Create": "创建",
"Please enter room name": "请输入房间名称",
"Please enter room password(optional)": "请输入房间密码(可选)",
"Invite Friend": "邀请好友",
"ME": "我",
"Room ID": "房间号",
"Room Name": "房间名",
"Close Time": "关门时间",
"Members": "房间人数",
"Battle In Progress": "对战进行中",
"Battle Time:": "进行时间:",
"Leave": "离开",
"BEST": "最佳",
"In History": "历史成绩",
"Scecret Room": "密码房间",
"Please enter room password": "请输入房间密码",
"Join in": "加入房间",
"'s Room": "的房间",
"Ask To Leave": "踢出房间",
"Week": "周",
"The Room Is Closed": "对战已结束",
"Finish Time": "结束时间:",
"copy to clipboard successfully!": "房间信息成功复制到剪切板!",
"Ready": "准备",
"View": "预览",
"Capture": "截图",
"Suit": "套装",
"Helmet": "头盔",
"Uniform": "上衣",
"Skin": "皮肤",
"Bicycle": "自行车"
},
"en": {
"HOT ROUTES": "HOT ROUTES",
@ -754,6 +795,47 @@
"Delete Your Route": "Delete Your Route",
"Are you sure you want to delete this route?": "Are you sure you want to delete this route?",
"DELETE ACCOUNT": "DELETE ACCOUNT",
"BATTLE": "BATTLE"
"Download": "Download",
"BATTLE": "BATTLE",
"Please enter room's name/id": "Please enter room's name/id",
"New Rooms": "New Rooms",
"Cycing": "Cycing",
"Result": "Result",
"Owner": "Owner",
"Choose Route": "Choose Route",
"STEP1": "STEP1",
"STEP2": "STEP2",
"Room Info": "Room Info",
"Create": "Create",
"Please enter room name": "Please enter room name",
"Please enter room password(optional)": "Please enter room password(optional)",
"Invite Friend": "Invite Friend",
"ME": "ME",
"Room ID": "Room ID",
"Room Name": "Room Name",
"Close Time": "Close Time",
"Members": "Members",
"Battle In Progress": "Battle In Progress",
"Leave": "Leave",
"BEST": "BEST",
"In History": "In History",
"Battle Time:": "Battle Time:",
"Scecret Room": "Scecret Room",
"Please enter room password": "Please enter room password",
"Join in": "Join in",
"'s Room": "'s Room",
"Ask To Leave": "Ask To Leave",
"Week": "Week",
"The Room Is Closed": "The Room Is Closed",
"Finish Time": "Finish Time",
"copy to clipboard successfully!": "copy to clipboard successfully!",
"Ready": "Ready",
"View": "View",
"Capture": "Capture",
"Suit": "Suit",
"Helmet": "Helmet",
"Uniform": "Uniform",
"Skin": "Skin",
"Bicycle": "Bicycle"
}
}

File diff suppressed because it is too large Load Diff

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: 7804f812935e5bf4cad3189131bfb6f1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -25,9 +25,9 @@ namespace Assets.Scripts.Apis
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public MapDataModel GetData(int id)
public MapDataModel GetData(int id,int m=20)
{
return Newtonsoft.Json.JsonConvert.DeserializeObject<MapDataModel>(Get("Map/GetData?routeId="+id));
return Newtonsoft.Json.JsonConvert.DeserializeObject<MapDataModel>(Get($"Map/GetData?routeId={id}&m={m}"));
}
/// <summary>

View File

@ -147,12 +147,15 @@ namespace Assets.Scripts.Apis.Models
foreach (var item in list)
{
var user = userList.Where(c => c.Id == item.UserId).FirstOrDefault();
item.WxHeadImage = user?.HeadImage;
item.FTP = user.FTP;
item.Weight = user.Weight;
item.Name = user.Name;
item.Sex = user.Sex;
item.Country = user.Country;
if (user != null)
{
item.WxHeadImage = user.HeadImage;
item.FTP = user.FTP;
item.Weight = user.Weight;
item.Name = user.Name;
item.Sex = user.Sex;
item.Country = user.Country;
}
}
}
return list;
@ -167,6 +170,11 @@ namespace Assets.Scripts.Apis.Models
public int Rank { get; set; }
public string Country { get; set; }
public string TotalTime { get; set; }
public string Power { get; set; }
public string WeightKG{ get; set; }
public string Gap { get; set; }
public string Source { get; set; }
public bool IsDNF { get; set; }
public double? HeartRate { get; set; }
}
}

View File

@ -124,5 +124,6 @@ namespace Assets.Scripts.Apis.Models
public string Url { get; set; }
public string FileName { get; set; }
public int FileSize { get; set; }
public string ARConfig { get; set; }
}
}

View File

@ -181,9 +181,7 @@ public class MainController : BaseScene
var m = msgs[selectIndex];
if (msgIndex >= 5) //
{
//msgIndex = 0;
Sequence se = DOTween.Sequence();
//m.transform.DOLocalMoveY(m.transform.localPosition.y - 38, 0.5f);
foreach (var item in msgs)
{
se.Join(item.transform.DOLocalMoveY(item.transform.localPosition.y - moveOffset, 0.5f));
@ -544,6 +542,8 @@ public class MainController : BaseScene
var userName = arr[1];
var roomName = arr[2];
var roomId = Convert.ToInt32(arr[3]);
if (userName.Equals(App.CurrentUser.Nickname))
return;
var content = $"{userName} {App.GetLocalString("invite you to join in")} {roomName} , {App.GetLocalString("are you accept the invitation?")}";
UIManager.ShowConfirm(App.GetLocalString("Invitition"), content, () => {
UIManager.CloseConfirm();

View File

@ -167,16 +167,21 @@ namespace Assets.Scenes.Ride.Scripts
public void setUserId(int userId,string WxHeadImg)
{
_userId = userId;
var isself = userId == cyclingController.currentPlayer.UserId && !cyclingController.isWatch;
bool isself;
if (cyclingController != null)
{
isself = userId == cyclingController.currentPlayer.UserId && !cyclingController.isWatch;
}
else
{
isself = userId == App.CurrentUser.Id;
}
//头像根据是否是自己显示
if (isself)
{
Utils.DisplayImage(Head, WxHeadImg, true);
}
Head.gameObject.SetActive(isself);
//边框样式
var color = isself ? WHITE : TRANSPARENT;
//outline.effectColor = color;
}
}
}

View File

@ -1,10 +1,9 @@
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
using Assets.Scripts;
using Assets.Scripts.Apis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
{
@ -14,7 +13,9 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
/// 第一个到终点的时间
/// </summary>
public DateTime? FirstEndTime { get; private set; }
public int? FirstUserId { get; private set; }
public GameRoomModel GameRoom { get; private set; }
public List<RoomRankItem> mapWorkoutRecordRankings = new List<RoomRankItem>();
public GameModel(Route route,RouteResultParam param)
: base(route, CyclingModel.Single)
@ -87,15 +88,69 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
protected override void BeforeRunAfterPakcData()
{
base.BeforeRunAfterPakcData();
var userList = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,recorderData.RoomId).Where(c=>c.IsSelf == false).OrderByDescending(u => u.Saved).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance);
int index = 0;
List<CompetitionRankingSortModel> sort = new List<CompetitionRankingSortModel>();
var userList = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,recorderData.RoomId).OrderByDescending(u => u.Saved).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance);
if (userList.Any())
{
//计算关门时间
foreach (var item in userList)
{
if(!FirstEndTime.HasValue && item.IsCompleted)
if (!FirstEndTime.HasValue && item.IsCompleted)
{
FirstEndTime = Now.AddMinutes(GameRoom.CloseTime);
FirstUserId = item.Id;
}
index++;
double near = Math.Round(item.EndDistance - currentDistance, 2); //Math.Round(TurfHelper.GetDistances(point, item.Point), 2);
if (item.IsCompleted)
{
sort.Add(new CompetitionRankingSortModel
{
Index = index,
Name = item.Name,
Near = near,
KGWeight = Math.Round(item.WeightKg, 2).ToString(),
Speed = Math.Round(item.Speed, 1),
CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }",
UserId = item.Id,
IsSelf = item.IsSelf,
Headimage = item.HeadImage,
CreateTime = DateTime.MaxValue,
EndDistance = item.EndDistance,
IsCompleted = item.IsCompleted,
});
}
}
#region
var results = new List<CompetitionResultModel>();
if (recorderData.IsCompleted || recorderData.Saved)
{
var users1 = userList.Where(d => d.IsCompleted || d.Saved);
if ((users1.Any() && users1.Any(d => mapWorkoutRecordRankings.All(u => u.UserId != d.Id)))
|| mapWorkoutRecordRankings.All(u => u.UserId != recorderData.BelongUserId))
{
var result = ConfigHelper.GameRoomApi.GetDetail(GameRoom.RoomId);
if (result.result)
{
mapWorkoutRecordRankings = result.data.RoomRankingList;
}
}
foreach (var ranking in mapWorkoutRecordRankings)
{
var needUpdate = sort.Where(c => c.UserId == ranking.UserId).FirstOrDefault();
if (needUpdate != null)
{
ranking.WeightKG = needUpdate.KGWeight;
needUpdate.Index = ranking.Rank;
needUpdate.IsCompleted = true;
}
}
}
#endregion
}
}
}

View File

@ -1,5 +1,6 @@
using Assets.Scenes.Ride.Scripts;
using Assets.Scripts.Apis.Models;
using Assets.Scenes.Ride.Scripts.Model;
using DG.Tweening;
using Mapbox.Utils;
using System;
@ -85,45 +86,21 @@ namespace Assets.Scripts.Scenes.VideoRide
//人物移动速度
public int moveSpeed = 2;
void setHeroState(int newState)
{
//根据当前人物方向与上一次备份的方向计算出模型旋转的角度
Vector3 transformValue = new Vector3();
//模型移动的位置数值
switch (newState)
{
case HERO_UP:
transformValue = Vector3.forward * Time.deltaTime;
break;
case HERO_DOWN:
transformValue = (-Vector3.forward) * Time.deltaTime;
break;
case HERO_LEFT:
transformValue = Vector3.left * Time.deltaTime;
break;
case HERO_RIGHT:
transformValue = (-Vector3.left) * Time.deltaTime;
break;
}
//移动人物
transform.Translate(transformValue * moveSpeed, Space.World);
state = newState;
}
protected virtual void Update()
{
timer -= Time.deltaTime;
CreateHeadImage();
Turn();
while (timer <= 0)
{
try
{
ComputeNextSlope();//计算下一个坡度
ComputePlayer();//计算人物属性
if (GetStart())
{
ticks++;
ComputePlayer();//计算人物属性
Forward();
ComputeRecord();
ComputeVideo();
@ -223,14 +200,14 @@ namespace Assets.Scripts.Scenes.VideoRide
speed = 0;
distance = 0;
}
//一旦有功率就开始骑行、否则暂停
if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit() && manager.cyclingModel == Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single)
{
if (power > 0)
{
manager.StartGame();
}
}
////一旦有功率就开始骑行、否则暂停
//if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit() && manager.cyclingModel == CyclingModel.Single)
//{
// if (power > 0)
// {
// manager.StartGame();
// }
//}
}
Vector3 current { get; set; }
Vector3 forward { get; set; }
@ -264,8 +241,8 @@ namespace Assets.Scripts.Scenes.VideoRide
}
if (manager.CurrentPlayer != null && manager.CurrentPlayer.UserId != UserId)
return;
manager.Play(ratio);
//ratio = (float)Math.Round(ratio, 1);
manager.Play(totalDistance);
if (ratio > 1)
{
@ -303,6 +280,7 @@ namespace Assets.Scripts.Scenes.VideoRide
decimal right = (decimal)sumDistance;
if (left <= right)
{
Debug.Log($"当前索引{i}");
currentIndex = i;
break;
}

View File

@ -119,9 +119,9 @@ namespace Assets.Scripts.Scenes.VideoRide
var screenWidth = UnityEngine.Screen.width;
var screenHeight = UnityEngine.Screen.height;
var sw_world = _minicamera.ViewportToWorldPoint(new Vector3(0.25f, 0.1f, 160));
var sw_world = _minicamera.ViewportToWorldPoint(new Vector3(0f, 0f, 160));
var sw = _map.WorldToGeoPosition(sw_world);
var ne_world = _minicamera.ViewportToWorldPoint(new Vector3(0.75f, 0.9f, 90));
var ne_world = _minicamera.ViewportToWorldPoint(new Vector3(1f, 1f, 90));
var ne = _map.WorldToGeoPosition(ne_world);
return new Vector2dBounds(new Vector2d(sw.x, sw.y), new Vector2d(ne.x, ne.y));

View File

@ -24,7 +24,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//var left = totalDistance % mapData.TotalDistance;
//var right = current.totalDistance % mapData.TotalDistance;
//diff = (left - right) * 1000;
if (Math.Abs(diff) > 150)
if (Math.Abs(diff) > 100)
{
Destroy();
}

View File

@ -99,7 +99,6 @@ namespace Assets.Scripts.Scenes.VideoRide
DeviceCache.Init(PFConstants.DeviceCacheFolder);
var check = CheckAnt();//初始化蓝牙设备
recordId = Guid.NewGuid().ToString();
MockDirection();
infoPanel = Resources.Load<GameObject>("UI/Prefab/AR/VideoPlayerHead");
OnlinePlayer = Resources.Load<GameObject>("UI/Prefab/AR/OnlineVideoPlayer");
OnlinePlayer_NV = Resources.Load<GameObject>("UI/Prefab/AR/OnlineVideoPlayer_NV");
@ -115,6 +114,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//获取路书
GetMapRoute();
GetMapData();
MockDirection();
route = new Route(mapData, mapRoute);
if (selectParamModel == null)
@ -365,8 +365,7 @@ namespace Assets.Scripts.Scenes.VideoRide
private void MockDirection()
{
var text = Resources.Load<TextAsset>("UI/direction");
var arr = text.text.Replace("\r\n", " ").Split(' ');
var arr = mapRoute.ARConfig.Replace("\r\n", " ").Split(' ');
foreach (var item in arr)
{
if (string.IsNullOrEmpty(item))
@ -390,12 +389,6 @@ namespace Assets.Scripts.Scenes.VideoRide
break;
}
}
//模拟登录
private async Task Login()
{
var result = await new UserApi().Login("anyway2019@163.com", "123456", "");
App.CurrentUser = result.data;
}
//开始游戏
public void StartGame()
{
@ -428,33 +421,40 @@ namespace Assets.Scripts.Scenes.VideoRide
{
return isStop;
}
double preframe = 0;
//设置当前视频播放速度
public void Play(float playbackRate = 1f)
public void Play(double totalDistance)
{
if (!isStart)
return;
if (mediaPlayer != null)
{
mediaPlayer.PlaybackRate = playbackRate;
mediaPlayer.Play();
//mediaPlayer.PlaybackRate = totalDistance;
//if (!mediaPlayer.Control.IsPlaying())
// mediaPlayer.Play();
//var frame = DistanceToFrames(totalDistance);
var frame = DistanceToTimers(totalDistance);
StartCoroutine(DOSeekToFrame(preframe, frame - preframe));
preframe = frame;
}
if (startTime == null)
{
startTime = UIManager.Now.GetDateTime();
}
isStart = true;
}
//暂停
public void Pause()
{
isStart = !isStart;
isStop = !isStop;
if (isStop)
{
mediaPlayer?.Pause();
}
else
{
mediaPlayer?.Play();
}
//if (isStop)
//{
// mediaPlayer?.Pause();
//}
//else
//{
// mediaPlayer?.Play();
//}
}
//退出骑行
public void Quit()
@ -477,6 +477,13 @@ namespace Assets.Scripts.Scenes.VideoRide
distance %= TotalDistance;
return TotalDistance > 0 ? Convert.ToInt32(frames / TotalDistance * distance) : 0;
}
public double DistanceToTimers(double distance)
{
var timers = mediaPlayer.Info.GetDuration();
var TotalDistance = route?.TotalDistance ?? 0;
distance %= TotalDistance;
return TotalDistance > 0 ? timers / TotalDistance * distance : 0;
}
public int GetFrameOffSet(double distance)
{
var currentFrame = GetCurrentFrame();
@ -492,6 +499,21 @@ namespace Assets.Scripts.Scenes.VideoRide
{
mediaPlayer?.Control.SeekToFrame(seq);
}
double currentFrame = 0d;
private IEnumerator DOSeekToFrame(double preFrame, double offset)
{
float t = 0;
while (t < 1)
{
t += Time.deltaTime;
var result = preFrame + offset * t;
currentFrame = result;
mediaPlayer?.Control.SeekFast(result);
yield return new WaitForEndOfFrame();
}
}
//获取AR骑行配置信息
//获取路书gps信息
public MapDataModel GetMapData()
{
@ -499,7 +521,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var mapApi = ConfigHelper.mapApi;
int routeId = App.RouteIdParam;
mapData = mapApi.GetData(routeId);//获取路书地理数据
mapData = mapApi.GetData(routeId,20);//获取路书地理数据
}
return mapData;
}

View File

@ -106,7 +106,7 @@ namespace Assets.Scripts.Scenes.VideoRide
download = transform.Find("Panel/Download").gameObject;
watch = transform.Find("Panel/Watch").gameObject;
UIManager.AddEvent(watch, UnityEngine.EventSystems.EventTriggerType.PointerClick, WatchHandler);
canvasGroup = transform.GetComponent<CanvasGroup>();
@ -117,12 +117,14 @@ namespace Assets.Scripts.Scenes.VideoRide
if (File.Exists(filepath))
{
watch.SetActive(true);
slider.value = 100;
download.gameObject.SetActive(false);
manager.SetMedia(filepath);
}
else
{
watch.SetActive(false);
//检查本地文件是否存在 如果存在直接设置mediaPlayer 否则显示下载按钮
UIManager.AddEvent(download.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Download);
}
@ -200,7 +202,7 @@ namespace Assets.Scripts.Scenes.VideoRide
#endregion
//显示线路背景图
DrawMapRouteAsync(route.Id);
//查询排行榜
//查询排行榜 TODO优化
var list = ConfigHelper.mapApi.GetRouteRanking(route.Id, "1", 0, 10000, "");
if (list.result)
{
@ -212,9 +214,10 @@ namespace Assets.Scripts.Scenes.VideoRide
var ui = manager.GetCanvasTransform();
canvasGroup.DOFade(0, 1).onComplete += () => {
gameObject.SetActive(false);
manager.StartGame();
manager.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single);
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
ui.Find("Panel").gameObject.SetActive(true);
//ui.Find("Panel").gameObject.SetActive(true);
};
}
@ -236,10 +239,14 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var path = PFConstants.VideoFolder;
var filepath = path + $"/{route.FileName}";
var text = rideNow.GetComponentInChildren<Text>();
StartCoroutine(Utils.DownloadVideo(route.FileName, route.Url
, (p, req) =>
{
rideNow.enabled = false;
rideNow.interactable = false;
slider.value = (float)Math.Round(p * 100, 2);
text.text = slider.value.ToString()+"%";
request = req;
download.SetActive(false);
}
@ -250,6 +257,10 @@ namespace Assets.Scripts.Scenes.VideoRide
}
else
{
rideNow.enabled = true;
rideNow.interactable = true;
text.text = App.GetLocalString("Ride Now");
watch.SetActive(true);
slider.value = 100;
manager.SetMedia(filepath);
}

View File

@ -12,6 +12,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
public double EndDistance => totalDistance;
protected Transform LightTrans { get; set; }
private bool isSingle = true;
protected override void Start()
{
base.Start();
@ -42,7 +43,11 @@ namespace Assets.Scripts.Scenes.VideoRide
public void Complete()
{
start = false;
manager.Save(totalDistance);
var uimanager= FindObjectOfType<VideoUIManager>();
if (uimanager!= null)
{
uimanager.SaveAndShowResult();
}
}
protected override void ComputeAnimator()
{
@ -67,11 +72,11 @@ namespace Assets.Scripts.Scenes.VideoRide
heartRate = manager.UpDateHeart();
power = manager.UpdatePower();
cadance = manager.UpdateCadence();
//#if UNITY_EDITOR
power = 100;
#if UNITY_EDITOR
power = 280;
cadance = 70;
heartRate = 160;
//#endif
#endif
weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight;
wkg = Math.Round(power / weight, 2);
@ -81,13 +86,15 @@ namespace Assets.Scripts.Scenes.VideoRide
//发送阻力
manager.TrackResistance(currentSlope);
base.ComputePlayer();
//比人先完成触发关门时间
HandleForGameRoom();
}
private bool gameRoomHandled { get; set; }
//房间倒计时保存
private void HandleForGameRoom()
{
var model = manager.cyclingController as GameModel;
if (model != null && model.FirstEndTime.HasValue && !gameRoomHandled)
if (model != null && model.FirstEndTime.HasValue && !gameRoomHandled && App.CurrentUser.Id != model.FirstUserId)
{
gameRoomHandled = true;
var gap = model.FirstEndTime.Value - UIManager.Now.GetDateTime();
@ -96,13 +103,14 @@ namespace Assets.Scripts.Scenes.VideoRide
Upload();
var uiManager = FindObjectOfType<VideoUIManager>();
uiManager.ShowResultPanel();
});
},true);
}
}
//控制视频播放速度
protected override void ComputeVideo()
{
base.ComputeVideo();
//单人骑行到终点自动暂停
}
protected override void ComputeRecord()
@ -116,7 +124,7 @@ namespace Assets.Scripts.Scenes.VideoRide
Ticks = ticks,
_Power = power,
_Speed = speed,
_Distance = totalDistance,//totalDistance > mapData.TotalDistance ? mapData.TotalDistance : totalDistance,
_Distance = totalDistance > mapData.TotalDistance ? mapData.TotalDistance : totalDistance,
_Cadence = cadance,
_HeartRate = heartRate,
_Lat = currentlatLon.x,
@ -124,16 +132,20 @@ namespace Assets.Scripts.Scenes.VideoRide
_TotalClimb = totalClimb,
_FrameRate = manager.GetCurrentFrame()
};
var preDistance = targetData._Distance - distance;//totalDistance >= mapData.TotalDistance ? targetData._Distance : targetData._Distance - distance;
var preDistance = totalDistance >= mapData.TotalDistance ? targetData._Distance : targetData._Distance - distance;
if (!isSingle)
{
preDistance = targetData._Distance - distance;
}
recorderData.PreDistance = Math.Round(preDistance, 6, MidpointRounding.AwayFromZero);
recorderData.EndDistance = Math.Round(targetData._Distance, 6, MidpointRounding.AwayFromZero);
recorderData.RiderDatas.Add(targetData);
//默认启用多圈
//if (totalDistance >= mapData.TotalDistance)
//{
// start = false;
// manager.Save(totalDistance);
//}
if (isSingle && totalDistance >= mapData.TotalDistance)
{
Complete();
}
}
protected override void Forward()

View File

@ -5,6 +5,7 @@ using UnityEngine.EventSystems;
using UnityEngine.UI;
using DG.Tweening;
using UnityEngine.SceneManagement;
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
namespace Assets.Scripts.Scenes.VideoRide
{
@ -43,6 +44,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//modal
GameObject settingPanel { get; set; }
GameObject resultPanel { get; set; }
GameObject gameRoomResultPanel { get; set; }
//ftp
GameObject ftpPanel { get; set; }
@ -136,6 +138,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//modal
settingPanel = transform.Find("Panel/SettingPanel").gameObject;
resultPanel = transform.Find("Panel/ResultPanel").gameObject;
gameRoomResultPanel = transform.Find("Panel/GameRoomResult").gameObject;
//
explosive = transform.Find("Panel/Explosive").gameObject;
//toolbar 事件注册
@ -225,6 +228,25 @@ namespace Assets.Scripts.Scenes.VideoRide
videoResultScript.InjectController(manager);
videoResultScript.SetDataSource(manager.cyclingController.recorderData);
}
public void SaveAndShowResult()
{
videoPlayer = FindObjectOfType<VideoPlayer>();
videoPlayer?.Upload();
//show result
if (manager.cyclingController is GameModel)
{
gameRoomResultPanel.SetActive(true);
gameRoomResultPanel.transform.SetAsLastSibling();
}
else
{
resultPanel.SetActive(true);
resultPanel.transform.SetAsLastSibling();
var videoResultScript = resultPanel.GetComponent<VideoResultScript>();
videoResultScript.InjectController(manager);
videoResultScript.SetDataSource(manager.cyclingController.recorderData);
}
}
private void QuitClick(BaseEventData e)
{
if (manager._aRMode == VideoGameManager.ARMode.RIDE)
@ -233,15 +255,8 @@ namespace Assets.Scripts.Scenes.VideoRide
UIManager.ShowConfirm("Quit", "Do you want to keep the record?",
() =>
{
videoPlayer = FindObjectOfType<VideoPlayer>();
videoPlayer?.Upload();
SaveAndShowResult();
UIManager.CloseConfirm();
//show result
resultPanel.SetActive(true);
resultPanel.transform.SetAsLastSibling();
var videoResultScript = resultPanel.GetComponent<VideoResultScript>();
videoResultScript.InjectController(manager);
videoResultScript.SetDataSource(manager.cyclingController.recorderData);
},
2,
() =>

View File

@ -67,6 +67,14 @@ class GameRoomDownLoad : MonoBehaviour
});
}
private void Update()
{
if (!string.IsNullOrEmpty(FileName) && Loom.DownLoadTaskList.ContainsKey(FileName))
{
processing(Loom.DownLoadTaskList[FileName]);
}
}
public void Init(int Id,string fileName,string url, GameRoomListController gameRoomListController)
{
RoomId = Id;
@ -74,6 +82,12 @@ class GameRoomDownLoad : MonoBehaviour
FileUrl = url;
manager = gameRoomListController;
}
public void ComeIntoStep2(string fileName)
{
FileName = fileName;
step2.SetActive(true);
step3.SetActive(false);
}
private void Reset()
{
@ -86,6 +100,18 @@ class GameRoomDownLoad : MonoBehaviour
Reset();
gameObject.SetActive(false);
}
private void processing(float p)
{
downloadSlider.value = p;
if (Loom.DownLoadTaskList.ContainsKey(FileName))
{
Loom.DownLoadTaskList[FileName] = p;
}
else
{
Loom.DownLoadTaskList.Add(FileName, p);
}
}
private void DownloadClick(BaseEventData baseEventData)
{
@ -105,16 +131,8 @@ class GameRoomDownLoad : MonoBehaviour
Loom.Current.StartCoroutine(Utils.DownloadVideo(fileName, url
, (p, req) =>
{
downloadSlider.value = p;
currentTask.UpdateProcess(p);
if (Loom.DownLoadTaskList.ContainsKey(FileName))
{
Loom.DownLoadTaskList[FileName] = p;
}
else
{
Loom.DownLoadTaskList.Add(FileName, p);
}
processing(p);
}
, (p) =>
{

View File

@ -25,6 +25,7 @@ class GameRoomDownloadTask : MonoBehaviour
UIManager.AddEvent(btn, EventTriggerType.PointerClick, (e) =>
{
modal.SetActive(true);
modal.GetComponent<GameRoomDownLoad>().ComeIntoStep2(FileName);
transform.parent.parent.parent.gameObject.SetActive(false);
});
}

View File

@ -105,7 +105,7 @@ public class GameRoomMapItem : MonoBehaviour, IPointerExitHandler, IPointerEnter
if (gameObject != null)
{
slider.value = process;
ShowOutLine();
Ride();
transform.Find("DownLoadModal").gameObject.SetActive(false);
}
}
@ -163,7 +163,7 @@ public class GameRoomMapItem : MonoBehaviour, IPointerExitHandler, IPointerEnter
var fileName = map.FileName;
var path = PFConstants.VideoFolder;
var filepath = path + "/" + fileName;
//if ((map.EnableAR && !File.Exists(filepath) )|| !map.EnableAR)
if ((map.EnableAR && File.Exists(filepath) )|| !map.EnableAR)
{
var list = FindObjectsOfType<GameRoomMapItem>();
foreach (var item in list)

View File

@ -43,20 +43,19 @@ class GameRoomPlayerPanel : MonoBehaviour
UIManager.AddEvent(gameObject, EventTriggerType.PointerClick, (e) =>
{
if (App.gameRoomDetail.UserId != App.CurrentUser.Id)
if (App.gameRoomDetail.UserId == UserId)
return;
kickModal.SetActive(true);
});
UIManager.AddEvent(cancelBtn, EventTriggerType.PointerClick, (e) =>
{
if (App.gameRoomDetail.UserId != App.CurrentUser.Id)
return;
kickModal.SetActive(false);
});
UIManager.AddEvent(kickBtn, EventTriggerType.PointerClick, (e) =>
{
if (App.gameRoomDetail.UserId != App.CurrentUser.Id)
return;
kickModal.SetActive(false);
MapUDPService.SendGameRoomKick(App.gameRoomDetail.RoomId, UserId, App.CurrentUser.Id);
});
}

View File

@ -0,0 +1,194 @@
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
using Assets.Scripts;
using Assets.Scripts.UI.UIEffect;
using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using Assets.Scenes.Ride.Scripts;
using Assets.Scripts.Scenes.VideoRide;
using System;
public class GameRoomResult : MonoBehaviour
{
VideoGameManager manager;
RawImage Head;
Text Ranking;
Text Timer;
GameObject Mine { get; set; }
GameObject TitleImage { get; set; }
GameObject WatchTitle { get; set; }
GameObject RankingPanel { get; set; }
GameObject ShareButton { get; set; }
GameObject ToolBarPanel { get; set; }
GameObject WeChatButton { get; set; }
GameObject WeChatGpButton { get; set; }
RawImage TopHead { get; set; }
RawImage SecondHead { get; set; }
RawImage ThirdHead { get; set; }
Image Top { get; set; }
Sprite SpriteTop { get; set; }
Sprite SpriteSecond { get; set; }
Sprite SpriteThrid { get; set; }
Text RankingTitle { get; set; }
Text TimerTitle { get; set; }
Text CloseTime { get; set; }
Text CloseTitle { get; set; }
private void Awake()
{
manager = FindObjectOfType<VideoGameManager>();
var closeBtn = transform.Find("Close").gameObject;
Head = transform.Find("Mine/Head").GetComponent<RawImage>();
Ranking = transform.Find("Mine/Ranking").GetComponent<Text>();
RankingTitle = transform.Find("Mine/RankingTitle").GetComponent<Text>();
TimerTitle = transform.Find("Mine/TimerTitle").GetComponent<Text>();
Timer = transform.Find("Mine/Timer").GetComponent<Text>();
Top = transform.Find("Mine/TOP").GetComponent<Image>();
Mine = transform.Find("Mine").gameObject;
RankingPanel = transform.Find("Ranking").gameObject;
TopHead = transform.Find("Ranking/TopHead").GetComponent<RawImage>();
SecondHead = transform.Find("Ranking/SecondHead").GetComponent<RawImage>();
ThirdHead = transform.Find("Ranking/ThirdHead").GetComponent<RawImage>();
TitleImage = transform.Find("TitleImage").gameObject;
WatchTitle = transform.Find("WatchTitle").gameObject;
CloseTitle = transform.Find("CloseTitle").GetComponent<Text>();
CloseTime = transform.Find("CloseTime").GetComponent<Text>();
#if UNITY_IOS || UNITY_ANDROID
ShareButton = transform.Find("ShareButton").gameObject;
ToolBarPanel = transform.Find("ToolBarPanel").gameObject;
WeChatButton = transform.Find("ToolBarPanel/WeChatButton").gameObject;
WeChatGpButton = transform.Find("ToolBarPanel/GoogleButton").gameObject;
UIManager.AddEvent(WeChatButton, UnityEngine.EventSystems.EventTriggerType.PointerClick, ShareWechat);
UIManager.AddEvent(WeChatGpButton, UnityEngine.EventSystems.EventTriggerType.PointerClick, ShareWechatGp);
var fbButton = transform.Find("ToolBarPanel/FaceBookButton").gameObject;
UIManager.AddEvent(fbButton, EventTriggerType.PointerClick, shareFb);
#endif
SpriteTop = Resources.Load<Sprite>("Images/Ride/Match/top-1");
SpriteSecond = Resources.Load<Sprite>("Images/Ride/Match/top-2");
SpriteThrid = Resources.Load<Sprite>("Images/Ride/Match/top-3");
UIManager.AddEvent(closeBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, Close);
}
float time = 1;
private void Update()
{
time -= Time.deltaTime;
while (time < 0)
{
Refresh();
time += 1;
}
}
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 WHITE = new Color(1f, 1f, 1f);
public void Refresh()
{
if (manager.cyclingController is GameModel model)
{
if (model == null)
return;
var list = model.mapWorkoutRecordRankings;
if (list == null) return;
var parent = transform.Find("ScrollView/Viewport/Content");
Mine.SetActive(true);
RankingPanel.SetActive(false);
TitleImage.SetActive(true);
WatchTitle.SetActive(false);
if (model.FirstEndTime.HasValue)
{
var gap = model.FirstEndTime.Value - UIManager.Now.GetDateTime();
var seconds = (int)Math.Floor(gap.TotalSeconds);
CloseTime.text = Helper.FormatTicks(seconds);
CloseTitle.gameObject.SetActive(true);
CloseTime.gameObject.SetActive(true);
}
//当前用户排名
var currentRanking = list.Where(c => c.UserId == manager.CurrentPlayer.UserId).FirstOrDefault();
if (currentRanking != null)
{
Utils.DisplayImage(Head, currentRanking.WxHeadImg, true);
Ranking.text = currentRanking.Rank.ToString().PadLeft(3, '0');
Timer.text = currentRanking.TotalTime;
var uigradient = Mine.transform.GetComponent<UIGradient>();
if (currentRanking.Rank <= 3)
{
TimerTitle.color = WHITE;
RankingTitle.color = WHITE;
}
if (currentRanking.Rank == 1)
{
uigradient.color1 = RED;
uigradient.color2 = SHALLOW_RED;
Top.sprite = SpriteTop;
Top.gameObject.SetActive(true);
}
if (currentRanking.Rank == 2)
{
uigradient.color1 = PURPLE;
uigradient.color2 = SHALLOW_PURPLE;
Top.sprite = SpriteSecond;
Top.gameObject.SetActive(true);
}
if (currentRanking.Rank == 3)
{
uigradient.color1 = BLUE;
uigradient.color2 = SHALLOW_BLUE;
Top.sprite = SpriteThrid;
Top.gameObject.SetActive(true);
}
}
//排名列表
var rankingList = FindObjectsOfType<FinalRankingItemScript>();
foreach (var item in list)
{
var finalRankingItemScript = rankingList.Where(c => c.UserId == item.UserId).FirstOrDefault();
//没有就创建
if (finalRankingItemScript == null)
{
#if UNITY_IOS || UNITY_ANDROID
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/FinalRankingItem"), parent);
#else
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
#endif
finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
}
//有就更新
finalRankingItemScript.setGap(item.Gap);
finalRankingItemScript.setSource(item.Source);
finalRankingItemScript.setUserId(item.UserId, item.WxHeadImg);
finalRankingItemScript.setRanking(item.Rank);
finalRankingItemScript.setHeartRate(item.HeartRate);
finalRankingItemScript.setName(item.NickName);
finalRankingItemScript.setPower(item.Power);
finalRankingItemScript.setRatio(item.WeightKG);
finalRankingItemScript.setTimer(item.TotalTime);
finalRankingItemScript.transform.SetSiblingIndex(item.Rank);
}
}
}
private void Close(BaseEventData baseEventData)
{
this.gameObject.SetActive(false);
this.Destroy();
SceneManager.LoadScene("MainScene");
}
}

View File

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

View File

@ -1,4 +1,5 @@
using Assets.Scripts.Apis.Models;
using Assets.Scenes.Ride.Scripts;
using Assets.Scripts.Apis.Models;
using System;
using UnityEngine;
using UnityEngine.UI;
@ -6,6 +7,7 @@ using UnityEngine.UI;
public class GameRoomCountDownController : PFUIPanel
{
public Text count;
public Text endCount;
private int Seconds { get; set; }
public GameRoomModel GameRoom { get; set; }
@ -22,10 +24,11 @@ public class GameRoomCountDownController : PFUIPanel
base.Show();
}
public void Init(int seconds,Action action)
public void Init(int seconds,Action action,bool isEnd = false)
{
Seconds = seconds;
Callback = action;
endCount.gameObject.SetActive(isEnd);
}
float timer = 0f;
@ -44,7 +47,8 @@ public class GameRoomCountDownController : PFUIPanel
}
else
{
count.text = Seconds.ToString();
count.text = Helper.FormatTicks(Seconds);
endCount.text = Helper.FormatTicks(Seconds);
}
Seconds--;
timer += 1f;

View File

@ -12,6 +12,7 @@ using Assets.Scenes.Ride.Scripts.Model;
public class GameRoomDetailController : PFUIPanel
{
public Text versionText;
public RawImage Avatar;
public Text idText;
public Text roomName;
@ -128,6 +129,7 @@ public class GameRoomDetailController : PFUIPanel
private void Init()
{
App.Model = "GameRoom";
versionText.text = "V"+App.AppVersion.ToString();
MapUDPService.MessageListener = ListenerHandler;
GameRoom = App.gameRoomDetail;
@ -250,9 +252,6 @@ public class GameRoomDetailController : PFUIPanel
protected override void OnDisable()
{
}
protected override void OnDestroy()
{
App.Model = "";
}
}

View File

@ -59,6 +59,7 @@ public class GameRoomListController : PFUIPanel
private GameObject btn40;
private GameObject btn50;
private GameObject btn60;
private GameObject btnMore;
private GameObject btn2;
private GameObject btn3;
@ -172,12 +173,12 @@ public class GameRoomListController : PFUIPanel
Total = roomList.GameRoomTotal;
ListChanged = true;
}
else
{
list = null;
Total = 0;
ListChanged = true;
}
//else
//{
// list = null;
// Total = 0;
// ListChanged = true;
//}
//查询自己当前创建的房间信息并进入
var info = message.Where(c => c.RoomList != null && c.RoomList.Where(o => o.UserId == App.CurrentUser.Id && o.Status == 0).Any()).FirstOrDefault();
if (info != null)
@ -210,20 +211,6 @@ public class GameRoomListController : PFUIPanel
public override void Show()
{
base.Show();
//LOOM中取数据渲染下载当前下载进度
var downLoadList = transform.Find("DownLoadList").gameObject;
var downloadPanel = transform.Find("DownloadPanel").gameObject;
if (!downLoadList.activeSelf && !downloadPanel.activeSelf)
{
var content = downLoadList.transform.Find("Viewport/Content");
foreach (var item in Loom.DownLoadTaskList)
{
var newtask = Instantiate(_downLoadTask, content);
newtask.GetComponent<GameRoomDownloadTask>().Init(0, item.Key, downloadPanel);
downLoadList.SetActive(true);
}
}
App.Model = "GameRoom";
MapUDPService.MessageListener = ListenerHandler;
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName);
@ -275,6 +262,20 @@ public class GameRoomListController : PFUIPanel
CreateClicked = false;
UIManager.ShowGameRoomDetailPanel();
}
//LOOM中取数据渲染下载当前下载进度
var downLoadList = transform.Find("DownLoadList").gameObject;
var downloadPanel = transform.Find("DownloadPanel").gameObject;
if (!downLoadList.activeSelf && !downloadPanel.activeSelf)
{
var content = downLoadList.transform.Find("Viewport/Content");
foreach (var item in Loom.DownLoadTaskList)
{
var newtask = Instantiate(_downLoadTask, content);
newtask.GetComponent<GameRoomDownloadTask>().Init(0, item.Key, downloadPanel);
downLoadList.SetActive(true);
}
}
}
private void InitStep1()
@ -290,7 +291,14 @@ public class GameRoomListController : PFUIPanel
UIManager.RemoveEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag);
UIManager.AddEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag, OnEndDrag);
}
var close = transform.Find("MapList/Modal/Close").gameObject;
if (close != null)
{
UIManager.RemoveEvent(close, UnityEngine.EventSystems.EventTriggerType.PointerClick);
UIManager.AddEvent(close, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e)=> {
mapList.gameObject.SetActive(false);
});
}
distanceOptions = topContainer.Find("distanceOptions");
if (distanceOptions != null)
{
@ -320,12 +328,12 @@ public class GameRoomListController : PFUIPanel
Refresh();
});
}
//是否收藏
//是否AR
if (favContainer != null)
{
isEnableAR = true;//默认勾选ar
var g = favContainer.Find("Gou").gameObject;
g.SetActive(false);
isEnableAR = false;
g.SetActive(isEnableAR);
UIManager.RemoveEvent(favContainer.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick);
UIManager.AddEvent(favContainer.gameObject, EventTriggerType.PointerClick, (e)=> {
var gou = e.selectedObject.transform.Find("Gou").gameObject;
@ -483,6 +491,7 @@ public class GameRoomListController : PFUIPanel
MapUDPService.SendCreateGameRoom(RoomName, selectedRouteId, Roompwd, UIManager.Now.GetDateTime(), CloseTime, Members, Map.AverageGrade, (Map.TotalClimb ?? 0), Map.Distance, Map.Enable3D, Map.EnableAR, Map.Name, Map.FileName, Map.Url, Map.AltitudeGraph);
MapList.SetActive(false);
CreateClicked = true;
Query();
});
}
@ -493,6 +502,7 @@ public class GameRoomListController : PFUIPanel
btn40 = right2.transform.Find("btn40").gameObject;
btn50 = right2.transform.Find("btn50").gameObject;
btn60 = right2.transform.Find("btn60").gameObject;
btnMore = right2.transform.Find("btnMore").gameObject;
//房间人数
btn2 = right2.transform.Find("btn2").gameObject;
btn3 = right2.transform.Find("btn3").gameObject;
@ -504,16 +514,19 @@ public class GameRoomListController : PFUIPanel
var minInputField = right2.transform.Find("MinInputField").GetComponent<InputField>();
var roomNameInputField = right2.transform.Find("RoomNameInputField").GetComponent<InputField>();
var passwordInputField = right2.transform.Find("PasswordInputField").GetComponent<InputField>();
btnMore.SetActive(true);
hourInputField.gameObject.SetActive(false);
minInputField.gameObject.SetActive(false);
hourInputField.text = "0";
minInputField.text = "0";
roomNameInputField.text = "";
passwordInputField.text = "";
RoomName = "";
RoomName = App.CurrentUser.Nickname + App.GetLocalString("'s Room");
Roompwd = "";
roomNameInputField.text = RoomName;
passwordInputField.text = "";
hourInputField.GetComponent<Outline>().enabled = false;
HandleFormInput();
HandleCloseTimeBtnClick(0, "");
HandleMembersBtnClick(0, "");
HandleMembersBtnClick(6, btn6.name);//默认6人
HandleCloseTimeBtnClick(30, btn30.name);//默认关门时间30min
roomNameInputField.onValueChanged.RemoveAllListeners();
//房间名
roomNameInputField.onValueChanged.AddListener((e) => {
@ -526,6 +539,7 @@ public class GameRoomListController : PFUIPanel
Roompwd = e;
HandleFormInput();
});
UIManager.AddEvent(minInputField.gameObject, EventTriggerType.Select, (e) => {
hourInputField.GetComponent<Outline>().enabled = true;
HandleFormInput();
@ -546,6 +560,12 @@ public class GameRoomListController : PFUIPanel
{
HandleCloseTimeBtnClick(60, btn60.name);
});
UIManager.AddEvent(btnMore, EventTriggerType.PointerClick, (e) =>
{
btnMore.SetActive(false);
hourInputField.gameObject.SetActive(true);
minInputField.gameObject.SetActive(true);
});
//小时
hourInputField.onValueChanged.RemoveAllListeners();
hourInputField.onValueChanged.AddListener((e) => {
@ -560,7 +580,9 @@ public class GameRoomListController : PFUIPanel
CloseTime = hours * 60 + mins;
HandleCloseTimeBtnClick(CloseTime, minInputField.name);
});
//房间人数
UIManager.AddEvent(btn2, EventTriggerType.PointerClick, (e) =>
{
HandleMembersBtnClick(2, btn2.name);
@ -877,7 +899,7 @@ public class GameRoomListController : PFUIPanel
next.GetComponent<Button>().interactable = false;
next.GetComponent<Button>().enabled = false;
HandleStepBtn(previous.name);
HandleCloseTimeBtnClick(0, "");
HandleCloseTimeBtnClick(30, btn30.name);//默认关门时间30min
MapList.SetActive(true);
}
@ -885,6 +907,7 @@ public class GameRoomListController : PFUIPanel
{
base.OnDisable();
MapUDPService.MessageListener = null;
App.Model = "";
}
}

View File

@ -96,6 +96,8 @@ public class LocalRouteItem : MonoBehaviour, IPointerExitHandler, IPointerEnterH
//自动上传
try
{
if (record == null)
return;
MapInterruptRecordApi service = ConfigHelper.mapInterruptRecordApi;
var result = service.Add(record, listFileName);
//删除文件

View File

@ -132,6 +132,7 @@ public class UIManager : MonoBehaviour
return this.GetPanelInstance("GameRoomCountDown", ref this.mGameRoomCountDownController);
}
}
private SettingContoller mSettingContoller;
public SettingContoller SettingModal
{
@ -702,7 +703,7 @@ public class UIManager : MonoBehaviour
}
if (UIManager.Instance.MainPanel != null && parent == UIManager.Instance.MainPanel)
{
App.currentPageIsHome = panelToShow.GetType().Name.Equals("HomeController");
App.currentPageIsHome = panelToShow.GetType().Name.Equals("NewHomeController");
}
if (modal)
@ -869,11 +870,11 @@ public class UIManager : MonoBehaviour
{
UIManager.Show(UIManager.Instance.GameRoomLoadingPanel, null, true);
}
public static void ShowGameRoomCountDownPanel(int seconds,Action action)
public static void ShowGameRoomCountDownPanel(int seconds,Action action,bool isEnd = false)
{
if (UIManager.Instance.GameRoomCountDownPanel!= null)
{
UIManager.Instance.GameRoomCountDownPanel.Init(seconds, action);
UIManager.Instance.GameRoomCountDownPanel.Init(seconds, action, isEnd);
}
UIManager.Show(UIManager.Instance.GameRoomCountDownPanel, null, true);
}

View File

@ -211,6 +211,7 @@ public class TestVideoController : MonoBehaviour
//同步到txt
Save();
}
TestVideoFrameButton[] btnList;
private void BuildList()
{
var l = list.OrderBy(c => c.Key);
@ -223,6 +224,7 @@ public class TestVideoController : MonoBehaviour
btn.SetActive(true);
btn.GetComponent<TestVideoFrameButton>().SetInfo(item.Key);
}
btnList = FindObjectsOfType<TestVideoFrameButton>();
}
private bool isPlay { get; set; } = true;
@ -246,6 +248,13 @@ public class TestVideoController : MonoBehaviour
break;
}
}
if (mediaPlayer.Control.IsPlaying())
{
foreach (var item in btnList)
{
item.SetBg(item.Frame == pre.KeyFrame);
}
}
}
private void Turn()
{

View File

@ -29,10 +29,11 @@ public class TestVideoFrameButton : MonoBehaviour
item.SetBg(item.Frame == Frame);
}
}
public void SetBg(bool active)
{
Bg.SetActive(active);
if(Bg != null)
Bg.SetActive(active);
}
public void SetInfo(int frame)