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 fileFormatVersion: 2
guid: eadcc416ce4d71c44b98deff48e687de guid: 657cb2a2ec6787d43be32edf8aa192cb
ModelImporter: ModelImporter:
serializedVersion: 19301 serializedVersion: 19301
internalIDToNameTable: 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_HorizontalOverflow: 1
m_VerticalOverflow: 1 m_VerticalOverflow: 1
m_LineSpacing: 0 m_LineSpacing: 0
m_Text: 'Owner m_Text: Owner
'
--- !u!114 &1196958514764798091 --- !u!114 &1196958514764798091
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -413,6 +411,11 @@ PrefabInstance:
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8409632710808685932, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Text
value: Owner
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9b1b32cc3fc7584b9542312671ca2a4, type: 3} m_SourcePrefab: {fileID: 100100000, guid: d9b1b32cc3fc7584b9542312671ca2a4, type: 3}
--- !u!224 &4579759974294400264 stripped --- !u!224 &4579759974294400264 stripped

View File

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

View File

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

View File

@ -122,6 +122,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: m_Children:
- {fileID: 994686065624044129} - {fileID: 994686065624044129}
- {fileID: 2879494179160928067}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -152,3 +153,96 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
newNav: {fileID: 0} newNav: {fileID: 0}
count: {fileID: 994686065624044130} 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_Alignment: 3
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: ID m_Text: ID
@ -310,6 +310,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
newNav: {fileID: 0} newNav: {fileID: 0}
versionText: {fileID: 130627678952846131}
Avatar: {fileID: 5004100674370775688} Avatar: {fileID: 5004100674370775688}
idText: {fileID: 130627679763004984} idText: {fileID: 130627679763004984}
roomName: {fileID: 6764779855226780961} roomName: {fileID: 6764779855226780961}
@ -5250,6 +5251,16 @@ PrefabInstance:
m_Modification: m_Modification:
m_TransformParent: {fileID: 130627679731738850} m_TransformParent: {fileID: 130627679731738850}
m_Modifications: 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, - target: {fileID: 4262002136603205336, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_Material propertyPath: m_Material
@ -5260,6 +5271,11 @@ PrefabInstance:
propertyPath: m_IsActive propertyPath: m_IsActive
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4262002136614126872, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002136707163173, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3, - target: {fileID: 4262002136707163173, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_Material propertyPath: m_Material
@ -5375,6 +5391,21 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 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, - target: {fileID: 4262002137219612045, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_AnchorMax.y propertyPath: m_AnchorMax.y
@ -5390,6 +5421,11 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.x propertyPath: m_AnchoredPosition.x
value: 20 value: 20
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4262002137281357260, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 4262002137339273005, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3, - target: {fileID: 4262002137339273005, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_Material propertyPath: m_Material
@ -5405,11 +5441,31 @@ PrefabInstance:
propertyPath: m_Material propertyPath: m_Material
value: value:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4262002137414878523, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4262002137557868745, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3, - target: {fileID: 4262002137557868745, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_SizeDelta.x propertyPath: m_SizeDelta.x
value: 0 value: 0
objectReference: {fileID: 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, - target: {fileID: 4262002137616777671, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_Material propertyPath: m_Material
@ -5420,11 +5476,26 @@ PrefabInstance:
propertyPath: m_Material propertyPath: m_Material
value: value:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4262002137773332168, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 5694922919852029242, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3, - target: {fileID: 5694922919852029242, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: sort propertyPath: sort
value: 1 value: 1
objectReference: {fileID: 0} 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, - target: {fileID: 5733267285826970431, guid: 3a88f1158e6bd6a4ba0d3f37f99e9ea3,
type: 3} type: 3}
propertyPath: m_Material 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {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_SizeDelta: {x: 258, y: 215}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8346800866131681677 --- !u!222 &8346800866131681677
@ -4992,7 +4992,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {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_SizeDelta: {x: 258, y: 215}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3490997052799924446 --- !u!222 &3490997052799924446

View File

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

View File

@ -1,61 +1,346 @@
10:10,-5,0,-,-,- 1:5.4,0,1.152,-1,3.012,-30.176
243:-15,10,0,-,-,- 24:1,0,1.273,-1,3.55,-30
250:-2,0,0.1980198,-1,3,0.346829 148:-8.985,0,0.834,-1,3.208,-30
312:-15,10,0.5903499,-1,4.181554,0.346829 174:2.2,4.5,0.834,-1,3.208,-30
656:-3.2,0.8,0.5766783,-1,3.424655,0.346829 176:-4.6,0,0.834,-1,3.578,-30
849:30,-10,2,-,-,- 284:-12.2,0,0.834,-1,3.208,-30
853:15.6,-3.2,1.724637,-1,3,0.346829 390:-13.2,1.7,0.834,-1,3.208,-30
902:29.4,-9,1.548859,-1,3,0.346829 436:-9.4,-2.6,0.498,-1,3,-30
937:39.2,-9,1.886684,-1,3,0.346829 478:-3.8,-0.3,0.739,-1,3.67,-30
1055:15,-15,1,-,-,- 587:-5.8,0,1.1,-1,3.204,-30
1100:10,0,0,-,-,- 838:9.6,-5.3,0.799,-1,3.204,-30
1220:10,5,0,-,-,- 1055:5.4,0,0.799,-1,3.204,-30
1330:-10,5,0,-,-,- 1130:10.6,2.4,1.166,-1,3.437,-30
1899:5,-5,1,-,-,- 1131:9.2,1.2,1.166,-1,3.437,-30
1925:10,-5,1,-,-,- 1281:0.8,0,1.341,-1,3.459,-30
2524:-5,5,1,-,-,- 1395:5.4,3.9,1.395,-1,3.474,-30
2960:10,-5,1,-,-,- 1554:7.178,10.061,1.453,-1,3.727,-30
3120:15,-5,0,-,-,- 1698:-4.2,0.2,1.064,-1,3.618,-30
3300:5,5,0,-,-,- 1795:-5.6,1.3,1.205,-1,3.65,-30
3555:-10,5,0,-,-,- 1822:-6.6,-4.2,1.039,-1,3.684,-30
3967:-10,5,1,-,-,- 1975:-1.4,-4.9,1.363,-1,3.803,-30
4483:10,-5,1,-,-,- 2001:-1.4,-3.5,1.633,-1,3.803,-30
4590:15,-5,1,-,-,- 2113:4.4,-3.5,1.303,-1,3.803,-30
4817:-5,0,1,-,-,- 2170:8.6,-7.6,1.074,-1,3.803,-30
5191:5,0,1,-,-,- 2228:10.4,-9.3,1.065,-1,3.803,-30
5279:10,0,1,-,-,- 2302:10.4,-3.6,0.839,-1,3,-30
5327:-29.2,14.6,1,-1,3,0.103382 2370:8,-4,1.372,-1,3.67,-30
5347:6.182,0,0.8091168,-1,3,0.103382 2460:8,-5.7,1.117,-1,3.96,-30
5630:-10,0,0,-,-,- 2543:8,-7.4,1.109,-1,3.598,-30
6551:7,-3.5,0.437785,-1,3,0.2581649 2588:8,-9.6,0.968,-1,3.598,-30
6578:5,-5,0,-,-,- 2645:8,-5.9,1.102,-1,3.598,-30
6650:5,-5,0.5274182,-1,4.056354,0.2581649 2721:12,-5.1,1.309,-1,3.598,-30
6722:5,-5,1.109839,-1,4.776485,0.2581649 3112:22.2,3.2,1.82,-1,3.565,-30
6746:9.6,-4.8,0.6498283,-1,3.204519,0.1984781 3171:15.4,6.2,1.954,-1,3.68,-30
7838:5,-5,1,-,-,- 3196:9.2,4.5,1.549,-1,3.731,-30
7919:15,0,1,-,-,- 3247:9.2,5.8,1.055,-1,3.829,-30
8258:7.6,-3.8,0.3524806,-1,3,0.0379531 3280:9.2,7.1,1.055,-1,3.829,-30
8471:10,0,1,-,-,- 3339:-8.2,7.1,1.055,-1,3.829,-30
9343:0.208,0.816,0.5723592,-1,3,0.1984781 3505:-2.4,2.9,1.287,-1,3.829,-30
9498:-2,1,0.8148468,-1,3,0.2581649 3554:2.6,0,1.287,-1,3.829,-30
9536:-5,0,0,-,-,- 3733:10.8,-3,1.17,-1,3.776,-30
9605:-10,0,0,-,-,- 3748:10.8,-6,0.785,-1,3.829,-30
9819:-5.4,2.7,0,-1,3,0.2581649 3806:18.4,-9.7,0.972,-1,3.829,-30
10012:-0.8,0.4,0.03605918,-1,2.8166,0.0379531 3857:19.8,-5.4,1.312,-1,3.829,-30
10123:5,0,0,-,-,- 3919:17.4,-0.9,1.895,-1,4.168,-30
10396:7.8,-3.9,0.3329708,-1,3,0.2581649 3954:13.6,2.4,1.699,-1,4.102,-30
10500:-5,0,0,-,-,- 4042:13.6,3.7,1.908,-1,4.022,-30
10546:3,-1.5,0,-1,3,0.2581649 4157:9,1.9,1.852,-1,4.333,-30
10807:5,0,0,-,-,- 4318:-4.2,0,1.035,-1,3.519,-30
10834:15,-5,1,-,-,- 4366:-1.194,3.902,1.035,-1,3.519,-30
10989:18.6,-9.3,0.3640011,-1,3,0.1984781 4422:-5.684,8.182,1.068,-1,3.519,-30
11033:5,-5,1,-,-,- 4480:-7.2,0.5,1.035,-1,3.519,-30
11348:8.6,-4.3,0,-1,3,0.2581649 4536:0,-1,1.136,-1,3.571,-30
11400:5,-5,1,-,-,- 4630:3,2.9,1.136,-1,3.571,-30
11528:5,0,1,-,-,- 4651:1.4,2.6,1.1,-1,3.667,-30
11734:-5,0,0,-,-,- 4699:6.2,0.3,1.422,-1,3.78,-30
11956:8.400001,-4.2,0,-1,3,0.2581649 4753:2.2,2.6,1.322,-1,3.913,-30
12170:-25,5,0,-,-,- 4850:3,3.2,1.431,-1,3.913,-30
12244:-25,12.5,0,-1,3,0.2566484 4896:4.2,1.4,1.804,-1,3.913,-30
12381:0.6,-0.3,-0.2828478,-1,4.114982,0.1984781 4923:3.388,4.808,1.804,-1,3.913,-30
12604:1.6,-0.8,0,-1,3,0.2566484 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": "编辑", "Edit": "编辑",
"Record": "记录", "Record": "记录",
"More": "更多", "More": "更多",
"Remaining": "比赛结束倒计时", "Remaining": "比赛结束倒计时:",
"Close Gate": "关门时间", "Close Gate": "关门时间:",
"Start Time": "比赛开始时间:", "Start Time": "开始时间:",
"Start for Registration": "报名开始时间", "Start for Registration": "报名开始时间",
"Deadline for Registration": "报名截止时间", "Deadline for Registration": "报名截止时间",
"WATTS": "功率", "WATTS": "功率",
@ -317,8 +317,8 @@
"RIDERS": "骑行人数", "RIDERS": "骑行人数",
"Current ride distance too short to save.": "当前骑行距离过短无法保存", "Current ride distance too short to save.": "当前骑行距离过短无法保存",
"NO RIDERS": "暂无用户", "NO RIDERS": "暂无用户",
"Current Version:": "当前版本", "Current Version:": "当前版本:",
"Latest Version:": "最新版本", "Latest Version:": "最新版本:",
"Confirm participation": "确认参加活动", "Confirm participation": "确认参加活动",
"Light up China Share": "快来和我一起点亮中国吧!", "Light up China Share": "快来和我一起点亮中国吧!",
"Copy Success": "复制成功", "Copy Success": "复制成功",
@ -379,7 +379,48 @@
"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": "对战" "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": { "en": {
"HOT ROUTES": "HOT ROUTES", "HOT ROUTES": "HOT ROUTES",
@ -754,6 +795,47 @@
"Delete Your Route": "Delete Your Route", "Delete Your Route": "Delete Your Route",
"Are you sure you want to delete this route?": "Are you sure you want to delete this route?", "Are you sure you want to delete this route?": "Are you sure you want to delete this route?",
"DELETE ACCOUNT": "DELETE ACCOUNT", "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> /// </summary>
/// <param name="url"></param> /// <param name="url"></param>
/// <returns></returns> /// <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> /// <summary>

View File

@ -147,12 +147,15 @@ namespace Assets.Scripts.Apis.Models
foreach (var item in list) foreach (var item in list)
{ {
var user = userList.Where(c => c.Id == item.UserId).FirstOrDefault(); var user = userList.Where(c => c.Id == item.UserId).FirstOrDefault();
item.WxHeadImage = user?.HeadImage; if (user != null)
item.FTP = user.FTP; {
item.Weight = user.Weight; item.WxHeadImage = user.HeadImage;
item.Name = user.Name; item.FTP = user.FTP;
item.Sex = user.Sex; item.Weight = user.Weight;
item.Country = user.Country; item.Name = user.Name;
item.Sex = user.Sex;
item.Country = user.Country;
}
} }
} }
return list; return list;
@ -167,6 +170,11 @@ namespace Assets.Scripts.Apis.Models
public int Rank { get; set; } public int Rank { get; set; }
public string Country { get; set; } public string Country { get; set; }
public string TotalTime { 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 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 Url { get; set; }
public string FileName { get; set; } public string FileName { get; set; }
public int FileSize { 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]; var m = msgs[selectIndex];
if (msgIndex >= 5) // if (msgIndex >= 5) //
{ {
//msgIndex = 0;
Sequence se = DOTween.Sequence(); Sequence se = DOTween.Sequence();
//m.transform.DOLocalMoveY(m.transform.localPosition.y - 38, 0.5f);
foreach (var item in msgs) foreach (var item in msgs)
{ {
se.Join(item.transform.DOLocalMoveY(item.transform.localPosition.y - moveOffset, 0.5f)); 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 userName = arr[1];
var roomName = arr[2]; var roomName = arr[2];
var roomId = Convert.ToInt32(arr[3]); 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?")}"; 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.ShowConfirm(App.GetLocalString("Invitition"), content, () => {
UIManager.CloseConfirm(); UIManager.CloseConfirm();

View File

@ -167,16 +167,21 @@ namespace Assets.Scenes.Ride.Scripts
public void setUserId(int userId,string WxHeadImg) public void setUserId(int userId,string WxHeadImg)
{ {
_userId = userId; _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) if (isself)
{ {
Utils.DisplayImage(Head, WxHeadImg, true); Utils.DisplayImage(Head, WxHeadImg, true);
} }
Head.gameObject.SetActive(isself); 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.Scenes.Ride.Scripts.Model.RiderModels;
using Assets.Scripts;
using Assets.Scripts.Apis.Models; using Assets.Scripts.Apis.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
{ {
@ -14,7 +13,9 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
/// 第一个到终点的时间 /// 第一个到终点的时间
/// </summary> /// </summary>
public DateTime? FirstEndTime { get; private set; } public DateTime? FirstEndTime { get; private set; }
public int? FirstUserId { get; private set; }
public GameRoomModel GameRoom { get; private set; } public GameRoomModel GameRoom { get; private set; }
public List<RoomRankItem> mapWorkoutRecordRankings = new List<RoomRankItem>();
public GameModel(Route route,RouteResultParam param) public GameModel(Route route,RouteResultParam param)
: base(route, CyclingModel.Single) : base(route, CyclingModel.Single)
@ -87,15 +88,69 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
protected override void BeforeRunAfterPakcData() protected override void BeforeRunAfterPakcData()
{ {
base.BeforeRunAfterPakcData(); base.BeforeRunAfterPakcData();
int index = 0;
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); 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()) if (userList.Any())
{ {
//计算关门时间
foreach (var item in userList) foreach (var item in userList)
{ {
if(!FirstEndTime.HasValue && item.IsCompleted) if (!FirstEndTime.HasValue && item.IsCompleted)
{
FirstEndTime = Now.AddMinutes(GameRoom.CloseTime); 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.Scenes.Ride.Scripts;
using Assets.Scripts.Apis.Models; using Assets.Scripts.Apis.Models;
using Assets.Scenes.Ride.Scripts.Model;
using DG.Tweening; using DG.Tweening;
using Mapbox.Utils; using Mapbox.Utils;
using System; using System;
@ -85,45 +86,21 @@ namespace Assets.Scripts.Scenes.VideoRide
//人物移动速度 //人物移动速度
public int moveSpeed = 2; 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() protected virtual void Update()
{ {
timer -= Time.deltaTime; timer -= Time.deltaTime;
CreateHeadImage(); CreateHeadImage();
Turn(); Turn();
while (timer <= 0) while (timer <= 0)
{ {
try try
{ {
ComputeNextSlope();//计算下一个坡度 ComputeNextSlope();//计算下一个坡度
ComputePlayer();//计算人物属性
if (GetStart()) if (GetStart())
{ {
ticks++; ticks++;
ComputePlayer();//计算人物属性
Forward(); Forward();
ComputeRecord(); ComputeRecord();
ComputeVideo(); ComputeVideo();
@ -223,14 +200,14 @@ namespace Assets.Scripts.Scenes.VideoRide
speed = 0; speed = 0;
distance = 0; distance = 0;
} }
//一旦有功率就开始骑行、否则暂停 ////一旦有功率就开始骑行、否则暂停
if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit() && manager.cyclingModel == Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single) //if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit() && manager.cyclingModel == CyclingModel.Single)
{ //{
if (power > 0) // if (power > 0)
{ // {
manager.StartGame(); // manager.StartGame();
} // }
} //}
} }
Vector3 current { get; set; } Vector3 current { get; set; }
Vector3 forward { get; set; } Vector3 forward { get; set; }
@ -264,8 +241,8 @@ namespace Assets.Scripts.Scenes.VideoRide
} }
if (manager.CurrentPlayer != null && manager.CurrentPlayer.UserId != UserId) if (manager.CurrentPlayer != null && manager.CurrentPlayer.UserId != UserId)
return; return;
//ratio = (float)Math.Round(ratio, 1);
manager.Play(ratio); manager.Play(totalDistance);
if (ratio > 1) if (ratio > 1)
{ {
@ -303,6 +280,7 @@ namespace Assets.Scripts.Scenes.VideoRide
decimal right = (decimal)sumDistance; decimal right = (decimal)sumDistance;
if (left <= right) if (left <= right)
{ {
Debug.Log($"当前索引{i}");
currentIndex = i; currentIndex = i;
break; break;
} }

View File

@ -119,9 +119,9 @@ namespace Assets.Scripts.Scenes.VideoRide
var screenWidth = UnityEngine.Screen.width; var screenWidth = UnityEngine.Screen.width;
var screenHeight = UnityEngine.Screen.height; 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 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); var ne = _map.WorldToGeoPosition(ne_world);
return new Vector2dBounds(new Vector2d(sw.x, sw.y), new Vector2d(ne.x, ne.y)); 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 left = totalDistance % mapData.TotalDistance;
//var right = current.totalDistance % mapData.TotalDistance; //var right = current.totalDistance % mapData.TotalDistance;
//diff = (left - right) * 1000; //diff = (left - right) * 1000;
if (Math.Abs(diff) > 150) if (Math.Abs(diff) > 100)
{ {
Destroy(); Destroy();
} }

View File

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

View File

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

View File

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

View File

@ -5,6 +5,7 @@ using UnityEngine.EventSystems;
using UnityEngine.UI; using UnityEngine.UI;
using DG.Tweening; using DG.Tweening;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
namespace Assets.Scripts.Scenes.VideoRide namespace Assets.Scripts.Scenes.VideoRide
{ {
@ -43,6 +44,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//modal //modal
GameObject settingPanel { get; set; } GameObject settingPanel { get; set; }
GameObject resultPanel { get; set; } GameObject resultPanel { get; set; }
GameObject gameRoomResultPanel { get; set; }
//ftp //ftp
GameObject ftpPanel { get; set; } GameObject ftpPanel { get; set; }
@ -136,6 +138,7 @@ namespace Assets.Scripts.Scenes.VideoRide
//modal //modal
settingPanel = transform.Find("Panel/SettingPanel").gameObject; settingPanel = transform.Find("Panel/SettingPanel").gameObject;
resultPanel = transform.Find("Panel/ResultPanel").gameObject; resultPanel = transform.Find("Panel/ResultPanel").gameObject;
gameRoomResultPanel = transform.Find("Panel/GameRoomResult").gameObject;
// //
explosive = transform.Find("Panel/Explosive").gameObject; explosive = transform.Find("Panel/Explosive").gameObject;
//toolbar 事件注册 //toolbar 事件注册
@ -225,6 +228,25 @@ namespace Assets.Scripts.Scenes.VideoRide
videoResultScript.InjectController(manager); videoResultScript.InjectController(manager);
videoResultScript.SetDataSource(manager.cyclingController.recorderData); 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) private void QuitClick(BaseEventData e)
{ {
if (manager._aRMode == VideoGameManager.ARMode.RIDE) 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?", UIManager.ShowConfirm("Quit", "Do you want to keep the record?",
() => () =>
{ {
videoPlayer = FindObjectOfType<VideoPlayer>(); SaveAndShowResult();
videoPlayer?.Upload();
UIManager.CloseConfirm(); UIManager.CloseConfirm();
//show result
resultPanel.SetActive(true);
resultPanel.transform.SetAsLastSibling();
var videoResultScript = resultPanel.GetComponent<VideoResultScript>();
videoResultScript.InjectController(manager);
videoResultScript.SetDataSource(manager.cyclingController.recorderData);
}, },
2, 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) public void Init(int Id,string fileName,string url, GameRoomListController gameRoomListController)
{ {
RoomId = Id; RoomId = Id;
@ -74,6 +82,12 @@ class GameRoomDownLoad : MonoBehaviour
FileUrl = url; FileUrl = url;
manager = gameRoomListController; manager = gameRoomListController;
} }
public void ComeIntoStep2(string fileName)
{
FileName = fileName;
step2.SetActive(true);
step3.SetActive(false);
}
private void Reset() private void Reset()
{ {
@ -86,6 +100,18 @@ class GameRoomDownLoad : MonoBehaviour
Reset(); Reset();
gameObject.SetActive(false); 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) private void DownloadClick(BaseEventData baseEventData)
{ {
@ -105,16 +131,8 @@ class GameRoomDownLoad : MonoBehaviour
Loom.Current.StartCoroutine(Utils.DownloadVideo(fileName, url Loom.Current.StartCoroutine(Utils.DownloadVideo(fileName, url
, (p, req) => , (p, req) =>
{ {
downloadSlider.value = p;
currentTask.UpdateProcess(p); currentTask.UpdateProcess(p);
if (Loom.DownLoadTaskList.ContainsKey(FileName)) processing(p);
{
Loom.DownLoadTaskList[FileName] = p;
}
else
{
Loom.DownLoadTaskList.Add(FileName, p);
}
} }
, (p) => , (p) =>
{ {

View File

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

View File

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

View File

@ -43,20 +43,19 @@ class GameRoomPlayerPanel : MonoBehaviour
UIManager.AddEvent(gameObject, EventTriggerType.PointerClick, (e) => UIManager.AddEvent(gameObject, EventTriggerType.PointerClick, (e) =>
{ {
if (App.gameRoomDetail.UserId != App.CurrentUser.Id) if (App.gameRoomDetail.UserId == UserId)
return; return;
kickModal.SetActive(true); kickModal.SetActive(true);
}); });
UIManager.AddEvent(cancelBtn, EventTriggerType.PointerClick, (e) => UIManager.AddEvent(cancelBtn, EventTriggerType.PointerClick, (e) =>
{ {
if (App.gameRoomDetail.UserId != App.CurrentUser.Id)
return;
kickModal.SetActive(false); kickModal.SetActive(false);
}); });
UIManager.AddEvent(kickBtn, EventTriggerType.PointerClick, (e) => UIManager.AddEvent(kickBtn, EventTriggerType.PointerClick, (e) =>
{ {
if (App.gameRoomDetail.UserId != App.CurrentUser.Id) if (App.gameRoomDetail.UserId != App.CurrentUser.Id)
return; return;
kickModal.SetActive(false);
MapUDPService.SendGameRoomKick(App.gameRoomDetail.RoomId, UserId, App.CurrentUser.Id); 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 System;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
@ -6,6 +7,7 @@ using UnityEngine.UI;
public class GameRoomCountDownController : PFUIPanel public class GameRoomCountDownController : PFUIPanel
{ {
public Text count; public Text count;
public Text endCount;
private int Seconds { get; set; } private int Seconds { get; set; }
public GameRoomModel GameRoom { get; set; } public GameRoomModel GameRoom { get; set; }
@ -22,10 +24,11 @@ public class GameRoomCountDownController : PFUIPanel
base.Show(); base.Show();
} }
public void Init(int seconds,Action action) public void Init(int seconds,Action action,bool isEnd = false)
{ {
Seconds = seconds; Seconds = seconds;
Callback = action; Callback = action;
endCount.gameObject.SetActive(isEnd);
} }
float timer = 0f; float timer = 0f;
@ -44,7 +47,8 @@ public class GameRoomCountDownController : PFUIPanel
} }
else else
{ {
count.text = Seconds.ToString(); count.text = Helper.FormatTicks(Seconds);
endCount.text = Helper.FormatTicks(Seconds);
} }
Seconds--; Seconds--;
timer += 1f; timer += 1f;

View File

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

View File

@ -59,6 +59,7 @@ public class GameRoomListController : PFUIPanel
private GameObject btn40; private GameObject btn40;
private GameObject btn50; private GameObject btn50;
private GameObject btn60; private GameObject btn60;
private GameObject btnMore;
private GameObject btn2; private GameObject btn2;
private GameObject btn3; private GameObject btn3;
@ -172,12 +173,12 @@ public class GameRoomListController : PFUIPanel
Total = roomList.GameRoomTotal; Total = roomList.GameRoomTotal;
ListChanged = true; ListChanged = true;
} }
else //else
{ //{
list = null; // list = null;
Total = 0; // Total = 0;
ListChanged = true; // ListChanged = true;
} //}
//查询自己当前创建的房间信息并进入 //查询自己当前创建的房间信息并进入
var info = message.Where(c => c.RoomList != null && c.RoomList.Where(o => o.UserId == App.CurrentUser.Id && o.Status == 0).Any()).FirstOrDefault(); 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) if (info != null)
@ -210,20 +211,6 @@ public class GameRoomListController : PFUIPanel
public override void Show() public override void Show()
{ {
base.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"; App.Model = "GameRoom";
MapUDPService.MessageListener = ListenerHandler; MapUDPService.MessageListener = ListenerHandler;
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName); MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName);
@ -275,6 +262,20 @@ public class GameRoomListController : PFUIPanel
CreateClicked = false; CreateClicked = false;
UIManager.ShowGameRoomDetailPanel(); 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() private void InitStep1()
@ -290,7 +291,14 @@ public class GameRoomListController : PFUIPanel
UIManager.RemoveEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag); UIManager.RemoveEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag);
UIManager.AddEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag, OnEndDrag); 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"); distanceOptions = topContainer.Find("distanceOptions");
if (distanceOptions != null) if (distanceOptions != null)
{ {
@ -320,12 +328,12 @@ public class GameRoomListController : PFUIPanel
Refresh(); Refresh();
}); });
} }
//是否收藏 //是否AR
if (favContainer != null) if (favContainer != null)
{ {
isEnableAR = true;//默认勾选ar
var g = favContainer.Find("Gou").gameObject; var g = favContainer.Find("Gou").gameObject;
g.SetActive(false); g.SetActive(isEnableAR);
isEnableAR = false;
UIManager.RemoveEvent(favContainer.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick); UIManager.RemoveEvent(favContainer.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick);
UIManager.AddEvent(favContainer.gameObject, EventTriggerType.PointerClick, (e)=> { UIManager.AddEvent(favContainer.gameObject, EventTriggerType.PointerClick, (e)=> {
var gou = e.selectedObject.transform.Find("Gou").gameObject; 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); 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); MapList.SetActive(false);
CreateClicked = true; CreateClicked = true;
Query();
}); });
} }
@ -493,6 +502,7 @@ public class GameRoomListController : PFUIPanel
btn40 = right2.transform.Find("btn40").gameObject; btn40 = right2.transform.Find("btn40").gameObject;
btn50 = right2.transform.Find("btn50").gameObject; btn50 = right2.transform.Find("btn50").gameObject;
btn60 = right2.transform.Find("btn60").gameObject; btn60 = right2.transform.Find("btn60").gameObject;
btnMore = right2.transform.Find("btnMore").gameObject;
//房间人数 //房间人数
btn2 = right2.transform.Find("btn2").gameObject; btn2 = right2.transform.Find("btn2").gameObject;
btn3 = right2.transform.Find("btn3").gameObject; btn3 = right2.transform.Find("btn3").gameObject;
@ -504,16 +514,19 @@ public class GameRoomListController : PFUIPanel
var minInputField = right2.transform.Find("MinInputField").GetComponent<InputField>(); var minInputField = right2.transform.Find("MinInputField").GetComponent<InputField>();
var roomNameInputField = right2.transform.Find("RoomNameInputField").GetComponent<InputField>(); var roomNameInputField = right2.transform.Find("RoomNameInputField").GetComponent<InputField>();
var passwordInputField = right2.transform.Find("PasswordInputField").GetComponent<InputField>(); var passwordInputField = right2.transform.Find("PasswordInputField").GetComponent<InputField>();
btnMore.SetActive(true);
hourInputField.gameObject.SetActive(false);
minInputField.gameObject.SetActive(false);
hourInputField.text = "0"; hourInputField.text = "0";
minInputField.text = "0"; minInputField.text = "0";
roomNameInputField.text = ""; RoomName = App.CurrentUser.Nickname + App.GetLocalString("'s Room");
passwordInputField.text = "";
RoomName = "";
Roompwd = ""; Roompwd = "";
roomNameInputField.text = RoomName;
passwordInputField.text = "";
hourInputField.GetComponent<Outline>().enabled = false; hourInputField.GetComponent<Outline>().enabled = false;
HandleFormInput(); HandleFormInput();
HandleCloseTimeBtnClick(0, ""); HandleMembersBtnClick(6, btn6.name);//默认6人
HandleMembersBtnClick(0, ""); HandleCloseTimeBtnClick(30, btn30.name);//默认关门时间30min
roomNameInputField.onValueChanged.RemoveAllListeners(); roomNameInputField.onValueChanged.RemoveAllListeners();
//房间名 //房间名
roomNameInputField.onValueChanged.AddListener((e) => { roomNameInputField.onValueChanged.AddListener((e) => {
@ -526,6 +539,7 @@ public class GameRoomListController : PFUIPanel
Roompwd = e; Roompwd = e;
HandleFormInput(); HandleFormInput();
}); });
UIManager.AddEvent(minInputField.gameObject, EventTriggerType.Select, (e) => { UIManager.AddEvent(minInputField.gameObject, EventTriggerType.Select, (e) => {
hourInputField.GetComponent<Outline>().enabled = true; hourInputField.GetComponent<Outline>().enabled = true;
HandleFormInput(); HandleFormInput();
@ -546,6 +560,12 @@ public class GameRoomListController : PFUIPanel
{ {
HandleCloseTimeBtnClick(60, btn60.name); 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.RemoveAllListeners();
hourInputField.onValueChanged.AddListener((e) => { hourInputField.onValueChanged.AddListener((e) => {
@ -560,7 +580,9 @@ public class GameRoomListController : PFUIPanel
CloseTime = hours * 60 + mins; CloseTime = hours * 60 + mins;
HandleCloseTimeBtnClick(CloseTime, minInputField.name); HandleCloseTimeBtnClick(CloseTime, minInputField.name);
}); });
//房间人数 //房间人数
UIManager.AddEvent(btn2, EventTriggerType.PointerClick, (e) => UIManager.AddEvent(btn2, EventTriggerType.PointerClick, (e) =>
{ {
HandleMembersBtnClick(2, btn2.name); HandleMembersBtnClick(2, btn2.name);
@ -877,7 +899,7 @@ public class GameRoomListController : PFUIPanel
next.GetComponent<Button>().interactable = false; next.GetComponent<Button>().interactable = false;
next.GetComponent<Button>().enabled = false; next.GetComponent<Button>().enabled = false;
HandleStepBtn(previous.name); HandleStepBtn(previous.name);
HandleCloseTimeBtnClick(0, ""); HandleCloseTimeBtnClick(30, btn30.name);//默认关门时间30min
MapList.SetActive(true); MapList.SetActive(true);
} }
@ -885,6 +907,7 @@ public class GameRoomListController : PFUIPanel
{ {
base.OnDisable(); base.OnDisable();
MapUDPService.MessageListener = null; MapUDPService.MessageListener = null;
App.Model = "";
} }
} }

View File

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

View File

@ -132,6 +132,7 @@ public class UIManager : MonoBehaviour
return this.GetPanelInstance("GameRoomCountDown", ref this.mGameRoomCountDownController); return this.GetPanelInstance("GameRoomCountDown", ref this.mGameRoomCountDownController);
} }
} }
private SettingContoller mSettingContoller; private SettingContoller mSettingContoller;
public SettingContoller SettingModal public SettingContoller SettingModal
{ {
@ -702,7 +703,7 @@ public class UIManager : MonoBehaviour
} }
if (UIManager.Instance.MainPanel != null && parent == UIManager.Instance.MainPanel) 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) if (modal)
@ -869,11 +870,11 @@ public class UIManager : MonoBehaviour
{ {
UIManager.Show(UIManager.Instance.GameRoomLoadingPanel, null, true); 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) 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); UIManager.Show(UIManager.Instance.GameRoomCountDownPanel, null, true);
} }

View File

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

View File

@ -32,7 +32,8 @@ public class TestVideoFrameButton : MonoBehaviour
public void SetBg(bool active) public void SetBg(bool active)
{ {
Bg.SetActive(active); if(Bg != null)
Bg.SetActive(active);
} }
public void SetInfo(int frame) public void SetInfo(int frame)