AR骑行和对战

This commit is contained in:
lishuo 2022-08-17 18:28:28 +08:00
parent 341d386196
commit 3bcb3ee83e
51 changed files with 146686 additions and 4950 deletions

View File

@ -2,7 +2,7 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-8337007608510410168
AnimatorStateMachine:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -42,7 +42,7 @@ AnimatorStateMachine:
m_DefaultState: {fileID: 4337543228220508350}
--- !u!1102 &-7209952864988691809
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -71,7 +71,7 @@ AnimatorState:
m_TimeParameter:
--- !u!1102 &-7110948734893641493
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -204,7 +204,7 @@ AnimatorStateTransition:
m_CanTransitionToSelf: 1
--- !u!1102 &-5166529910487830129
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -284,7 +284,7 @@ AnimatorStateTransition:
m_CanTransitionToSelf: 1
--- !u!1102 &-2278438292350793016
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -360,7 +360,7 @@ AnimatorController:
m_Controller: {fileID: 9100000}
--- !u!1102 &372171977578010894
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -512,7 +512,7 @@ AnimatorStateTransition:
m_CanTransitionToSelf: 1
--- !u!1102 &4337543228220508350
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -539,7 +539,7 @@ AnimatorState:
m_TimeParameter:
--- !u!1102 &4518970819921576205
AnimatorState:
serializedVersion: 5
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0517162e1df19834c8803b77a4989974
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2fe2d472537f7874797d676190b7255a
guid: 8dbea9aad771f804bb1069a7f3f6dd0f
PrefabImporter:
externalObjects: {}
userData:

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1857b202bf5b0dd41b6f7f76b5c837f8
guid: 6579aed2843b76a45a4f02f7dc441443
PrefabImporter:
externalObjects: {}
userData:

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -5216,6 +5216,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Texture
value:
objectReference: {fileID: 8400000, guid: 4c5d51d5defac9346b0426fbc6682e85, type: 2}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5666,6 +5671,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Texture
value:
objectReference: {fileID: 8400000, guid: 706421433917b654abc144d5bf85da77, type: 2}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -5851,6 +5861,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Texture
value:
objectReference: {fileID: 8400000, guid: 80b1b34aa3237e147a91685cbd7df512, type: 2}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -6041,6 +6056,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Texture
value:
objectReference: {fileID: 8400000, guid: 5ab185c6c7e24694db7ccfa2ccb3cc1a, type: 2}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material
@ -6226,6 +6246,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Texture
value:
objectReference: {fileID: 8400000, guid: dd3ed920abe40ed4d80d199167b8f376, type: 2}
- target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_Material

View File

@ -661,7 +661,6 @@ GameObject:
- component: {fileID: 1429559310958506576}
- component: {fileID: 1429559310958506578}
- component: {fileID: 1429559310958506579}
- component: {fileID: 1429559310958506581}
- component: {fileID: 5945260196368435023}
m_Layer: 5
m_Name: Text
@ -730,22 +729,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: LV.4
--- !u!114 &1429559310958506581
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1429559310958506577}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &5945260196368435023
MonoBehaviour:
m_ObjectHideFlags: 0
@ -770,7 +753,6 @@ GameObject:
- component: {fileID: 1429559311417417473}
- component: {fileID: 1429559311417417475}
- component: {fileID: 1429559311417417472}
- component: {fileID: 1429559311417417474}
- component: {fileID: 5393912659149242882}
m_Layer: 5
m_Name: Text
@ -839,22 +821,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: LV.2
--- !u!114 &1429559311417417474
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1429559311417417534}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &5393912659149242882
MonoBehaviour:
m_ObjectHideFlags: 0
@ -956,7 +922,6 @@ GameObject:
- component: {fileID: 1429559311438022001}
- component: {fileID: 1429559311438022003}
- component: {fileID: 1429559311438022000}
- component: {fileID: 1429559311438022002}
- component: {fileID: 1969115851814221465}
m_Layer: 5
m_Name: Text
@ -1025,22 +990,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: LV.3
--- !u!114 &1429559311438022002
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1429559311438021998}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &1969115851814221465
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1065,7 +1014,6 @@ GameObject:
- component: {fileID: 1429559311568624303}
- component: {fileID: 1429559311568624305}
- component: {fileID: 1429559311568624302}
- component: {fileID: 1429559311568624304}
- component: {fileID: 8705045441853972928}
m_Layer: 5
m_Name: Text
@ -1134,22 +1082,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: LV.1
--- !u!114 &1429559311568624304
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1429559311568624300}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &8705045441853972928
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1174,7 +1106,6 @@ GameObject:
- component: {fileID: 1429559312205511051}
- component: {fileID: 1429559312205511053}
- component: {fileID: 1429559312205511050}
- component: {fileID: 1429559312205511052}
- component: {fileID: 4422988388417818063}
m_Layer: 5
m_Name: Text
@ -1243,22 +1174,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: HC
--- !u!114 &1429559312205511052
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1429559312205511048}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &4422988388417818063
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1690,7 +1605,6 @@ GameObject:
- component: {fileID: 1561963667172470244}
- component: {fileID: 5980349432888802299}
- component: {fileID: 4681475915644533501}
- component: {fileID: 1231262206036010953}
m_Layer: 5
m_Name: line00
m_TagString: Untagged
@ -1754,22 +1668,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1231262206036010953
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2531465259114863209}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &2619940535986648586
GameObject:
m_ObjectHideFlags: 0
@ -1781,7 +1679,6 @@ GameObject:
- component: {fileID: 2619940535986648585}
- component: {fileID: 2619940535986648591}
- component: {fileID: 2619940535986648584}
- component: {fileID: 2619940535986648590}
- component: {fileID: 6916478057208669070}
m_Layer: 5
m_Name: Text
@ -1850,22 +1747,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: FLAT
--- !u!114 &2619940535986648590
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2619940535986648586}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &6916478057208669070
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2372,7 +2253,6 @@ GameObject:
- component: {fileID: 1225495726092536297}
- component: {fileID: 8904234860186367652}
- component: {fileID: 741383687698517461}
- component: {fileID: 3369533650645990172}
m_Layer: 5
m_Name: Template
m_TagString: Untagged
@ -2481,22 +2361,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
scrollSpeed: 10
--- !u!114 &3369533650645990172
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3344798044730818033}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &3729561503460600236
GameObject:
m_ObjectHideFlags: 0
@ -2692,7 +2556,6 @@ GameObject:
- component: {fileID: 905536587046769240}
- component: {fileID: 7350713559632145685}
- component: {fileID: 1718446436582004324}
- component: {fileID: 1429559311976359838}
m_Layer: 5
m_Name: Template
m_TagString: Untagged
@ -2801,22 +2664,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
scrollSpeed: 10
--- !u!114 &1429559311976359838
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3745822250017908288}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &3980532922793874755
GameObject:
m_ObjectHideFlags: 0
@ -3309,7 +3156,6 @@ GameObject:
- component: {fileID: 4167844826616894169}
- component: {fileID: 4167844826616894164}
- component: {fileID: 4167844826616894167}
- component: {fileID: 4167844826616894166}
m_Layer: 5
m_Name: line2
m_TagString: Untagged
@ -3373,22 +3219,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4167844826616894166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4167844826616894168}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &4167844827205442558
GameObject:
m_ObjectHideFlags: 0
@ -3400,7 +3230,6 @@ GameObject:
- component: {fileID: 4167844827205442559}
- component: {fileID: 4167844827205442557}
- component: {fileID: 4167844827205442556}
- component: {fileID: 4167844827205442554}
- component: {fileID: 4167844827205442546}
m_Layer: 5
m_Name: Button
@ -3465,22 +3294,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4167844827205442554
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4167844827205442558}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &4167844827205442546
MonoBehaviour:
m_ObjectHideFlags: 0
@ -3792,7 +3605,6 @@ GameObject:
- component: {fileID: 4853418147711016675}
- component: {fileID: 4853418147711016677}
- component: {fileID: 4853418147711016674}
- component: {fileID: 4853418147711016676}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
@ -3860,22 +3672,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 3D
--- !u!114 &4853418147711016676
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4853418147711016672}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &4853418148442413175
GameObject:
m_ObjectHideFlags: 0
@ -3975,7 +3771,6 @@ GameObject:
- component: {fileID: 4853418148453060628}
- component: {fileID: 4853418148453060630}
- component: {fileID: 4853418148453060631}
- component: {fileID: 4853418148453060617}
m_Layer: 5
m_Name: Gou
m_TagString: Untagged
@ -4039,22 +3834,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4853418148453060617
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4853418148453060629}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &4853418148479202717
GameObject:
m_ObjectHideFlags: 0
@ -4066,7 +3845,6 @@ GameObject:
- component: {fileID: 4853418148479202716}
- component: {fileID: 4853418148479202718}
- component: {fileID: 4853418148479202719}
- component: {fileID: 4853418148479202705}
- component: {fileID: 1036497913850961667}
m_Layer: 5
m_Name: Text
@ -4135,22 +3913,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Favorite
--- !u!114 &4853418148479202705
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4853418148479202717}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &1036497913850961667
MonoBehaviour:
m_ObjectHideFlags: 0
@ -4340,7 +4102,6 @@ GameObject:
- component: {fileID: 2068962248675101361}
- component: {fileID: 4517557211376928917}
- component: {fileID: 8275327971858597461}
- component: {fileID: 7155673232822736579}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
@ -4421,22 +4182,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
key:
--- !u!114 &7155673232822736579
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4951052648640690816}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &4976321847170018841
GameObject:
m_ObjectHideFlags: 0
@ -4449,7 +4194,6 @@ GameObject:
- component: {fileID: 8652581546663444308}
- component: {fileID: 3777352587783084344}
- component: {fileID: 3240734978614877925}
- component: {fileID: 4853418146790805965}
- component: {fileID: 4709470891637890102}
m_Layer: 5
m_Name: Text
@ -4531,22 +4275,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
key:
--- !u!114 &4853418146790805965
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4976321847170018841}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &4709470891637890102
MonoBehaviour:
m_ObjectHideFlags: 0
@ -5067,7 +4795,6 @@ GameObject:
- component: {fileID: 2226141154447078805}
- component: {fileID: 549790744084946562}
- component: {fileID: 5261821097843933672}
- component: {fileID: 7155673232822736578}
m_Layer: 5
m_Name: Arrow
m_TagString: Untagged
@ -5131,22 +4858,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7155673232822736578
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5464789140640568869}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &5548228236796360269
GameObject:
m_ObjectHideFlags: 0
@ -5939,7 +5650,6 @@ GameObject:
- component: {fileID: 5897143235756338798}
- component: {fileID: 5897143235756338796}
- component: {fileID: 5897143235756338797}
- component: {fileID: 5897143235756338803}
m_Layer: 5
m_Name: Gou
m_TagString: Untagged
@ -6003,22 +5713,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &5897143235756338803
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5897143235756338799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &5899460369825533945
GameObject:
m_ObjectHideFlags: 0
@ -6264,7 +5958,6 @@ GameObject:
- component: {fileID: 6045749279305270692}
- component: {fileID: 8459334574793808192}
- component: {fileID: 848916676143250497}
- component: {fileID: 4931435313610764894}
m_Layer: 5
m_Name: line3
m_TagString: Untagged
@ -6328,22 +6021,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4931435313610764894
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6108687169446096376}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &6216688916544654740
GameObject:
m_ObjectHideFlags: 0
@ -6355,7 +6032,6 @@ GameObject:
- component: {fileID: 248857899902283300}
- component: {fileID: 1887560886041740595}
- component: {fileID: 6094908572077873753}
- component: {fileID: 1429559311976359905}
m_Layer: 5
m_Name: Arrow
m_TagString: Untagged
@ -6419,22 +6095,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1429559311976359905
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6216688916544654740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &6336925162522053144
GameObject:
m_ObjectHideFlags: 0
@ -6717,7 +6377,6 @@ GameObject:
- component: {fileID: 82937608756433152}
- component: {fileID: 2531409183793468196}
- component: {fileID: 8018403598796316132}
- component: {fileID: 1429559311976359904}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
@ -6798,22 +6457,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
key:
--- !u!114 &1429559311976359904
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6423651778393776433}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &6470237566337987207
GameObject:
m_ObjectHideFlags: 0
@ -6953,7 +6596,6 @@ GameObject:
- component: {fileID: 6653062727056844769}
- component: {fileID: 6653062727056844771}
- component: {fileID: 6653062727056844768}
- component: {fileID: 6653062727056844770}
m_Layer: 5
m_Name: line0
m_TagString: Untagged
@ -7017,22 +6659,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &6653062727056844770
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6653062727056844702}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!1 &6653062727127522755
GameObject:
m_ObjectHideFlags: 0
@ -7542,7 +7168,6 @@ GameObject:
- component: {fileID: 6653062728066858165}
- component: {fileID: 6653062728066858167}
- component: {fileID: 6653062728066858164}
- component: {fileID: 6653062728066858166}
- component: {fileID: 5962350034651268072}
m_Layer: 5
m_Name: DistanceText
@ -7611,22 +7236,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Distance
--- !u!114 &6653062728066858166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6653062728066858162}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &5962350034651268072
MonoBehaviour:
m_ObjectHideFlags: 0
@ -7889,7 +7498,6 @@ GameObject:
- component: {fileID: 6653062728799582121}
- component: {fileID: 6653062728799582122}
- component: {fileID: 6653062728799582123}
- component: {fileID: 6653062728799582120}
- component: {fileID: 1962162995673140223}
m_Layer: 5
m_Name: DifficultyText
@ -7958,22 +7566,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Difficulty
--- !u!114 &6653062728799582120
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6653062728799582118}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97bc2ebab6563400c95b036136d26ea6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Inverse: 0
m_MaskInteraction: 85
m_UseStencil: 1
m_RaycastFilter: 0
--- !u!114 &1962162995673140223
MonoBehaviour:
m_ObjectHideFlags: 0
@ -9985,15 +9577,15 @@ PrefabInstance:
m_RemovedComponents:
- {fileID: 7793409217181307314, guid: a1999d0576fee6248a9c5a507ae8d10e, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: a1999d0576fee6248a9c5a507ae8d10e, type: 3}
--- !u!1 &1500710352127235982 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2638424933752433026, guid: a1999d0576fee6248a9c5a507ae8d10e,
type: 3}
m_PrefabInstance: {fileID: 3480729881595313676}
m_PrefabAsset: {fileID: 0}
--- !u!224 &1500710352127235983 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2638424933752433027, guid: a1999d0576fee6248a9c5a507ae8d10e,
type: 3}
m_PrefabInstance: {fileID: 3480729881595313676}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1500710352127235982 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2638424933752433026, guid: a1999d0576fee6248a9c5a507ae8d10e,
type: 3}
m_PrefabInstance: {fileID: 3480729881595313676}
m_PrefabAsset: {fileID: 0}

View File

@ -661,7 +661,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 313551262}
m_CullTransparentMesh: 0
--- !u!21 &671919931
--- !u!21 &413758122
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
@ -841,7 +841,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 1847
m_Bits: 4919
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: 5ab185c6c7e24694db7ccfa2ccb3cc1a, type: 2}
m_TargetDisplay: 0
@ -1196,7 +1196,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 1847
m_Bits: 9015
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: 4c5d51d5defac9346b0426fbc6682e85, type: 2}
m_TargetDisplay: 0
@ -1270,7 +1270,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 1847
m_Bits: 2871
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: 5ab185c6c7e24694db7ccfa2ccb3cc1a, type: 2}
m_TargetDisplay: 0
@ -1436,7 +1436,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 1847
m_Bits: 17207
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: 706421433917b654abc144d5bf85da77, type: 2}
m_TargetDisplay: 0
@ -1537,44 +1537,7 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: -3.896, z: 0}
--- !u!1 &1378474435
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1378474436}
m_Layer: 5
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1378474436
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378474435}
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:
- {fileID: 154299662}
- {fileID: 1426339559}
m_Father: {fileID: 273807004}
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: 0, y: 0}
m_SizeDelta: {x: 1600, y: 900}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!21 &1407102072
--- !u!21 &1038216837
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
@ -1660,6 +1623,43 @@ Material:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _WidthHeightRadius: {r: 50, g: 50, b: 50, a: 0}
--- !u!1 &1378474435
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1378474436}
m_Layer: 5
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1378474436
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378474435}
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:
- {fileID: 154299662}
- {fileID: 1426339559}
m_Father: {fileID: 273807004}
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: 0, y: 0}
m_SizeDelta: {x: 1600, y: 900}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1001 &1426339558
PrefabInstance:
m_ObjectHideFlags: 0
@ -2155,7 +2155,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 1847
m_Bits: 33591
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: dd3ed920abe40ed4d80d199167b8f376, type: 2}
m_TargetDisplay: 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,8 @@ namespace Assets.Scripts.Apis.Models
///
/// </summary>
public int? CompetitionId { get; set; }
public int? RoomId { get; set; }
/// <summary>
///
/// </summary>

View File

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

View File

@ -0,0 +1,97 @@
using Assets.Scenes.Ride.Scripts;
using System;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scripts.Scenes.Scripts
{
class GameRoomPlayerList : MonoBehaviour
{
private CyclingController manager { get; set; }
protected GameObject nearByItem;
protected GameObject nearByMajorItem;
public Transform parent;
private Text num;
private void Start()
{
manager = FindObjectOfType<CyclingController>();
nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Match/CompetitionRankingMajorItem");
nearByItem = Resources.Load<GameObject>("UI/Prefab/Match/CompetitionRankingItem");
num = transform.Find("Head/OnlineUserNum").GetComponent<Text>();
}
private void InitData()
{
Utils.DestroyChildren(parent);
manager = FindObjectOfType<CyclingController>();
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam, manager.roomId).OrderByDescending(c=>c.EndDistance);
int index = 1;
num.text = list.Count().ToString();
foreach (var item in list)
{
GameObject prefabItem = item.IsSelf ? nearByMajorItem : nearByItem;
GameObject newObj = (GameObject)Instantiate(prefabItem, parent);
var competitionRankingItem = newObj.GetComponent<CompetitionRankingItem>();
competitionRankingItem.setUserId(item.Id);
#if UNITY_IOS || UNITY_ANDROID
competitionRankingItem.SetRank(index);
#else
competitionRankingItem.SetRank(index);
#endif
competitionRankingItem.setName(item.Name);
competitionRankingItem.setRatio(item.WeightKg.ToString("f2") + "W/KG");
competitionRankingItem.setSpeed(item.Speed.ToString() + "KM/H");
competitionRankingItem.setHead(item.HeadImage);
var countryTexture = manager.GetCountryImageByName(item.Country);
competitionRankingItem.setCountry(countryTexture);
var near = Math.Round((item.EndDistance - manager.currentPlayer.TotalDistance) * 1000);
competitionRankingItem.setDistance(manager.currentPlayer.UserId == item.Id ? "0M" : near.ToString() + "M");
#if UNITY_IOS || UNITY_ANDROID
competitionRankingItem.transform.SetSiblingIndex(index);
#else
competitionRankingItem.transform.SetSiblingIndex(index);
#endif
index++;
}
}
float timer = 0f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
InitData();
//if (manager.currentPlayer == null)
//var totalDitance = manager.GetMapData().TotalDistance;
//var currentDistance = manager.currentPlayer.TotalDistance;
////var currenList = GetComponentsInChildren<ListItem>(true);
//var list = MapUDPService.GetOnlineUsers(App.RouteIdParam, manager.cyclingController.recorderData.RoomId);
//var currentPlayerInfo = list.Where(c => c.Id.ToString() == manager.currentPlayer.UserId.ToString()).FirstOrDefault();
//list = list.Where(c => c.Id != App.CurrentUser.Id).ToList();
//var currentPlayer = FindObjectOfType<AbstractPlayer>();
//foreach (ListItem o in currenList)
//{
// if (currentPlayer.UserId.ToString() == o.Id)
// continue;
// var needUpdate = list.Where(c => c.Id.ToString() == o.Id).FirstOrDefault();
// if (needUpdate != null && currentPlayerInfo != null)
// {
// var left = Math.Round((needUpdate.EndDistance - currentPlayerInfo.EndDistance) * 1000);
// o.UpdateItem(needUpdate.Name, left.ToString() + "M", needUpdate.Id.ToString());
// o.gameObject.SetActive(true);
// }
// else
// {
// o.gameObject.SetActive(false);
// }
//}
timer += 1f;
}
}
}
}

View File

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

View File

@ -0,0 +1,282 @@
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 DG.Tweening;
using System;
using Facebook.Unity;
namespace Assets.Scenes.Ride.Scripts
{
public class GameRoomResultScript : MonoBehaviour
{
CyclingController cyclingController;
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()
{
cyclingController = FindObjectOfType<CyclingController>();
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()
{
//var model = cyclingController.cyclingController as GameModel;
//if (model != null)
//{
///var s = model.EndCountDown();
//显示关门时间
//var isshow = s.Item3 && s.Item1 >= 0 && !cyclingController.isWatch;
//CloseTime.text = Helper.FormatTicks(s.Item1);
//CloseTitle.gameObject.SetActive(isshow);
//CloseTime.gameObject.SetActive(isshow);
//}
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 (cyclingController.cyclingController is GameModel model)
{
var list = model?.mapWorkoutRecordRankings;
if (list == null) return;
var parent = transform.Find("ScrollView/Viewport/Content");
Mine.SetActive(!cyclingController.isWatch);
RankingPanel.SetActive(cyclingController.isWatch);
TitleImage.SetActive(!cyclingController.isWatch);
WatchTitle.SetActive(cyclingController.isWatch);
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);
}
if (!cyclingController.isWatch)
{
//当前用户排名
var currentRanking = list.Where(c => c.UserId == cyclingController.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);
}
}
}
else
{
//观察者模式左边显示前三名
var topList = list.OrderBy(c => c.Rank).Take(3);
foreach (var item in topList)
{
if (item.Rank == 1)
{
Utils.DisplayImage(TopHead, item.WxHeadImg, true);
var name = TopHead.transform.Find("Name").GetComponent<Text>();
name.text = item.NickName;
TopHead.gameObject.SetActive(true);
}
if (item.Rank == 2)
{
Utils.DisplayImage(SecondHead, item.WxHeadImg, true);
var name = SecondHead.transform.Find("Name").GetComponent<Text>();
name.text = item.NickName;
SecondHead.gameObject.SetActive(true);
}
if (item.Rank == 3)
{
Utils.DisplayImage(ThirdHead, item.WxHeadImg, true);
var name = ThirdHead.transform.Find("Name").GetComponent<Text>();
name.text = item.NickName;
ThirdHead.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.de);
finalRankingItemScript.setUserId(item.UserId, item.WxHeadImg);
finalRankingItemScript.setRanking(item.Rank);
finalRankingItemScript.setHeartRate(item.HeartRate);
finalRankingItemScript.setName(item.NickName);
finalRankingItemScript.setPower(item.Power.ToString());
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");
//App.MainSceneParam["Name"] = "RaceHomePanel";
}
private void OpenShare(BaseEventData baseEventData)
{
((RectTransform)ToolBarPanel.transform).pivot = new Vector2(0, ((RectTransform)ToolBarPanel.transform).pivot.y);
ShareButton.SetActive(false);
ToolBarPanel.transform.DOScaleX(1, 1);
}
private void ShareWechat(BaseEventData baseEventData)
{
if (!App.weChatController.IsWeChatAppInstalled())
{
App.weChatController.ShareWebpageToWX(0, $"{App.CurrentUser.WebHost}Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}", cyclingController.competition.Title, "By " + App.CurrentUser.Nickname, null);
}
else
{
Utils.showToast(null, "未安装微信");
}
}
private void shareFb(BaseEventData arg0)
{
//cyclingController.competition.Title, "By " + App.CurrentUser.Nickname, null)
FB.ShareLink(contentURL: new Uri($"{App.CurrentUser.WebHost}Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}"),
contentTitle: cyclingController.competition.Title,
contentDescription: "By " + App.CurrentUser.Nickname,
photoURL: new Uri(cyclingController.competition.CoverImage));
}
private void ShareWechatGp(BaseEventData baseEventData)
{
if (App.weChatController.IsWeChatAppInstalled())
{
App.weChatController.ShareWebpageToWX(1, $"{App.CurrentUser.WebHost}Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}", cyclingController.competition.Title, "By " + App.CurrentUser.Nickname, null);
}
else
{
Utils.showToast(null, "未安装微信");
}
}
}
}

View File

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

View File

@ -0,0 +1,260 @@
using UnityEngine;
using DG.Tweening;
using Assets.Scenes.Ride.Scripts.Model;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
using System;
namespace Assets.Scenes.Ride.Scripts
{
public class GameRoomUIManager : BaseUIManager
{
protected override void Awake()
{
base.Awake();
}
GameObject countDownPanel { get; set; }
Text title { get; set; }
Text timer { get; set; }
GameObject raceViewBtn { get; set; }
GameObject timerIcon { get; set; }
GameModel model { get; set; }
protected override void Start()
{
base.Start();
reviewPanel.SetActive(false);
//隐藏单人骑行时间
var spilitLineH2 = uipanel.transform.Find("ComputerPanel/SpilitLineH2").gameObject;
raceViewBtn = uipanel.transform.Find("RaceViewButton").gameObject;
#if UNITY_IOS || UNITY_ANDROID
timerIcon = uipanel.transform.Find("ComputerPanel/TimerIcon").gameObject;
timerIcon.SetActive(false);
#else
viewButton.gameObject.SetActive(false);
#endif
UIManager.AddEvent(raceViewBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, ChangeView);
spilitLineH2.SetActive(false);
//timerTxt.gameObject.SetActive(false);
//timerTxtTitle.gameObject.SetActive(false);
//观察者模式隐藏坡度
if (mainController.isWatch)
{
nextSlopePanel.SetActive(false);
currentSlopePanel.SetActive(false);
}
altitudeGraph.gameObject.SetActive(false);
//暂停按钮禁用
pauseButton.interactable = false;
InitGameObject();
}
protected override void Update()
{
base.Update();
CountDown();
}
//开始游戏触发事件
public void StartRide(BaseEventData baseEventData)
{
this.StartRide();
}
public void StartRide(int seconds)
{
mainController.SetCyclingModel(CyclingModel.GameRoom);
count = seconds;
startPanel.SetActive(false);
startBtn.gameObject.SetActive(false);
countDownTxt.gameObject.SetActive(true);
countDownTxt.text = count.ToString();
}
bool canStart = false;
GameObject watchPanel { get; set; }
//开始骑行-加个5秒钟倒计时
public override void StartRide()
{
}
public void InitGameObject()
{
miniMap.SetActive(false); //隐藏小地图
#if UNITY_IOS || UNITY_ANDROID
countDownPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/CountDownPanel"), uipanel.transform);
title = countDownPanel.transform.Find("Title").GetComponent<Text>();
timer = countDownPanel.transform.Find("Timer").GetComponent<Text>();
competitionRankingList = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/CompetitionRankingPanel"), uipanel.transform);
topRankPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/TopRankPanel"), uipanel.transform);
watchPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/WatcherPanel"), uipanel.transform);
#else
//countDownPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/CountDownPanel"), uipanel.transform);
//title = countDownPanel.transform.Find("Title").GetComponent<Text>();
//timer = countDownPanel.transform.Find("Timer").GetComponent<Text>();
competitionRankingList = Instantiate(Resources.Load<GameObject>("UI/Prefab/GameRoom/GameRoomRankingPanel"), uipanel.transform);
topRankPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/TopRankPanel"), uipanel.transform);
//watchPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/WatcherPanel"), uipanel.transform);
#endif
}
private void CountDown()
{
//倒计时开始对战
if (count > 0)
{
timeRemaining -= Time.deltaTime;
if (timeRemaining <= 0)//定时器
{
count--;
if (count == 0)
{
mainController.SetStart();
var canvasGroup = countDownTxt.transform.GetComponent<CanvasGroup>();
canvasGroup.DOFade(0, 1).onComplete += () => {
countDownTxt.gameObject.SetActive(false);
canvasGroup.alpha = 1;
};
}
if (count == 1 && mainController.cyclingModel == CyclingModel.Single)
{
reviewPanel.GetComponent<CanvasGroup>().DOFade(0, 1).onComplete += () => {
reviewPanel.gameObject.SetActive(false);
};
}
countDownTxt.transform.DOPunchScale(new Vector3(1.2f, 1.2f, 1.2f), 1, 1, 1);
timeRemaining = 1.0f;
}
}
countDownTxt.text = count == 0 ? App.GetLocalString("GO!") : count.ToString();
model = mainController.cyclingController as GameModel;
//第一名诞生开始倒计时,倒计时结束自动保存
if (model != null && model.FirstEndTime.HasValue && !FirstCompleted && App.CurrentUser.Id != model.FirstUserId)
{
FirstCompleted = true;
var gap = model.FirstEndTime.Value - UIManager.Now.GetDateTime();
var seconds = Math.Floor(gap.TotalSeconds);
UIManager.ShowGameRoomCountDownPanel((int)seconds, () =>
{
SaveRide(null);
}, true);
}
if (mainController.isQuit && !Saved)
{
Saved = true;
ShowResultList();
FindObjectOfType<GameRoomCountDownController>()?.Close();
}
}
private bool FirstCompleted;
private bool Saved;
public override void SaveRide(BaseEventData baseEventData)
{
//观察者退出
if (mainController.isWatch)
{
SceneManager.LoadScene("MainScene");
return;
}
//参赛者保存并弹出赛事结果
if (!mainController.isQuit)
{
mainController.SetQuit();
playerController.Upload();
quitPanel.SetActive(false);
transform.Find("ModalPanel").gameObject.SetActive(false);
}
ShowResultList();//保存显示当前排名
}
public override void ContinueRide()
{
//mainController.SetCyclingModel(CyclingModel.GameRoom);
}
public override void PauseRide(BaseEventData baseEventData)
{
return;
}
//实时显示当前比赛排名
GameObject competitionRankingList;
public void ShowCurrentRanking()
{
if (competitionRankingList == null)
{
#if UNITY_IOS || UNITY_ANDROID
competitionRankingList = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/CompetitionRankingPanel"), uipanel.transform);
#else
competitionRankingList = Instantiate(Resources.Load<GameObject>("UI/Prefab/GameRoom/GameRoomRankingPanel"), uipanel.transform);
#endif
}
if (topRankPanel == null)
{
#if UNITY_IOS || UNITY_ANDROID
topRankPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/TopRankPanel"), uipanel.transform);
#else
topRankPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/TopRankPanel"), uipanel.transform);
#endif
}
}
GameObject competitionResultPanel;
GameObject topRankPanel;
//实时刷新显示比赛结果
public void ShowResultList()
{
if (competitionResultPanel == null)
{
#if UNITY_IOS || UNITY_ANDROID
competitionResultPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/Mobile/GameRoomResultPanel"), uipanel.transform);
#else
competitionResultPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/GameRoom/GameRoomResultPanel"), uipanel.transform);
#endif
}
}
//极简模式
public override void ClearPanel(BaseEventData baseEventData)
{
if (clearLock)
{
base.ClearPanel(baseEventData);
//countDownPanel.transform.DOLocalMove(new Vector3(countDownPanel.transform.localPosition.x + isSimple * -430f, countDownPanel.transform.localPosition.y, countDownPanel.transform.localPosition.z), 1);
topRankPanel.transform.DOLocalMove(new Vector3(topRankPanel.transform.localPosition.x + isSimple * -430f, topRankPanel.transform.localPosition.y, topRankPanel.transform.localPosition.z), 1);
competitionRankingList.transform.DOLocalMove(new Vector3(competitionRankingList.transform.localPosition.x + isSimple * 430f, competitionRankingList.transform.localPosition.y, competitionRankingList.transform.localPosition.z), 1);
//watchPanel.transform.DOLocalMove(new Vector3(watchPanel.transform.localPosition.x, watchPanel.transform.localPosition.y + isSimple * 260f, watchPanel.transform.localPosition.z), 1);
}
}
public void SetMobileViewButton(bool enabled)
{
#if UNITY_IOS || UNITY_ANDROID
//viewButton.enabled = enabled;
viewButton.interactable = enabled;
#endif
}
protected override void StopRide(BaseEventData baseEventData)
{
if (mainController.isWatch)
{
UIManager.ShowConfirm("Quit", "Do you want to quit?", async () =>
{
SceneManager.LoadScene("MainScene");
UIManager.CloseConfirm();
});
}
//参赛者:提醒是否退出并保存赛事结果
else
{
base.StopRide(baseEventData);
}
}
}
}

View File

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

View File

@ -153,20 +153,27 @@ namespace Assets.Scenes.Ride.Scripts
//人物动画控制
if (characterAnimator != null)
{
characterAnimator.SetFloat("Speed", (float)speed);
characterAnimator.SetFloat("Slope", (float)currentSlope);
if (currentSlope > 6)
{
characterAnimator.speed = 0.45f;
}
else
{
characterAnimator.speed = 0.65f;
}
if (speed > 40)
//characterAnimator.SetFloat("Speed", (float)speed);
//characterAnimator.SetFloat("Slope", (float)currentSlope);
if (characterAnimator != null)
{
characterAnimator.speed = 0.75f;
//characterAnimator.SetFloat("preSpeed", (float)preSpeed);
characterAnimator.SetFloat("speed", (float)speed);
characterAnimator.SetFloat("grade", (float)currentSlope);
characterAnimator.SetFloat("power", (float)power);
}
//if (currentSlope > 6)
// {
// characterAnimator.speed = 0.45f;
//}
// else
// {
// characterAnimator.speed = 0.65f;
//}
//if (speed > 40)
//{
// characterAnimator.speed = 0.75f;
//}
//if (totalDistance >= mapData.TotalDistance)
//{
@ -327,7 +334,7 @@ namespace Assets.Scenes.Ride.Scripts
{
if (prePos != nextPos)
{
Quaternion neededRotation = Quaternion.LookRotation(prePos - nextPos);
Quaternion neededRotation = Quaternion.LookRotation(nextPos-prePos);
float t = 0;
while (t < 1.0f)

View File

@ -53,7 +53,7 @@ public class CyclingController : DeviceServiceMonoBase
public BaseCycling cyclingController { get; set; }
private int routeId;
public int competitionId { get; set; }
public int roomId { get; set; }
private MapApi mapApi;
public DateTime startTime { get; set; }
public DateTime endTime;
@ -90,6 +90,7 @@ public class CyclingController : DeviceServiceMonoBase
mapApi = ConfigHelper.mapApi;
routeId = App.RouteIdParam > 0 ? App.RouteIdParam : 2633;
competitionId = App.CompetionId;
roomId = App.gameRoomDetail?.RoomId ??0;
App.CompetionId = 0;//清空比赛参数
//处理异常中断的骑行
@ -104,10 +105,8 @@ public class CyclingController : DeviceServiceMonoBase
void OnDestroy()
{
//MapUDPService.Dispose();
TouchKit.removeAllGestureRecognizers();
Resources.UnloadUnusedAssets();
GC.Collect();
}
Transform target;
GameObject watcher;
@ -242,21 +241,23 @@ public class CyclingController : DeviceServiceMonoBase
HandleTouchAndInput();
StartCoroutine(Ping());
//进入对战房间
if (App.gameRoomDetail != null)
{
this.cyclingModel = CyclingModel.GameRoom;
StartCoroutine(InitGameRoom());
}
//进入比赛
if (competitionId > 0)
else if(competitionId > 0)
{
this.cyclingModel = CyclingModel.Competition;
StartCoroutine(InitRace());
return;
}
//进入单人骑行
if (routeId > 0)
else if(routeId > 0)
{
StartCoroutine(Init());
return;
}
}
private IEnumerator Ping()
{
@ -566,7 +567,7 @@ public class CyclingController : DeviceServiceMonoBase
}
private IEnumerator Init()
{
yield return null; //new WaitForSeconds(1);
yield return null;
mapRoute = mapApi.GetById(routeId).data;
loadingController.Init();//初始化loading页面
loadingController.AddProcess(10);
@ -575,7 +576,19 @@ public class CyclingController : DeviceServiceMonoBase
MapUDPService.Init();//初始化TCP
loadingController.AddProcess(10);
}
//初始对战
private IEnumerator InitGameRoom()
{
yield return null;
mapRoute = mapApi.GetById(routeId).data;
loadingController.Init();
loadingController.AddProcess(10);
InitGameRoomData();
InitGameRoomObject();
loadingController.AddProcess(10);
}
//初始比赛
private IEnumerator InitRace()
{
@ -641,6 +654,30 @@ public class CyclingController : DeviceServiceMonoBase
}
}
private void InitGameRoomData()
{
mapData = mapApi.GetData(routeId);//获取路书地理数据
route = new Route(mapData, mapRoute);
loadingController.AddProcess(10);
#region
selectParamModel = new RouteResultParam
{
CompetitionId = 0,
ContinueIndex = 0,
ContinueMark = "",
GlobalContinue = false,
EndDistance = 0,
RankingsId = new List<string>(),
OnlineUserId = 0,
RouteId = App.RouteIdParam,
};
#endregion
double endDistance = selectParamModel.EndDistance;
//计算上次骑行距离调整地图中心点
coordiantes = Along(endDistance);
}
private void InitRaceData()
{
mapData = mapApi.GetData(routeId);//获取路书地理数据
@ -680,6 +717,27 @@ public class CyclingController : DeviceServiceMonoBase
map.OnTileFinished += Map_OnTileFinished;
mapPos = map.transform.position;
}
private void InitGameRoomObject()
{
#if !(UNITY_IOS || UNITY_ANDROID)
minicamera.SetActive(true);
map.gameObject.SetActive(true);
player.SetActive(true);
UIObject.SetActive(true);
singleUIManager = UIObject.AddComponent<GameRoomUIManager>();
map.OnTileFinished += Map_OnTileFinished;
mapPos = map.transform.position;
//为了解决比赛观看模式下,切换观看用户之前跨度过大导致地图海拔信息不完整的问题
RangeAroundTransformTileProviderOptions options = new RangeAroundTransformTileProviderOptions
{
targetTransform = target,
visibleBuffer = 2,
disposeBuffer = 2
};
map.SetExtent(MapExtentType.RangeAroundTransform, options);
map.SetExtentOptions(options);
#endif
}
private void InitRaceGameObject()
{
@ -1207,14 +1265,13 @@ public BaseUIManager singleUIManager;
public void Save(double totalDistance)
{
ClearTempFile();
cyclingController.recorderData.EndTime = UIManager.Now.GetDateTime();
isQuit = true;
isStart = false;
//string recordId = Guid.NewGuid().ToString();
//var path = Helper.GetDataDir("MapWorkoutRecords/"+ recordId);
var path = PFConstants.MapWorkoutRecordFolder + "/" + recordId;
Helper.CreateDirectoryIfNotExsit(path);
string imageFileName = path +"/"+ Guid.NewGuid().ToString() + ".png";
CaptureCamera(Camera.main, new Rect(Screen.width * 0f, Screen.height * 0f, Screen.width * 0.5f, Screen.height * 0.5f), imageFileName);
cyclingController.recorderData.StartTime = startTime;
@ -1226,7 +1283,7 @@ public BaseUIManager singleUIManager;
cyclingController.recorderData.DeviceNumber = DeviceNumber;
RankingId =cyclingController.recorderData.SaveWithLocalRecordAysnc(cyclingModel, selectParamModel, imageFileName, recordId, path);
//显示骑行结果(如果是比赛模式显示比赛最终排名)
if (cyclingModel != CyclingModel.Competition)
if (cyclingModel != CyclingModel.Competition && cyclingModel != CyclingModel.GameRoom)
{
resultPanel.SetActive(true);
var rs = resultPanel.GetComponent<ResultPanelScript>();
@ -1267,10 +1324,7 @@ public BaseUIManager singleUIManager;
protected void CaptureCamera(Camera camera, Rect rect,string fileName)
{
byte[] bytes = CaptureCameraReturnByte(camera, rect);
//var path = Helper.GetDataDir("MapWorkoutRecords/images");
//string filename = path + "/" + Guid.NewGuid().ToString() + ".png";
System.IO.File.WriteAllBytes(fileName, bytes);
//Debug.Log(string.Format("截屏了一张照片: {0}", filename));
}
public Vector2d GetCenterCoordinate()

View File

@ -39,7 +39,7 @@ namespace Assets.Scenes.Ride.Scripts
return ((GeographicPosition)((GeoJSON.Net.Geometry.Point)pt1.Geometry).Coordinates);
}
public double Bearing(double[] p1, double[] p2)
public static double Bearing(double[] p1, double[] p2)
{
var pt1 = Turf.Point(p1);
var pt2 = Turf.Point(p2);

View File

@ -159,9 +159,10 @@ namespace Assets.Scripts.Scenes.VideoRide
}
protected CustomRange pre { get; set; }
protected CustomRange next { get; set; }
public CustomRange next { get; set; }
protected float t { get; set; }
protected float t { get; set; }
protected Vector3 currentRotation;
protected virtual void Turn()
{
//控制人物的转向
@ -179,12 +180,13 @@ namespace Assets.Scripts.Scenes.VideoRide
break;
}
}
t = next.KeyFrame - pre.KeyFrame == 0 ? 1 : (float)(currentFrame - pre.KeyFrame) / (float)(next.KeyFrame - pre.KeyFrame);
var p = new Vector3(0, pre.RotationY, pre.RotationZ);
var q = new Vector3(0, next.RotationY, next.RotationZ);
t = next.KeyFrame - pre.KeyFrame == 0 ? 1 : (float)(currentFrame - pre.KeyFrame) / (float)(next.KeyFrame - pre.KeyFrame);
var rt = Vector3.Lerp(p, q, t);
transform.DORotate(rt, 0, RotateMode.Fast);
currentRotation = Vector3.Lerp(p, q, t);
transform.DORotate(currentRotation, 0, RotateMode.Fast);
}
//计算人物当前属性
@ -280,7 +282,6 @@ namespace Assets.Scripts.Scenes.VideoRide
decimal right = (decimal)sumDistance;
if (left <= right)
{
Debug.Log($"当前索引{i}");
currentIndex = i;
break;
}

View File

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Assets.Scenes.Ride.Scripts;
using DG.Tweening;
using UnityEngine;
@ -10,9 +12,21 @@ namespace Assets.Scripts.Scenes.VideoRide
public Transform target;
public double diff;
public int frames;
private void Start()
{
base.Start();
ydic.Add(0, -1);
ydic.Add(1555, 0);
}
protected override void Update()
{
base.Update();
//如果当前用户是被观察则控制视频播放
if (manager.CurrentPlayer.UserId == UserId)
{
manager.Play(manager.CurrentPlayer.totalDistance);
}
}
//计算
@ -24,22 +38,72 @@ namespace Assets.Scripts.Scenes.VideoRide
//var left = totalDistance % mapData.TotalDistance;
//var right = current.totalDistance % mapData.TotalDistance;
//diff = (left - right) * 1000;
if (Math.Abs(diff) > 100)
if (Math.Abs(diff*1000) > 150)
{
Destroy();
}
}
}
private const int rate = 20;// z轴与帧数的比例 1 20
private const int zrate = 20;// z轴与帧数的比例 1 20 与真实距离 1:2
private const int yrate = 3;// y轴与帧数的比例 1 3
private const int xrate = 20;// x轴与帧数的比例 1 20
private Dictionary<int, float> ydic = new Dictionary<int, float>();
//人物向前超车 右边超车
protected override void Turn()
{
base.Turn();
//计算前后位移
var current = manager.CurrentPlayer;
var interval = this.currentFrame - manager.GetCurrentFrame();
var z = current.transform.position.z + interval / rate;
transform.DOMoveZ((float)z, 1f);
var z = current.transform.position.z + interval / zrate;//diff * 500;//
transform.DOMoveZ((float)z,1f);
//计算上下位移
var targetIndex = manager.CurrentPlayer.currentIndex;
var pointList = mapData.List;
var currentHeight = pointList[currentIndex].Elevation;//当前海拔,
var targetHeight = pointList[targetIndex].Elevation;//目标海拔
var heightOffset = (currentHeight - targetHeight);
var maxEl = pointList.Max(c => c.Elevation);
var minEl = pointList.Min(c => c.Elevation);
var y = diff != 0 ? heightOffset / (diff * 1000) * z-1 : 0;
var target = manager.CurrentPlayer.transform;
if (diff > 0)
{
var h = heightOffset / (diff*1000);
var height = h * (z - target.position.z) - 1;
//if (heightOffset < 0)
//{
// heightOffset *= 2;
//}
//else
//{
// heightOffset /= 100;
//}
if (height != 0)
{
transform.DOMoveY((float)height, 1f);
}
else
{
transform.DOMoveY(-1, 1f);
}
}
////计算左右倾斜角度
var targetLatlon = manager.CurrentPlayer.currentlatLon; //目标gps
var bearing = TurfHelper.Bearing(targetLatlon.ToArray(), currentlatLon.ToArray());
//currentRotation.y += (float)bearing;
//transform.DORotate(currentRotation, 1, RotateMode.Fast);
//计算左右位移
//x =(z - z1)/tanp + x1;
bearing = (next.RotationY + manager.CurrentPlayer.next.RotationY) * Math.PI / 180;//转化为弧度值
var x =(z - target.position.z) * Math.Tan(bearing) + target.position.x;
Debug.Log($"当前海拔差{heightOffset} 当前角度{bearing} 距离{(z - target.position.z)}*Tanbearing{Math.Tanh(bearing)}+目标x{target.position.x}=当前x{x}");
transform.DOMoveX((float)x, 1f);
//x轴位移
//var x = bearing + current.bearing;
//transform.DOMove(new Vector3(x, transform.position.y, (float)z), 1); // ((float)z, 1f);
@ -85,7 +149,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var result = manager.mockDirection.Where(c => c.Start < currentFrame && c.End > currentFrame).FirstOrDefault();
bearing = result?.RotationY ?? 0;
animator.SetFloat("bearing", bearing);
//animator.SetFloat("bearing", bearing);
}
}
protected override int GetCurrentFrame()

View File

@ -74,7 +74,7 @@ namespace Assets.Scripts.Scenes.VideoRide
public DateTime startTime { get; set; }
public int FrameKM { get; private set; }//一米对应的帧数
public CyclingModel cyclingModel;
public BaseCycling cyclingController;
public BaseCycling cyclingController { get; set; }
public List<CustomRange> mockDirection = new List<CustomRange>();
private double endDistance { get; set; }
public List<float> slots = new List<float>();
@ -140,7 +140,6 @@ namespace Assets.Scripts.Scenes.VideoRide
yield return null;
videoLoading.Init();//初始化loading页面
}
public int GetFrameKm()
{
var s = mediaPlayer.Info.GetDurationFrames();
@ -158,15 +157,16 @@ namespace Assets.Scripts.Scenes.VideoRide
if (cyclingController == null)
return;
cyclingController.Run(null);
var onlineRiders = cyclingController.riders;
try
{
CreateOnlineUser(onlineRiders);
}
catch (Exception e)
{
Debug.Log(e.Message);
}
//TODO:发布单人骑行暂时注释
//var onlineRiders = cyclingController.riders;
//try
//{
// CreateOnlineUser(onlineRiders);
//}
//catch (Exception e)
//{
// Debug.Log(e.Message);
//}
timer += 1f;
}
}
@ -186,6 +186,8 @@ namespace Assets.Scripts.Scenes.VideoRide
//创建当前线路其他选手
private void CreateOnlineUser(List<BaseRider> list)
{
if (list == null)
return;
//观察者模式随机选择当前骑行的人作为观察对象
if (_aRMode == ARMode.INSPECT && CurrentPlayer == null)
{
@ -243,7 +245,7 @@ namespace Assets.Scripts.Scenes.VideoRide
if (currentPlayerInfo != null)
{
var diff = item.EndDistance % mapData.TotalDistance - currentPlayerInfo.EndDistance % mapData.TotalDistance;
if (Math.Abs(diff * 1000) <= 100)
if (Math.Abs(diff * 1000) <= 150)
{
GameObject obj;
if (currentPlayerInfo.Sex == 1)
@ -274,6 +276,10 @@ namespace Assets.Scripts.Scenes.VideoRide
InitCurrentPlayer();
ContinueAsync();
}
else
{
SetCyclingModel(CyclingModel.Single);
}
}
//初始化人物模型
public void InitCurrentPlayer()
@ -365,7 +371,9 @@ namespace Assets.Scripts.Scenes.VideoRide
private void MockDirection()
{
var arr = mapRoute.ARConfig.Replace("\r\n", " ").Split(' ');
//var arr = mapRoute.ARConfig.Replace("\r\n", " ").Split(' ');
var text = Resources.Load<TextAsset>("UI/direction");
var arr = text.text.Replace("\r\n", " ").Split(' ');
foreach (var item in arr)
{
if (string.IsNullOrEmpty(item))
@ -521,7 +529,8 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var mapApi = ConfigHelper.mapApi;
int routeId = App.RouteIdParam;
mapData = mapApi.GetData(routeId,20);//获取路书地理数据
if(routeId > 0)
mapData = mapApi.GetData(routeId,0);//获取路书地理数据
}
return mapData;
}

View File

@ -270,12 +270,12 @@ namespace Assets.Scripts.Scenes.VideoRide
//进入观察模式
private void WatchHandler(BaseEventData data)
{
manager.SetCurrentMode(VideoGameManager.ARMode.INSPECT);
var canvasGroup = transform.GetComponent<CanvasGroup>();
var ui = manager.GetCanvasTransform();
canvasGroup.DOFade(0, 1).onComplete += () => {
gameObject.SetActive(false);
ui.Find("Panel").gameObject.SetActive(true);
ui.gameObject.SetActive(true);
manager.SetCurrentMode(VideoGameManager.ARMode.INSPECT);
};
}
protected void Cancel(BaseEventData baseEvent)

View File

@ -72,7 +72,10 @@ namespace Assets.Scripts.Scenes.VideoRide
{
mapName.text = manager.GetMapRoute().Name;
#if UNITY_EDITOR
infoText.gameObject.SetActive(true);
infoText.text = $"帧数:{manager.GetCurrentFrame()}";
#endif
if (manager.CurrentPlayer != null)
{
power.text = Math.Round(manager.CurrentPlayer.power).ToString();
@ -230,6 +233,8 @@ namespace Assets.Scripts.Scenes.VideoRide
}
public void SaveAndShowResult()
{
if (manager._aRMode == VideoGameManager.ARMode.INSPECT)
SceneManager.LoadScene("MainScene");
videoPlayer = FindObjectOfType<VideoPlayer>();
videoPlayer?.Upload();
//show result

View File

@ -11,7 +11,7 @@ class GameRoomPlayerPanel : MonoBehaviour
public Text ftpTxt;
public RawImage head;
public GameObject player;
public GameObject owner;
public GameObject playerModal;
public GameObject notInUseModal;
@ -74,6 +74,20 @@ class GameRoomPlayerPanel : MonoBehaviour
owner.SetActive(isOwner);
IsOwner = isOwner;
ready.SetActive(!isOwner && Status == 1);
//生成3d人物
if (sex == 1)
{
player = Instantiate(Resources.Load<GameObject>("UI/Prefab/GameRoom/GameRoomPlayer"));
}
else
{
player = Instantiate(Resources.Load<GameObject>("UI/Prefab/GameRoom/GameRoomPlayer_NV"));
}
player.layer = 9 + sort;
foreach (Transform item in player.GetComponentInChildren<Transform>())
{
item.gameObject.layer = player.layer;
}
}
public void UpdatePlayer(int userId, string userName, string headUrl, double weight, float ftp, bool isOwner, int Status,int sex)
@ -108,6 +122,7 @@ class GameRoomPlayerPanel : MonoBehaviour
UserId = 0;
notInUseModal.SetActive(false);
inviteModal.SetActive(true);
player?.Destroy();
}
public void NotInUse()
{

View File

@ -12,7 +12,7 @@ using System;
public class GameRoomResult : MonoBehaviour
{
VideoGameManager manager;
CyclingController manager;
RawImage Head;
Text Ranking;
Text Timer;
@ -38,7 +38,7 @@ public class GameRoomResult : MonoBehaviour
Text CloseTitle { get; set; }
private void Awake()
{
manager = FindObjectOfType<VideoGameManager>();
manager = FindObjectOfType<CyclingController>();
var closeBtn = transform.Find("Close").gameObject;
Head = transform.Find("Mine/Head").GetComponent<RawImage>();
Ranking = transform.Find("Mine/Ranking").GetComponent<Text>();
@ -119,7 +119,7 @@ public class GameRoomResult : MonoBehaviour
CloseTime.gameObject.SetActive(true);
}
//当前用户排名
var currentRanking = list.Where(c => c.UserId == manager.CurrentPlayer.UserId).FirstOrDefault();
var currentRanking = list.Where(c => c.UserId == manager.currentPlayer.UserId).FirstOrDefault();
if (currentRanking != null)
{
Utils.DisplayImage(Head, currentRanking.WxHeadImg, true);

View File

@ -272,7 +272,15 @@ public class MapItem : MonoBehaviour, IPointerExitHandler, IPointerEnterHandler,
App.MainSceneParam["Name"] = "MapListPanel";
}
}
SceneManager.LoadScene("Ride");
//判断是否启用了AR骑行
if (map.EnableAR)
{
SceneManager.LoadScene("VideoPlay");
}
else
{
SceneManager.LoadScene("Ride");
}
//foreach (var item in Utils.propTextureCache)
//{
// DestroyImmediate(item.Value);

View File

@ -31,6 +31,11 @@ public class GameRoomCountDownController : PFUIPanel
endCount.gameObject.SetActive(isEnd);
}
public override void Close()
{
base.Close();
}
float timer = 0f;
private void Update()
{

View File

@ -865,7 +865,7 @@ public class GameRoomListController : PFUIPanel
private async void GetList()
{
if (isEnd) return;
var res = await ConfigHelper.mapApi.GetList(pageIndex, pageSize, ftname, distance, string.Join(",", hands), is3d, sort, sortDire, isEnableAR:isEnableAR);
var res = await ConfigHelper.mapApi.GetList(pageIndex, pageSize, ftname, distance, string.Join(",", hands), is3d, sort, sortDire, isEnableAR:false);//isEnableAR TODO:临时禁用AR地图
if (res.result)
{
if (res.data.Count == 0)

View File

@ -107,7 +107,7 @@ public class GameRoomLoadingController : PFUIPanel
}
//判断是否进入骑行场景
var startTime = GameRoom.StartTime;
var singleUi = FindObjectOfType<SingleUIManager>();
var singleUi = FindObjectOfType<GameRoomUIManager>();
if (startTime.HasValue)
{
var dateTime = UIManager.Now.GetDateTime();

View File

@ -258,6 +258,7 @@ public class Davinci : MonoBehaviour
if (duplicate)
{
Debug.Log("[Davinci] Start Duplicate.");
finish();
return;
}
try

View File

@ -27,7 +27,14 @@ public class StartRideModal : PFUIPanel
if (map != null)
{
App.RouteIdParam = map.Id;
SceneManager.LoadScene("Ride");
if (map.EnableAR)
{
SceneManager.LoadScene("VideoPlay");
}
else
{
SceneManager.LoadScene("Ride");
}
}
});
}

View File

@ -265,7 +265,7 @@ public class TestVideoController : MonoBehaviour
var t = next.KeyFrame - pre.KeyFrame == 0? 1 : (float)(currentFrame - pre.KeyFrame) / (float)(next.KeyFrame - pre.KeyFrame);
var rt = Vector3.Lerp(p, q, t);
Player.DORotate(rt, 0, RotateMode.Fast);
//控制人物的前后左右
//控制人物的前后左右上下
var l = new Vector3(pre.PositionX, pre.PositionY, pre.PositionZ);
var s = new Vector3(next.PositionX, next.PositionY, next.PositionZ);
var pos = Vector3.Lerp(l, s, t);
@ -390,6 +390,15 @@ public class TestVideoController : MonoBehaviour
var frame = GetCurrentFrame() + 1;
SeekToFrame(frame);
}
//控制人物上下
if (Input.GetKey(KeyCode.UpArrow))
{
setHeroState(UP);
}
if (Input.GetKey(KeyCode.DownArrow))
{
setHeroState(DOWN);
}
}
private void PlayOrPause()
{
@ -463,6 +472,8 @@ public class TestVideoController : MonoBehaviour
public const int HERO_RIGHT = 1;
public const int HERO_DOWN = 2;
public const int HERO_LEFT = 3;
public const int UP = 4;
public const int DOWN = 5;
//人物当前行走的方向状态
public int state = 0;
@ -488,6 +499,12 @@ public class TestVideoController : MonoBehaviour
case HERO_RIGHT:
transformValue = (-Vector3.left) * Time.deltaTime;
break;
case UP:
transformValue = (Vector3.up) * Time.deltaTime;
break;
case DOWN:
transformValue = (Vector3.down) * Time.deltaTime;
break;
}
////移动人物
Player.Translate(transformValue * moveSpeed, Space.World);

View File

@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1200 &1
AutoStreamingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
mSearchMode: 15
mCustomSearchFile:
mTextureSearchString:
mMeshSearchString:
mTextures: []
mAudios: []
mMeshes: []
mScenes: []
mConfigCCD:
useCCD: 0
cosKey:
projectGuid:
bucketUuid:
bucketName:
badgeName:

View File

@ -1,2 +1,2 @@
m_EditorVersion: 2019.4.22f1c1
m_EditorVersionWithRevision: 2019.4.22f1c1 (ea76eba460f9)
m_EditorVersion: 2019.4.40f1c1
m_EditorVersionWithRevision: 2019.4.40f1c1 (bcafa7f80565)