骑行代码迁移,赛事逻辑初步框架完成
This commit is contained in:
1 parent
380e67cc1e
commit
ec45246aa4
151 files changed
+7683
-3532
No files matched your search
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 54985e7690b31194e95a87aa6f8a95ad
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e23c97190520d2d4d835627a7d333d40
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 001ba3d76a793bc40b5db183ae441f11
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,234 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8655198199642205025
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8655198199642205024}
|
||||
- component: {fileID: 8655198199642205030}
|
||||
- component: {fileID: 8655198199642205031}
|
||||
m_Layer: 5
|
||||
m_Name: Title
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8655198199642205024
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198199642205025}
|
||||
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: 8655198200362386541}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0.000041962, y: 32.458}
|
||||
m_SizeDelta: {x: 498.98566, y: 64.915596}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8655198199642205030
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198199642205025}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8655198199642205031
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198199642205025}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 36
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 3
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Race begin after
|
||||
--- !u!1 &8655198200362386542
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8655198200362386541}
|
||||
- component: {fileID: 8655198200362386531}
|
||||
- component: {fileID: 8655198200362386540}
|
||||
m_Layer: 5
|
||||
m_Name: CountDownPanel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8655198200362386541
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200362386542}
|
||||
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: 8655198199642205024}
|
||||
- {fileID: 8655198200579522384}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -520.51, y: 141.25}
|
||||
m_SizeDelta: {x: -1101.0143, y: -742.5}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8655198200362386531
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200362386542}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8655198200362386540
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200362386542}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8655198200579522385
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8655198200579522384}
|
||||
- component: {fileID: 8655198200579522390}
|
||||
- component: {fileID: 8655198200579522391}
|
||||
m_Layer: 5
|
||||
m_Name: Timer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8655198200579522384
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200579522385}
|
||||
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: 8655198200362386541}
|
||||
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: -8, y: -39.375}
|
||||
m_SizeDelta: {x: 295.4264, y: 78.74981}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8655198200579522390
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200579522385}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8655198200579522391
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8655198200579522385}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 36
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 3
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 00:00:00
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e11813a8e3f6f4e49b49bd840f121b02
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,785 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &387565771936290546
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1945399037117554846}
|
||||
- component: {fileID: 8929967819597229218}
|
||||
- component: {fileID: 6867390185509525018}
|
||||
- component: {fileID: 776111304942601944}
|
||||
m_Layer: 5
|
||||
m_Name: Name
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1945399037117554846
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 387565771936290546}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 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: -169.48, y: 13.386}
|
||||
m_SizeDelta: {x: 255.83951, y: 26.770844}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8929967819597229218
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 387565771936290546}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &6867390185509525018
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 387565771936290546}
|
||||
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: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 24
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Name
|
||||
--- !u!114 &776111304942601944
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 387565771936290546}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &477974778128357920
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8918583880764163001}
|
||||
- component: {fileID: 7390776504515078202}
|
||||
- component: {fileID: 8619180685653039787}
|
||||
m_Layer: 5
|
||||
m_Name: Head
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8918583880764163001
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 477974778128357920}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -320.8, y: 9.3074}
|
||||
m_SizeDelta: {x: 35.19715, y: 34.585686}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7390776504515078202
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 477974778128357920}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8619180685653039787
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 477974778128357920}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 2800000, guid: b83009748905f084887c2d4a34f052fd, type: 3}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
--- !u!1 &1203636650522419747
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8206739373848930593}
|
||||
- component: {fileID: 510753573079622608}
|
||||
- component: {fileID: 8905776654102798812}
|
||||
m_Layer: 5
|
||||
m_Name: Country
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8206739373848930593
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1203636650522419747}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 364.3, y: 13.3}
|
||||
m_SizeDelta: {x: 23.995338, y: 26.600487}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &510753573079622608
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1203636650522419747}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8905776654102798812
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1203636650522419747}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 2800000, guid: b83009748905f084887c2d4a34f052fd, type: 3}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
--- !u!1 &2039954414693443182
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5028262886418322962}
|
||||
- component: {fileID: 2948356824209932300}
|
||||
- component: {fileID: 6975949818572773739}
|
||||
- component: {fileID: 2826938124940003444}
|
||||
m_Layer: 5
|
||||
m_Name: Heart
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5028262886418322962
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2039954414693443182}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 236.2, y: -18.985}
|
||||
m_SizeDelta: {x: 93.399994, y: 22}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2948356824209932300
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2039954414693443182}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &6975949818572773739
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2039954414693443182}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 100bpm
|
||||
--- !u!114 &2826938124940003444
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2039954414693443182}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &3402143849051894530
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5776800250494938657}
|
||||
- component: {fileID: 914885949612555739}
|
||||
- component: {fileID: 1049020844800666480}
|
||||
- component: {fileID: 2189283391476243351}
|
||||
m_Layer: 5
|
||||
m_Name: Timer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5776800250494938657
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3402143849051894530}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 241.91, y: 11}
|
||||
m_SizeDelta: {x: 104.829956, y: 22}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &914885949612555739
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3402143849051894530}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &1049020844800666480
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3402143849051894530}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "00\uFF1A00\uFF1A00"
|
||||
--- !u!114 &2189283391476243351
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3402143849051894530}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &3638718135352563336
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2470702738328327122}
|
||||
- component: {fileID: 2235010553136405887}
|
||||
- component: {fileID: 5174577417352346134}
|
||||
- component: {fileID: 6946663127870700282}
|
||||
m_Layer: 5
|
||||
m_Name: FinalRankingItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2470702738328327122
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638718135352563336}
|
||||
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: 8637168095196952554}
|
||||
- {fileID: 1945399037117554846}
|
||||
- {fileID: 5028262886418322962}
|
||||
- {fileID: 5776800250494938657}
|
||||
- {fileID: 6005805997969872739}
|
||||
- {fileID: 4070024285971270188}
|
||||
- {fileID: 8918583880764163001}
|
||||
- {fileID: 8206739373848930593}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 69.91507}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2235010553136405887
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638718135352563336}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &5174577417352346134
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638718135352563336}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &6946663127870700282
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638718135352563336}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1e64a5b2fb6d4f3418094195460237d1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &6168534200313274756
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6005805997969872739}
|
||||
- component: {fileID: 2862083170618635592}
|
||||
- component: {fileID: 6508256954569929105}
|
||||
- component: {fileID: 3066426405193871421}
|
||||
m_Layer: 5
|
||||
m_Name: Power
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6005805997969872739
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6168534200313274756}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -265.08, y: -18.985}
|
||||
m_SizeDelta: {x: 64.64496, y: 22}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2862083170618635592
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6168534200313274756}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &6508256954569929105
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6168534200313274756}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 3000w
|
||||
--- !u!114 &3066426405193871421
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6168534200313274756}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &8554795462613962202
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4070024285971270188}
|
||||
- component: {fileID: 280639950050165111}
|
||||
- component: {fileID: 5842543041269499732}
|
||||
- component: {fileID: 8378477932830490383}
|
||||
m_Layer: 5
|
||||
m_Name: WKG
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4070024285971270188
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8554795462613962202}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0.000030518, y: -18.985}
|
||||
m_SizeDelta: {x: 90.805115, y: 22}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &280639950050165111
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8554795462613962202}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &5842543041269499732
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8554795462613962202}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 4.55W/KG
|
||||
--- !u!114 &8378477932830490383
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8554795462613962202}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &8637168095196952555
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8637168095196952554}
|
||||
- component: {fileID: 8637168095196952559}
|
||||
- component: {fileID: 8637168095196952556}
|
||||
- component: {fileID: 8637168095196952557}
|
||||
m_Layer: 5
|
||||
m_Name: Ranking
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8637168095196952554
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8637168095196952555}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2470702738328327122}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -367.15, y: -0.17348}
|
||||
m_SizeDelta: {x: 39.526814, y: 34.238728}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8637168095196952559
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8637168095196952555}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &8637168095196952556
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8637168095196952555}
|
||||
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: 1db9e217733971041be26b076fda6083, type: 3}
|
||||
m_FontSize: 24
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 1
|
||||
--- !u!114 &8637168095196952557
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8637168095196952555}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a7b6d4e60a4e4c4bbbd465f14899150
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File renamed without changes.
File renamed without changes.
File diff suppressed because it is too large.
Load diff
File renamed without changes.
@@ -1,157 +0,0 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using Assets.Scripts;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class NearByFactory : MonoBehaviour
|
||||
{
|
||||
PlayerController playerController;
|
||||
private GameObject nearByItem;
|
||||
private GameObject nearByMajorItem;
|
||||
private GameObject scroll;
|
||||
GameObject body;
|
||||
|
||||
private int bufferSize = 0;
|
||||
private int pageIndex = 1;
|
||||
private int pageSize =7;
|
||||
|
||||
private int preNum = 0;//前面的数量
|
||||
private int offset = 8;//显示区域的数量
|
||||
|
||||
CyclingController cyclingController;
|
||||
private void Awake()
|
||||
{
|
||||
cyclingController = FindObjectOfType<CyclingController>();
|
||||
playerController = FindObjectOfType<PlayerController>();
|
||||
nearByItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyItem");
|
||||
nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyMajorItem");
|
||||
scroll = transform.parent.parent.gameObject;
|
||||
if (scroll != null)
|
||||
{
|
||||
UIManager.AddEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag, OnEndDrag);
|
||||
}
|
||||
}
|
||||
bool startMouse = false;
|
||||
float t =1f;
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetAxis("Mouse ScrollWheel") != 0)
|
||||
{
|
||||
if (scroll.GetComponent<ScrollRect>().verticalNormalizedPosition <= 0 ||
|
||||
scroll.GetComponent<ScrollRect>().verticalNormalizedPosition >= (pageIndex == 0 ? 1.2 : 1))
|
||||
{
|
||||
startMouse = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (startMouse)
|
||||
{
|
||||
startMouse = false;
|
||||
OnEndDrag(null);
|
||||
}
|
||||
}
|
||||
|
||||
t -= Time.deltaTime;
|
||||
while (t < 0)
|
||||
{
|
||||
Utils.DestroyChildren(transform);
|
||||
var nearList = MapUDPService.GetNearRiderData(pageIndex, pageSize, new double[] { playerController.Currentlatlong.x, playerController.Currentlatlong.y });
|
||||
totalPages = MapUDPService.GetNearRiderCount();
|
||||
for (int i = 0; i < nearList.Count(); i++)
|
||||
{
|
||||
Create(nearList[i]);
|
||||
}
|
||||
t = 1;
|
||||
}
|
||||
}
|
||||
private int totalPages = 0;
|
||||
private void OnEndDrag(BaseEventData arg0)
|
||||
{
|
||||
var scrollrect = scroll.GetComponent<ScrollRect>();
|
||||
if (scrollrect.verticalNormalizedPosition <= 0)
|
||||
{
|
||||
var p = pageIndex + 1;
|
||||
if (p * pageSize <= totalPages)
|
||||
{
|
||||
pageIndex++;
|
||||
}
|
||||
//RefreshList();
|
||||
|
||||
}
|
||||
if (scrollrect.verticalNormalizedPosition >= (pageIndex == 0 ? 1.2 : 1))
|
||||
{
|
||||
var p = pageIndex - 1;
|
||||
if (p > 0)
|
||||
{
|
||||
pageIndex--;
|
||||
}
|
||||
//if (pageIndex > 0)
|
||||
// pageIndex--;
|
||||
//RefreshList();
|
||||
}
|
||||
}
|
||||
|
||||
private void RefreshList()
|
||||
{
|
||||
var nearList = MapUDPService.GetNearRiderData(pageIndex, pageSize, new double[] { playerController.Currentlatlong.x, playerController.Currentlatlong.y });
|
||||
|
||||
for (int i = 0; i < nearList.Count(); i++)
|
||||
{
|
||||
if (bufferSize < pageSize)
|
||||
{
|
||||
Create(nearList[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateItem(nearList[i],i);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void Create(NearRiderModel item)
|
||||
{
|
||||
//创建
|
||||
GameObject prefabItem = item.IsSelf ? nearByMajorItem : nearByItem;
|
||||
GameObject newObj = (GameObject)Instantiate(prefabItem, transform);
|
||||
var nearByItemscript = newObj.GetComponent<NearByItemScript>();
|
||||
nearByItemscript.setUserId(item.Id);
|
||||
nearByItemscript.setName(item.Name);
|
||||
nearByItemscript.setRatio(item.KGWeight+"W/KG");
|
||||
nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H");
|
||||
nearByItemscript.setHead(item.Headimage);
|
||||
nearByItemscript.setCountry(cyclingController.GetCountryImageByName(item.Country));
|
||||
nearByItemscript.setDistance(item.Near.ToString() + "KM");
|
||||
bufferSize++;
|
||||
}
|
||||
|
||||
private void UpdateItem(NearRiderModel item,int index)
|
||||
{
|
||||
for (int i = 0; i < transform.childCount; i++)
|
||||
{
|
||||
var child = transform.GetChild(i);
|
||||
if (child != null)
|
||||
{
|
||||
NearByItemScript nearByItemscript = child.GetComponent<NearByItemScript>();
|
||||
if (nearByItemscript.UserId == item.Id)
|
||||
{
|
||||
nearByItemscript.setName(item.Name);
|
||||
nearByItemscript.setRatio(item.KGWeight + "W/KG");
|
||||
nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H");
|
||||
//nearByItemscript.setHead(item.Headimage);
|
||||
//nearByItemscript.setCountry(item.CountryImg);
|
||||
nearByItemscript.setDistance(item.Near.ToString() + "KM");
|
||||
if (index != i)//重排序
|
||||
{
|
||||
child.SetSiblingIndex(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,10 +72,14 @@ namespace Assets.Scripts.Apis
|
||||
data = Newtonsoft.Json.JsonConvert.DeserializeObject<MapCompetitionDetailModel>(JsonConvert.SerializeObject(list.data))
|
||||
};
|
||||
}
|
||||
//报名必比赛
|
||||
public JsonResult ApplyMapCompetition(int id)
|
||||
//报名比赛
|
||||
public async Task<JsonResult> ApplyMapCompetition(int id)
|
||||
{
|
||||
return Get<JsonResult>($"/MapCompetition/ApplyMapCompetition?id={ id }");
|
||||
var param = new
|
||||
{
|
||||
id = id,
|
||||
};
|
||||
return await PostAsync<JsonResult>($"/MapCompetition/ApplyMapCompetition", param);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21,7 +21,7 @@
|
||||
public double WeightKg { get; set; }
|
||||
public double TripDistance { get; set; }
|
||||
public double TotalDistance { get; set; }
|
||||
public int? AverageHeartRate { get; set; }
|
||||
public double? AverageHeartRate { get; set; }
|
||||
public double BicycleWeight { get; set; }
|
||||
public string NickName { get; set; }
|
||||
public string Country { get; set; }
|
||||
|
||||
@@ -47,6 +47,7 @@ public static class App
|
||||
public static IPEndPoint UdpAddress { get; private set; } = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 11000);
|
||||
public static IPEndPoint TcpAddress { get; private set; } = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 21001);
|
||||
public static UpdateModel UpdateObject { get; set; }
|
||||
public static int CompetionId { get; set; }//比赛id
|
||||
//public static string AppDownloadUrl { get; internal set; }
|
||||
//public static string AppVersionCode { get; internal set; }
|
||||
|
||||
@@ -69,13 +70,13 @@ public static class App
|
||||
//currentCulture.NumberFormat.NumberDecimalSeparator = ".";
|
||||
//Thread.CurrentThread.CurrentCulture = currentCulture;
|
||||
//System.Globalization.CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
|
||||
#if !UNITY_EDITOR
|
||||
// Host = "http://pf.juze.pro/";
|
||||
// UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000);
|
||||
// TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001);
|
||||
Host = "https://wx.powerfun.com.cn/";
|
||||
UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11000);
|
||||
TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11001);
|
||||
#endif
|
||||
//#if !UNITY_EDITOR
|
||||
//// Host = "http://pf.juze.pro/";
|
||||
//// UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000);
|
||||
//// TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001);
|
||||
// Host = "https://wx.powerfun.com.cn/";
|
||||
// UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11000);
|
||||
// TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11001);
|
||||
//#endif
|
||||
}
|
||||
}
|
||||
File renamed without changes.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d89e303a3008b774e87b6ba0a35ea20b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7cecb30d95cebeb43b5768b505937c28
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,93 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using Assets.Scripts;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class BaseListFactory : MonoBehaviour
|
||||
{
|
||||
protected AbstractPlayer playerController;
|
||||
protected CyclingController cyclingController;
|
||||
|
||||
protected GameObject nearByItem;
|
||||
protected GameObject nearByMajorItem;
|
||||
private GameObject scroll;
|
||||
private GameObject body;
|
||||
|
||||
protected int totalPages = 0;
|
||||
protected int bufferSize = 0;
|
||||
protected int pageIndex = 1;
|
||||
protected int pageSize = 7;
|
||||
private int preNum = 0;//前面的数量
|
||||
private int offset = 8;//显示区域的数量
|
||||
|
||||
protected bool startMouse = false;
|
||||
protected float t = 1f;
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
scroll = transform.parent.parent.gameObject;
|
||||
if (scroll != null)
|
||||
{
|
||||
UIManager.AddEvent(scroll, UnityEngine.EventSystems.EventTriggerType.EndDrag, OnEndDrag);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetAxis("Mouse ScrollWheel") != 0)
|
||||
{
|
||||
if (scroll.GetComponent<ScrollRect>().verticalNormalizedPosition <= 0 ||
|
||||
scroll.GetComponent<ScrollRect>().verticalNormalizedPosition >= (pageIndex == 0 ? 1.2 : 1))
|
||||
{
|
||||
startMouse = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (startMouse)
|
||||
{
|
||||
startMouse = false;
|
||||
OnEndDrag(null);
|
||||
}
|
||||
}
|
||||
|
||||
t -= Time.deltaTime;
|
||||
while (t < 0)
|
||||
{
|
||||
Utils.DestroyChildren(transform);
|
||||
CreateList();
|
||||
t = 1;
|
||||
}
|
||||
}
|
||||
protected virtual void CreateList()
|
||||
{
|
||||
|
||||
}
|
||||
private void OnEndDrag(BaseEventData arg0)
|
||||
{
|
||||
var scrollrect = scroll.GetComponent<ScrollRect>();
|
||||
if (scrollrect.verticalNormalizedPosition <= 0)
|
||||
{
|
||||
var p = pageIndex + 1;
|
||||
if (p * pageSize <= totalPages)
|
||||
{
|
||||
pageIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
if (scrollrect.verticalNormalizedPosition >= (pageIndex == 0 ? 1.2 : 1))
|
||||
{
|
||||
var p = pageIndex - 1;
|
||||
if (p > 0)
|
||||
{
|
||||
pageIndex--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be7bdc22e15ad254da04ebf9dc274fe5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+8
-4
@@ -233,6 +233,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
|
||||
private Transform player;
|
||||
private MapRoute routeInstance;
|
||||
public AbstractPlayer currentPlayer { get; set; }//当前选中用户
|
||||
|
||||
private float time = 1f;
|
||||
private float? localY;
|
||||
@@ -243,6 +244,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
public void Init()
|
||||
{
|
||||
playerController = FindObjectOfType<PlayerController>();
|
||||
currentPlayer = playerController;//默认当前用户为当前选中用户
|
||||
mainController = FindObjectOfType<CyclingController>();
|
||||
player = transform.parent.Find("Player");
|
||||
var route = mainController.GetRoute();
|
||||
@@ -301,6 +303,8 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
ChangeView(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//移动摄像头和箭头位置
|
||||
public void MoveCamera()
|
||||
{
|
||||
@@ -392,7 +396,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
|
||||
}
|
||||
//暂停游戏
|
||||
public void PauseRide(BaseEventData baseEventData)
|
||||
public virtual void PauseRide(BaseEventData baseEventData)
|
||||
{
|
||||
mainController.SetPause();
|
||||
count = 0;
|
||||
@@ -401,7 +405,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
startPanel.SetActive(true);
|
||||
}
|
||||
//保存游戏
|
||||
public void SaveRide(BaseEventData baseEventData)
|
||||
public virtual void SaveRide(BaseEventData baseEventData)
|
||||
{
|
||||
if (playerController.TotalTicks > 0 && !mainController.isQuit)
|
||||
{
|
||||
@@ -415,7 +419,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
}
|
||||
}
|
||||
//不保存退出
|
||||
public void CancelQuit(BaseEventData baseEventData)
|
||||
public virtual void CancelQuit(BaseEventData baseEventData)
|
||||
{
|
||||
quitPanel.SetActive(false);
|
||||
SceneManager.LoadScene("MainScene");
|
||||
@@ -431,7 +435,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
mainController.ChangeMapImageStyle(arrow.gameObject);
|
||||
}
|
||||
//结束游戏
|
||||
public void StopRide(BaseEventData baseEventData)
|
||||
public virtual void StopRide(BaseEventData baseEventData)
|
||||
{
|
||||
if (playerController.TotalTicks > 0)
|
||||
{
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,50 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class CompetitionRankingFactory : BaseListFactory
|
||||
{
|
||||
private List<CompetitionRankingSortModel> rankingList {get;set;}
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
cyclingController = FindObjectOfType<CyclingController>();
|
||||
playerController = FindObjectOfType<PlayerController>();
|
||||
nearByItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyItem");
|
||||
nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyMajorItem");
|
||||
}
|
||||
protected override void CreateList()
|
||||
{
|
||||
//获取实时排名
|
||||
CompetitionModel s = cyclingController.cyclingController as CompetitionModel;
|
||||
var ss = s?.competitionRankingModel;
|
||||
rankingList = ss?.Sorts;
|
||||
|
||||
if (rankingList == null) return;
|
||||
totalPages = rankingList.Count();
|
||||
for (int i = 0; i < rankingList.Count(); i++)
|
||||
{
|
||||
Create(rankingList[i]);
|
||||
}
|
||||
}
|
||||
private void Create(CompetitionRankingSortModel item)
|
||||
{
|
||||
//创建
|
||||
GameObject prefabItem = item.IsSelf ? nearByMajorItem : nearByItem;
|
||||
GameObject newObj = (GameObject)Instantiate(prefabItem, transform);
|
||||
var nearByItemscript = newObj.GetComponent<NearByItemScript>();
|
||||
nearByItemscript.setUserId(item.UserId);
|
||||
nearByItemscript.setName(item.Name);
|
||||
nearByItemscript.setRatio(item.KGWeight+"W/KG");
|
||||
nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H");
|
||||
//nearByItemscript.setHead(item.Headimage);
|
||||
//nearByItemscript.setCountry(cyclingController.GetCountryImageByName(item.));
|
||||
nearByItemscript.setDistance(item.Near.ToString() + "KM");
|
||||
bufferSize++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a572f54bd2296f41a2b47567f33fd64
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,59 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
||||
using Assets.Scripts;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class CompetitionResultFactory: MonoBehaviour
|
||||
{
|
||||
CyclingController cyclingController;
|
||||
private void Awake()
|
||||
{
|
||||
cyclingController = FindObjectOfType<CyclingController>();
|
||||
var closeBtn = transform.Find("Close").gameObject;
|
||||
UIManager.AddEvent(closeBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, Close);
|
||||
}
|
||||
|
||||
float time = 1;
|
||||
private void Update()
|
||||
{
|
||||
time -= Time.deltaTime;
|
||||
while (time < 0)
|
||||
{
|
||||
Refresh();
|
||||
time = 1;
|
||||
}
|
||||
}
|
||||
|
||||
public void Refresh()
|
||||
{
|
||||
if (cyclingController.cyclingController is CompetitionModel model)
|
||||
{
|
||||
var list = model?.competitionRankingModel?.Results;
|
||||
if (list == null) return;
|
||||
var parent = transform.Find("ScrollView/Viewport/Content");
|
||||
Utils.DestroyChildren(parent);
|
||||
foreach (var item in list)
|
||||
{
|
||||
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
|
||||
var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
|
||||
finalRankingItemScript.setRanking(item.Index.ToString());
|
||||
finalRankingItemScript.setHeartRate(item.HeartRate.ToString("f0"));
|
||||
finalRankingItemScript.setName(item.Name);
|
||||
finalRankingItemScript.setPower(item.Power.ToString());
|
||||
finalRankingItemScript.setRatio(item.WeightKg.ToString("f2"));
|
||||
finalRankingItemScript.setTimer(item.TripTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Close(BaseEventData baseEventData)
|
||||
{
|
||||
this.gameObject.SetActive(false);
|
||||
this.Destroy();
|
||||
SceneManager.LoadScene("MainScene");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7fed0d77ca8dce4a85ed6f9a848355d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,125 @@
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using UnityEngine.EventSystems;
|
||||
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
||||
using UnityEngine.UI;
|
||||
using Assets.Scripts;
|
||||
using Assets.Scripts.Apis;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class CompetitionUIManager : BaseUIManager
|
||||
{
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
}
|
||||
GameObject countDownPanel;
|
||||
Text title;
|
||||
Text timer;
|
||||
protected override void Start()
|
||||
{
|
||||
base.Start();
|
||||
//创建倒计时面板
|
||||
countDownPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/CountDownPanel"), transform.Find("Panel"));
|
||||
title = countDownPanel.transform.Find("Title").GetComponent<Text>();
|
||||
timer = countDownPanel.transform.Find("Timer").GetComponent<Text>();
|
||||
countDownPanel.SetActive(false);
|
||||
ShowCurrentRanking();
|
||||
|
||||
}
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
CountDown();
|
||||
}
|
||||
|
||||
//开始游戏触发事件
|
||||
public void StartRide(BaseEventData baseEventData)
|
||||
{
|
||||
this.StartRide();
|
||||
}
|
||||
CompetitionModel competitionModel;
|
||||
bool canStart = false;
|
||||
//开始骑行-加个5秒钟倒计时
|
||||
public override void StartRide()
|
||||
{
|
||||
competitionModel = mainController.cyclingController as CompetitionModel;
|
||||
}
|
||||
|
||||
private void CountDown()
|
||||
{
|
||||
count = competitionModel?.StartCountdown()??0;
|
||||
canStart = competitionModel?.CanStart()??false;
|
||||
//比赛开始前倒计时
|
||||
if (count >= 0)
|
||||
{
|
||||
//显示倒计时面板信息
|
||||
showCountDown(count, "Get ready!");
|
||||
}
|
||||
//比赛开始
|
||||
if (count<=0 && canStart)
|
||||
{
|
||||
mainController.SetStart();
|
||||
countDownPanel.SetActive(false);
|
||||
}
|
||||
//比赛进行中
|
||||
if (competitionModel != null)
|
||||
{
|
||||
//显示结果
|
||||
if (competitionModel.mapCompetition?.HasRecord ?? false)
|
||||
{
|
||||
ShowResultList();
|
||||
}
|
||||
var s = competitionModel?.EndCountDown();
|
||||
//显示关门时间
|
||||
if (s.Value.Item2)
|
||||
{
|
||||
//显示倒计时面板信息
|
||||
showCountDown(s.Value.Item1, "remaining");
|
||||
if (s.Value.Item1 <= 0)
|
||||
{
|
||||
//自动保存,游戏设置结束
|
||||
base.SaveRide(null);
|
||||
}
|
||||
}
|
||||
//显示当前比赛进行多长时间了
|
||||
timerTxt.text = competitionModel.ShowTime;
|
||||
}
|
||||
}
|
||||
|
||||
private void showCountDown(int count,string text)
|
||||
{
|
||||
countDownPanel.SetActive(true);
|
||||
title.text = text;
|
||||
timer.text = Helper.FormatTicks(count);
|
||||
}
|
||||
|
||||
public override void ContinueRide()
|
||||
{
|
||||
MapCompetitionApi s = new MapCompetitionApi();
|
||||
_ = s.ApplyMapCompetition(App.CompetionId);
|
||||
mainController.SetCyclingModel(CyclingModel.Competition);
|
||||
}
|
||||
public override void PauseRide(BaseEventData baseEventData)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//实时显示当前比赛排名
|
||||
GameObject competitionRankingList;
|
||||
public void ShowCurrentRanking()
|
||||
{
|
||||
competitionRankingList = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/CompetitionRankingPanel"), transform.Find("Panel"));
|
||||
}
|
||||
GameObject competitionResultPanel;
|
||||
//实时刷新显示比赛结果
|
||||
public void ShowResultList()
|
||||
{
|
||||
if (competitionResultPanel == null)
|
||||
{
|
||||
competitionResultPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/CompetitionResultPanel"), transform.Find("Panel"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ef2d2135dbfedc418fd2a7a18a0a254
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+123
-36
@@ -43,6 +43,7 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
public CyclingModel cyclingModel;//当前骑行模式
|
||||
public BaseCycling cyclingController { get; set; }
|
||||
private int routeId;
|
||||
private int competitionId;
|
||||
|
||||
private MapApi mapApi;
|
||||
public DateTime startTime;
|
||||
@@ -75,6 +76,8 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
//mapRoute = mapApi.GetById(routeId).data;
|
||||
//miniMap = transform.Find("MiniMap").gameObject;//小地图
|
||||
resultPanel = transform.Find("SingleUI/Panel/ResultPanel").gameObject;
|
||||
competitionId = App.CompetionId;
|
||||
//App.CompetionId = 0;//清空比赛参数
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
@@ -90,48 +93,33 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
onlineUserPrefab = Resources.Load<GameObject>("UI/Prefab/Ride/OnlinePlayer");
|
||||
miniMapPlayerPrefab = Resources.Load<GameObject>("UI/Prefab/Ride/MiniMapPlayer");
|
||||
target = transform.Find("Target");
|
||||
miniMap = transform.Find("MiniMap").gameObject;//小地图
|
||||
//进入倒计时
|
||||
singleUIManager = UIObject.GetComponent<BaseUIManager>();
|
||||
TrailRenderer trail = player.GetComponent<TrailRenderer>();
|
||||
trail.Clear();
|
||||
playerController = player.GetComponent<PlayerController>();
|
||||
currentPlayer = playerController;//当前选中用户
|
||||
loadingController = FindObjectOfType<LoadingController>();
|
||||
loadingController.InjectController(this);
|
||||
//开始loading
|
||||
//进入比赛
|
||||
if (competitionId > 0)
|
||||
{
|
||||
StartCoroutine(InitRace());
|
||||
return;
|
||||
}
|
||||
//进入单人骑行
|
||||
if (routeId > 0)
|
||||
{
|
||||
StartCoroutine(Init());
|
||||
return;
|
||||
}
|
||||
public void SetUIManager(PFUIPanel mainPanel, PFUIPanel model)
|
||||
{
|
||||
UIManager.Instance.MainPanel = mainPanel;//this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
|
||||
UIManager.Instance.ModalsPanel = model;// this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
|
||||
}
|
||||
|
||||
public void ReSetUIManager()
|
||||
{
|
||||
UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
|
||||
UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
|
||||
}
|
||||
|
||||
public void AddEvent(GameObject sender, EventTriggerType eventType,UnityAction<BaseEventData> unityAction)
|
||||
{
|
||||
UIManager.AddEvent(sender, eventType, unityAction);
|
||||
}
|
||||
public void ShowDevice(PFUIPanel pFUIPanel)
|
||||
{
|
||||
UIManager.Show(UIManager.Instance.DevicePanel, pFUIPanel);
|
||||
}
|
||||
|
||||
public Texture GetCountryImageByCode(string code)
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImage(code);
|
||||
}
|
||||
|
||||
public Texture GetCountryImageByName(string name)
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImageByName(name);
|
||||
}
|
||||
private IEnumerator Init()
|
||||
{
|
||||
yield return new WaitForSeconds(1);
|
||||
mapRoute = mapApi.GetById(routeId).data;
|
||||
miniMap = transform.Find("MiniMap").gameObject;//小地图
|
||||
loadingController.Init(mapRoute);//初始化loading页面
|
||||
loadingController.AddProcess(10);
|
||||
InitData();//初始化数据
|
||||
@@ -139,6 +127,19 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
MapUDPService.Init();//初始化TCP
|
||||
loadingController.AddProcess(10);
|
||||
}
|
||||
//初始比赛
|
||||
private IEnumerator InitRace()
|
||||
{
|
||||
yield return new WaitForSeconds(1);
|
||||
mapRoute = mapApi.GetById(routeId).data;
|
||||
loadingController.Init(mapRoute);//初始化loading页面
|
||||
loadingController.AddProcess(10);
|
||||
InitRaceData();//初始化比赛数据
|
||||
InitRaceGameObject();//初始化比赛场景
|
||||
MapUDPService.Init();//初始化比赛TCP
|
||||
loadingController.AddProcess(10);
|
||||
}
|
||||
|
||||
//初始化数据
|
||||
private void InitData()
|
||||
{
|
||||
@@ -192,6 +193,50 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
}
|
||||
}
|
||||
|
||||
private MapCompetition competition;
|
||||
private void InitRaceData()
|
||||
{
|
||||
mapData = mapApi.GetData(routeId);//获取路书地理数据
|
||||
route = new Route(mapData, mapRoute);
|
||||
loadingController.AddProcess(10);
|
||||
#region 其他场景传参处理
|
||||
MapCompetitionApi mapCompetitionApi = new MapCompetitionApi();
|
||||
competition = mapCompetitionApi.GetById(competitionId).data;
|
||||
|
||||
selectParamModel = new RouteResultParam
|
||||
{
|
||||
CompetitionId = competitionId,
|
||||
ContinueIndex = 0,
|
||||
ContinueMark = "",
|
||||
GlobalContinue = false,
|
||||
EndDistance = 0,
|
||||
RankingsId = new List<string>(),
|
||||
OnlineUserId = 0,
|
||||
RouteId = App.RouteIdParam
|
||||
};
|
||||
|
||||
#endregion
|
||||
//异步请求mapbox画出当前路书路线图
|
||||
loadingController.DrawMapRoute(mapData);
|
||||
//计算上次骑行距离调整地图中心点
|
||||
double endDistance = selectParamModel.EndDistance;
|
||||
coordiantes = Along(endDistance);
|
||||
loadingController.AddProcess(10);
|
||||
#region 查询排行榜
|
||||
var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
|
||||
if (list.result)
|
||||
{
|
||||
loadingController.CreateRankingList(list.data.list);
|
||||
loadingController.AddProcess(10);
|
||||
}
|
||||
var shaowList = mapApi.GetShadowList(App.RouteIdParam, "", 0, 10);
|
||||
if (shaowList.result)
|
||||
{
|
||||
mapRouteRankingList = shaowList.data.list;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
private Vector3 mapPos = Vector3.zero;
|
||||
//加载人物和地图以及UI界面
|
||||
private void InitGameObject()
|
||||
@@ -199,11 +244,24 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
map.gameObject.SetActive(true);
|
||||
player.SetActive(true);
|
||||
UIObject.SetActive(true);
|
||||
singleUIManager = UIObject.AddComponent<SingleUIManager>();
|
||||
miniMap.SetActive(true);
|
||||
map.OnTileFinished += Map_OnTileFinished;
|
||||
mapPos = map.transform.position;
|
||||
}
|
||||
|
||||
private void InitRaceGameObject()
|
||||
{
|
||||
map.gameObject.SetActive(true);
|
||||
player.SetActive(true);
|
||||
UIObject.SetActive(true);
|
||||
singleUIManager = UIObject.AddComponent<CompetitionUIManager>();
|
||||
miniMap.SetActive(true);
|
||||
map.OnTileFinished += Map_OnTileFinished;
|
||||
mapPos = map.transform.position;
|
||||
//SetCyclingModel(CyclingModel.Competition);
|
||||
}
|
||||
|
||||
//private void Map_OnTileFinished(Mapbox.Unity.MeshGeneration.Data.UnityTile obj)
|
||||
//{
|
||||
// var playerController = player.GetComponent<PlayerController>();
|
||||
@@ -214,7 +272,6 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
public void SetCyclingModel(CyclingModel mode)
|
||||
{
|
||||
this.cyclingModel = mode;
|
||||
|
||||
switch (cyclingModel)
|
||||
{
|
||||
case CyclingModel.Single:
|
||||
@@ -225,26 +282,25 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
break;
|
||||
//TODO:比赛模式
|
||||
case CyclingModel.Competition:
|
||||
cyclingController = new CompetitionModel(route, selectParamModel);
|
||||
cyclingController = new CompetitionModel(route, selectParamModel, currentPlayer);
|
||||
break;
|
||||
}
|
||||
GameStart();//游戏进入开始倒计时
|
||||
GameStart();
|
||||
InitPlayer();//初始化人物方向等
|
||||
}
|
||||
PlayerController playerController;
|
||||
public AbstractPlayer currentPlayer;
|
||||
//初始化人物位置角度
|
||||
private void InitPlayer()
|
||||
{
|
||||
lockView = true;
|
||||
TrailRenderer trail = player.GetComponent<TrailRenderer>();
|
||||
playerController = player.GetComponent<PlayerController>();
|
||||
|
||||
Vector2d lastLatLon = Along(recorderData.EndDistance);
|
||||
Vector3 currentPos = map.GeoToWorldPosition(lastLatLon);
|
||||
currentPos.y += 1f;
|
||||
player.transform.position = currentPos;
|
||||
playerController.currentPos = currentPos;
|
||||
|
||||
trail.Clear();
|
||||
Vector2d nextLatLon = Along(recorderData.EndDistance + 0.1);
|
||||
//设定人物方向
|
||||
var s = map.GeoToWorldPosition(lastLatLon);
|
||||
@@ -352,6 +408,37 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void SetUIManager(PFUIPanel mainPanel, PFUIPanel model)
|
||||
{
|
||||
UIManager.Instance.MainPanel = mainPanel;//this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
|
||||
UIManager.Instance.ModalsPanel = model;// this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
|
||||
}
|
||||
|
||||
public void ReSetUIManager()
|
||||
{
|
||||
UIManager.Instance.MainPanel = this.transform.Find("SingleUI/Panel").GetComponent<PFUIPanel>();
|
||||
UIManager.Instance.ModalsPanel = this.transform.Find("SingleUI/ModalPanel").GetComponent<PFUIPanel>();
|
||||
}
|
||||
|
||||
public void AddEvent(GameObject sender, EventTriggerType eventType, UnityAction<BaseEventData> unityAction)
|
||||
{
|
||||
UIManager.AddEvent(sender, eventType, unityAction);
|
||||
}
|
||||
public void ShowDevice(PFUIPanel pFUIPanel)
|
||||
{
|
||||
UIManager.Show(UIManager.Instance.DevicePanel, pFUIPanel);
|
||||
}
|
||||
|
||||
public Texture GetCountryImageByCode(string code)
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImage(code);
|
||||
}
|
||||
|
||||
public Texture GetCountryImageByName(string name)
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImageByName(name);
|
||||
}
|
||||
|
||||
#region 视角切换
|
||||
|
||||
public AbstractMap map3d;
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,89 @@
|
||||
using Assets.Scripts;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class FinalRankingItemScript : MonoBehaviour
|
||||
{
|
||||
private RawImage Head;
|
||||
private RawImage Country;
|
||||
private Text Name;
|
||||
private Text Power;
|
||||
private Text Timer;
|
||||
private Text Ratio;//功体比
|
||||
private Text Ranking;
|
||||
private Text HeartRate;
|
||||
|
||||
private int _userId = 0;
|
||||
public int UserId { get { return _userId; } }
|
||||
private Texture countryTexture;
|
||||
private void Awake()
|
||||
{
|
||||
Head = transform.Find("Head").GetComponent<RawImage>();
|
||||
Country = transform.Find("Country").GetComponent<RawImage>();
|
||||
Name = transform.Find("Name").GetComponent<Text>();
|
||||
HeartRate = transform.Find("Heart").GetComponent<Text>();
|
||||
Power = transform.Find("Power").GetComponent<Text>();
|
||||
Timer = transform.Find("Timer").GetComponent<Text>();
|
||||
Ratio = transform.Find("WKG").GetComponent<Text>();
|
||||
Ranking = transform.Find("Ranking").GetComponent<Text>();
|
||||
countryTexture = Resources.Load<Sprite>("Images/flag_China_Person").texture;
|
||||
}
|
||||
|
||||
public void setRatio(string ratio)
|
||||
{
|
||||
Ratio.text = ratio +"W/KG";
|
||||
}
|
||||
|
||||
public void setHead(string url)
|
||||
{
|
||||
Utils.DisplayImage(Head, url, true);
|
||||
var rect = ((RectTransform)Head.transform).rect;
|
||||
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
|
||||
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
|
||||
Head.material = material;
|
||||
}
|
||||
|
||||
public void setCountry(Texture texture)
|
||||
{
|
||||
Country.texture = texture;
|
||||
}
|
||||
public void setName(string name)
|
||||
{
|
||||
Name.text = name;
|
||||
}
|
||||
|
||||
public void setPower(string power)
|
||||
{
|
||||
Power.text = power +"W";
|
||||
|
||||
}
|
||||
public void setTimer(string timer)
|
||||
{
|
||||
Timer.text = timer;
|
||||
}
|
||||
|
||||
public void setRanking(string ranking)
|
||||
{
|
||||
Ranking.text = ranking;
|
||||
}
|
||||
|
||||
public void setHeartRate(string heartRate)
|
||||
{
|
||||
if (!heartRate.Equals("0"))
|
||||
{
|
||||
HeartRate.text = heartRate + "bpm";
|
||||
}
|
||||
else
|
||||
{
|
||||
HeartRate.text = "--bpm";
|
||||
}
|
||||
}
|
||||
|
||||
public void setUserId(int userId)
|
||||
{
|
||||
_userId = userId;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e64a5b2fb6d4f3418094195460237d1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cab9cf5c3f47cbe498f0cab35b09125e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+3
-3
@@ -67,7 +67,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual string ShowTime
|
||||
public virtual string ShowTime
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -84,7 +84,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
//将当前用户的位置发送到udf服务
|
||||
SendUserPositionToServer();
|
||||
//OutModel outData = GetSelfTargetData(targetData);
|
||||
//BeforeRunAfterPakcData(targetData);//执行前的函数
|
||||
BeforeRunAfterPakcData();//执行前的函数
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -125,7 +125,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
/// 执行前,数据打包后
|
||||
/// </summary>
|
||||
/// <param name="outData"></param>
|
||||
protected virtual void BeforeRunAfterPakcData(OutModel outData) { }
|
||||
protected virtual void BeforeRunAfterPakcData() { }
|
||||
protected double SpeedToDistance(double speed)
|
||||
{
|
||||
return Math.Round(speed / 3600, 5, MidpointRounding.AwayFromZero);
|
||||
File renamed without changes.
+86
-79
@@ -2,6 +2,7 @@
|
||||
using Assets.Scripts;
|
||||
using Assets.Scripts.Apis;
|
||||
using Assets.Scripts.Apis.Models;
|
||||
using Mapbox.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -12,25 +13,28 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
public class CompetitionModel : BaseCycling
|
||||
{
|
||||
private Vector2d firstPoint { get; set; }
|
||||
public CompetitionRankingModel competitionRankingModel { get; set; }
|
||||
|
||||
private MapCompetitionApi mapCompetitionApi;
|
||||
|
||||
private MapCompetition mapCompetition;
|
||||
public MapCompetition mapCompetition;
|
||||
|
||||
private List<CompetitionRankingResultModel> mapWorkoutRecordRankings = new List<CompetitionRankingResultModel>();
|
||||
/// <summary>
|
||||
/// 第一个到终点的时间
|
||||
/// </summary>
|
||||
private DateTime? FirstEndTime;
|
||||
private DateTime? FirstEndTime { get; set; }
|
||||
|
||||
public override bool CanPause => false;
|
||||
|
||||
protected override string ShowTime
|
||||
public override string ShowTime
|
||||
{
|
||||
get
|
||||
{
|
||||
if (CanStart())
|
||||
{
|
||||
var second = Math.Ceiling((Now - mapCompetition.StartTime).TotalSeconds);
|
||||
var second = Math.Ceiling((Now - mapCompetition.StartTime.ToLocalTime()).TotalSeconds);
|
||||
|
||||
var ts = TimeSpan.FromSeconds(second);
|
||||
return $"{ (int)ts.TotalHours }:{ts:mm}:{ts:ss}";
|
||||
@@ -38,10 +42,11 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
return "00:00:00";
|
||||
}
|
||||
}
|
||||
|
||||
public CompetitionModel(Route route1, RouteResultParam param)
|
||||
AbstractPlayer currentPlayer;
|
||||
public CompetitionModel(Route route1, RouteResultParam param,AbstractPlayer player)
|
||||
: base(route1, CyclingModel.Competition)
|
||||
{
|
||||
currentPlayer = player;//当前选中用户
|
||||
mapCompetitionApi = new MapCompetitionApi();
|
||||
//param.EndDistance = 18;
|
||||
recorderData = new RecorderDataModel()
|
||||
@@ -50,7 +55,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
//BelongUserId = PubCommData.CurrentUser.Id,
|
||||
Competitionid = param.CompetitionId??0,
|
||||
ContinueIndex = param.ContinueIndex == null ? 0 : (int)param.ContinueIndex + 1,
|
||||
ContinueMark = param.ContinueMark == null ? Guid.NewGuid().ToString() : param.ContinueMark,
|
||||
ContinueMark = string.IsNullOrEmpty(param.ContinueMark) ? Guid.NewGuid().ToString() : param.ContinueMark,
|
||||
EndDistance = param.EndDistance == 0 ? 0 : param.EndDistance,
|
||||
IsCompleted = false,
|
||||
IsNeedRanking = true,
|
||||
@@ -80,60 +85,38 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
rider.Point = new GeoJSON.Net.Geometry.GeographicPosition(this.route.RouteInstance.Point[0], this.route.RouteInstance.Point[1]);
|
||||
}
|
||||
riders.Add(rider);
|
||||
//riders.Add(rider);//剔除自己
|
||||
|
||||
var result = mapCompetitionApi.GetById(param.CompetitionId??0);
|
||||
if (result.result == false)
|
||||
if (result.result == false || result.data == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
mapCompetition = result.data;
|
||||
FirstEndTime = mapCompetition.FirstEndTime;
|
||||
}
|
||||
|
||||
protected override void BeforeRunAfterPakcData(OutModel outData)
|
||||
protected override void BeforeRunAfterPakcData()
|
||||
{
|
||||
outData.CanStart = CanStart();
|
||||
outData.StartCountDown = StartCountdown();
|
||||
var endCountDownResult = EndCountDown();
|
||||
outData.EndCountDown = endCountDownResult.Item1;
|
||||
outData.IsClosed = endCountDownResult.Item2;
|
||||
|
||||
|
||||
#region 设置第一名的坐标
|
||||
if (!FirstEndTime.HasValue)
|
||||
{
|
||||
var firstItem = base.realRiders.OrderByDescending(w => w.NextDistance).FirstOrDefault();
|
||||
if (firstItem != null)
|
||||
{
|
||||
outData.FirstPoint = firstItem.Point;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
////如果骑行中,但是已经到结束时间
|
||||
//if (outData.EndCountDown <= 0 && recorderData.CyclingState == CyclingStateEnum.Cycling)
|
||||
//#region 设置第一名的坐标
|
||||
//if (!FirstEndTime.HasValue)
|
||||
//{
|
||||
// base.CacheAnimate();
|
||||
// var firstItem = base.realRiders.OrderByDescending(w => w.NextDistance).FirstOrDefault();
|
||||
// if (firstItem != null)
|
||||
// {
|
||||
// firstPoint = new Vector2d(firstItem.Point.Latitude, firstItem.Point.Longitude);
|
||||
// }
|
||||
//}
|
||||
var userList = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id)
|
||||
.Where(d => d.CompetitionId == recorderData.Competitionid)
|
||||
.OrderByDescending(u => u.IsCompleted).ThenByDescending(d => d.EndDistance);
|
||||
|
||||
//#endregion
|
||||
|
||||
var userList = MapUDPService.GetCompetitionOnlineUsers(recorderData.Competitionid).OrderByDescending(u => u.IsCompleted).ThenByDescending(d => d.EndDistance);
|
||||
riders.RemoveAll(r => r.IsSelf == false);
|
||||
int index = 0;
|
||||
List<CompetitionRankingSortModel> sort = new List<CompetitionRankingSortModel>();
|
||||
|
||||
//标识后面的用户都是比我慢的用户
|
||||
var slowerThenMe = false;
|
||||
if (userList.Any())
|
||||
{
|
||||
var point = new double[] { outData.targetData._Lat, outData.targetData._Lon };
|
||||
var self = userList.SingleOrDefault(r => r.IsSelf);
|
||||
if (self != null)
|
||||
{
|
||||
point = self.Point;
|
||||
}
|
||||
var currentDistance = currentPlayer.TotalDistance;
|
||||
foreach (var item in userList)
|
||||
{
|
||||
#region 记录第一个冲线的时间
|
||||
@@ -157,20 +140,8 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
}
|
||||
|
||||
index++;
|
||||
double near = Math.Round(TurfHelper.GetDistances(point, item.Point), 2);
|
||||
if (slowerThenMe)
|
||||
{
|
||||
near = near * -1;
|
||||
}
|
||||
if (item.IsSelf)
|
||||
{
|
||||
near = 0;
|
||||
slowerThenMe = true;
|
||||
}
|
||||
//else if (index == 1)
|
||||
//{
|
||||
// near = near * -1;
|
||||
//}
|
||||
double near = Math.Round(item.EndDistance - currentDistance,2); //Math.Round(TurfHelper.GetDistances(point, item.Point), 2);
|
||||
|
||||
sort.Add(new CompetitionRankingSortModel
|
||||
{
|
||||
Index = index,
|
||||
@@ -229,12 +200,12 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
}
|
||||
#endregion
|
||||
|
||||
outData.CompetitionRanking = new CompetitionRankingModel
|
||||
competitionRankingModel = new CompetitionRankingModel
|
||||
{
|
||||
Sorts = sort,
|
||||
MyRanking = sort.FindIndex(n => n.UserId == recorderData.BelongUserId) + 1,
|
||||
Total = sort.Count,
|
||||
Results = results
|
||||
Sorts = sort,//骑行实时排名
|
||||
MyRanking = sort.FindIndex(n => n.UserId == currentPlayer.UserId) + 1,//切换人物显示对应人物的排名
|
||||
Total = sort.Count,//总人数
|
||||
Results = results//比赛结果列表
|
||||
};
|
||||
}
|
||||
|
||||
@@ -244,25 +215,62 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
/// <param name="targetData"></param>
|
||||
public override void Run(TargetData targetData)
|
||||
{
|
||||
//base.BeforeRun(targetData);
|
||||
if (recorderData.CyclingState == CyclingStateEnum.Prepare)
|
||||
|
||||
#region 获取当前路线在线用户
|
||||
riders.RemoveAll(r => r.IsSelf == false);
|
||||
var onlineUsers = MapUDPService.GetCompetitionOnlineUsers(mapCompetition.Id).Where(d => d.IsSelf == false)
|
||||
.ToList();
|
||||
foreach (var item in onlineUsers)
|
||||
{
|
||||
if (recorderData.EndDistance != 0)
|
||||
riders.Add(new OnlineRiderModel()
|
||||
{
|
||||
currentDistance = recorderData.EndDistance;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentDistance = 0;
|
||||
}
|
||||
}
|
||||
else if (recorderData.CyclingState == CyclingStateEnum.Cycling)
|
||||
{
|
||||
currentDistance = recorderData.EndDistance + SpeedToDistance(targetData._Speed);
|
||||
NickName = item.Name,
|
||||
UserId = item.Id,
|
||||
WxHeadImg = item.HeadImage,
|
||||
Point = new GeoJSON.Net.Geometry.GeographicPosition(item.Point[0], item.Point[1]),
|
||||
EndDistance = item.EndDistance,
|
||||
PreDistance = item.PreDistance,
|
||||
WeightKg = item.WeightKg,
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
//TODO:接力赛
|
||||
////base.BeforeRun(targetData);
|
||||
//if (recorderData.CyclingState == CyclingStateEnum.Prepare)
|
||||
//{
|
||||
// if (recorderData.EndDistance != 0)
|
||||
// {
|
||||
// currentDistance = recorderData.EndDistance;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// currentDistance = 0;
|
||||
// }
|
||||
//}
|
||||
//else if (recorderData.CyclingState == CyclingStateEnum.Cycling)
|
||||
//{
|
||||
// currentDistance = recorderData.EndDistance + SpeedToDistance(targetData._Speed);
|
||||
//}
|
||||
base.Run(targetData);
|
||||
}
|
||||
|
||||
//显示结果当前用户保存或者产生第一名
|
||||
public bool CanShowResult()
|
||||
{
|
||||
return mapCompetition?.HasRecord ?? false || mapCompetition ?.FirstEndTime != null;
|
||||
}
|
||||
//关门时间到了退出骑行场景
|
||||
public bool CanQuit()
|
||||
{
|
||||
if (mapCompetition?.FirstEndTime.HasValue??false)
|
||||
{
|
||||
var closeDateTime = mapCompetition?.FirstEndTime.Value.ToLocalTime().AddMinutes(mapCompetition?.CloseTime??0 );
|
||||
return Now >= closeDateTime;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool CanStart()
|
||||
{
|
||||
if (mapCompetition == null)
|
||||
@@ -284,7 +292,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (mapCompetition.StartTime <= Now && mapCompetition.EndTime > Now)
|
||||
if (mapCompetition.StartTime.ToLocalTime() <= Now && mapCompetition.EndTime.ToLocalTime() > Now)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -295,8 +303,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
public int StartCountdown()
|
||||
{
|
||||
if (CanStart()) return 0;
|
||||
|
||||
return (int)Math.Floor((mapCompetition.StartTime - Now).TotalSeconds);
|
||||
return (int)Math.Floor((mapCompetition.StartTime.ToLocalTime() - Now).TotalSeconds);
|
||||
}
|
||||
/// <summary>
|
||||
/// 结束倒计时,bool值为true说明倒计时是关门时间
|
||||
@@ -306,7 +313,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
if (CanStart() == false) return (0, false);
|
||||
//if (recorderData.IsCompleted) return 0;
|
||||
var end1 = (int)Math.Floor((mapCompetition.EndTime - Now).TotalSeconds);
|
||||
var end1 = (int)Math.Floor((mapCompetition.EndTime.ToLocalTime() - Now).TotalSeconds);
|
||||
if (!FirstEndTime.HasValue)
|
||||
{
|
||||
return (end1, false);
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
@@ -238,6 +238,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
if (result.result && Directory.Exists(path))
|
||||
{
|
||||
Helper.DelectDir(path);
|
||||
Saved = true;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7b3cc03af7b19e44b20d0b929a53d45
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,42 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class NearByFactory : BaseListFactory
|
||||
{
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
cyclingController = FindObjectOfType<CyclingController>();
|
||||
playerController = FindObjectOfType<PlayerController>();
|
||||
nearByItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyItem");
|
||||
nearByMajorItem = Resources.Load<GameObject>("UI/Prefab/Ride/NearbyMajorItem");
|
||||
}
|
||||
protected override void CreateList()
|
||||
{
|
||||
var nearList = MapUDPService.GetNearRiderData(pageIndex, pageSize, new double[] { playerController.Currentlatlong.x, playerController.Currentlatlong.y });
|
||||
totalPages = MapUDPService.GetNearRiderCount();
|
||||
for (int i = 0; i < nearList.Count(); i++)
|
||||
{
|
||||
Create(nearList[i]);
|
||||
}
|
||||
}
|
||||
private void Create(NearRiderModel item)
|
||||
{
|
||||
//创建
|
||||
GameObject prefabItem = item.IsSelf ? nearByMajorItem : nearByItem;
|
||||
GameObject newObj = (GameObject)Instantiate(prefabItem, transform);
|
||||
var nearByItemscript = newObj.GetComponent<NearByItemScript>();
|
||||
nearByItemscript.setUserId(item.Id);
|
||||
nearByItemscript.setName(item.Name);
|
||||
nearByItemscript.setRatio(item.KGWeight+"W/KG");
|
||||
nearByItemscript.setSpeed(item.Speed.ToString() + "KM/H");
|
||||
nearByItemscript.setHead(item.Headimage);
|
||||
nearByItemscript.setCountry(cyclingController.GetCountryImageByName(item.Country));
|
||||
nearByItemscript.setDistance(item.Near.ToString() + "KM");
|
||||
bufferSize++;
|
||||
}
|
||||
}
|
||||
}
|
||||
File renamed without changes.
+3
-3
@@ -14,8 +14,8 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
private Text OnlineUserNum;
|
||||
private void Start()
|
||||
{
|
||||
Title = transform.Find("Title").GetComponent<Text>();
|
||||
OnlineUserNum = transform.Find("NearByView/OnlineUserNum").GetComponent<Text>();
|
||||
//Title = transform.Find("Title").GetComponent<Text>();
|
||||
//OnlineUserNum = transform.Find("NearByView/OnlineUserNum").GetComponent<Text>();
|
||||
}
|
||||
float t = 1;
|
||||
private void Update()
|
||||
@@ -23,7 +23,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
t -= Time.deltaTime;
|
||||
while (t < 0)
|
||||
{
|
||||
OnlineUserNum.text = MapUDPService.GetNearRiderCount().ToString();
|
||||
//OnlineUserNum.text = MapUDPService.GetNearRiderCount().ToString();
|
||||
t = 1;
|
||||
}
|
||||
}
|
||||
File renamed without changes.
Loaded 100 of 151 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user