调整多人开始骑行状态&动画控制&AR loading页面
This commit is contained in:
parent
995aef63f8
commit
8150b99411
@ -39,9 +39,9 @@ AnimatorStateTransition:
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25000006
|
||||
m_TransitionDuration: 0.25000003
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.06949831
|
||||
m_ExitTime: 0.011975697
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
@ -156,31 +156,6 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-6558742838094518040
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: speed
|
||||
m_EventTreshold: 35
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1.0034323
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-6280473346169069233
|
||||
AnimatorState:
|
||||
serializedVersion: 5
|
||||
@ -418,6 +393,31 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-4041146987074567963
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999988
|
||||
m_TransitionOffset: 0.00000015549041
|
||||
m_ExitTime: 0.99523795
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-3823386753831176018
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -450,8 +450,7 @@ AnimatorState:
|
||||
m_Name: evenToFast
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 5343670558689370237}
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -496,31 +495,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-3565907340479691613
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 4213284675513532716}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999988
|
||||
m_TransitionOffset: 0.00000014305083
|
||||
m_ExitTime: 1.0074285
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-3209598778822214922
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -571,40 +545,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-3203783344222926689
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: speed
|
||||
m_EventTreshold: 35
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: grade
|
||||
m_EventTreshold: 5
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: -1
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -3789228838010061756}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0.0035938977
|
||||
m_ExitTime: 1.000317
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-2947092496674604214
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -696,8 +636,8 @@ AnimatorState:
|
||||
- {fileID: -8596154552645026292}
|
||||
- {fileID: -1707437159815693159}
|
||||
- {fileID: 8297486244209268188}
|
||||
- {fileID: -3203783344222926689}
|
||||
- {fileID: -1277019209237619461}
|
||||
- {fileID: 2157945838762678729}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -742,6 +682,31 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-2448630386238416150
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: -1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999976
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9978974
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 2
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1109 &-2159963661882776293
|
||||
AnimatorTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -931,10 +896,10 @@ AnimatorState:
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -6558742838094518040}
|
||||
- {fileID: -142965112669115902}
|
||||
- {fileID: 1148195544466508220}
|
||||
- {fileID: 1862662143567928649}
|
||||
- {fileID: -2448630386238416150}
|
||||
- {fileID: -1348034233613075618}
|
||||
- {fileID: 6643453857259642113}
|
||||
- {fileID: -4041146987074567963}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -1052,6 +1017,37 @@ AnimatorStateMachine:
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -6197807439964194722}
|
||||
--- !u!1101 &-1348034233613075618
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: -1
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: grade
|
||||
m_EventTreshold: 5
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1696406813102555496}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999988
|
||||
m_TransitionOffset: 0.00000015549045
|
||||
m_ExitTime: 0.99010277
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-1277019209237619461
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -1133,31 +1129,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-142965112669115902
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: grade
|
||||
m_EventTreshold: 5
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1696406813102555496}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25000012
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.99818265
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1386,7 +1357,7 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &1148195544466508220
|
||||
--- !u!1101 &1527201953609581908
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1394,22 +1365,19 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: -1
|
||||
m_EventTreshold: 1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_DstState: {fileID: 4213284675513532716}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1.0017759
|
||||
m_HasExitTime: 1
|
||||
m_ExitTime: 1.0004635
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
@ -1436,7 +1404,7 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &1862662143567928649
|
||||
--- !u!1101 &2157945838762678729
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1444,18 +1412,27 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: -1
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: speed
|
||||
m_ConditionEvent: bearing
|
||||
m_EventTreshold: 1
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: speed
|
||||
m_EventTreshold: 35
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: grade
|
||||
m_EventTreshold: 5
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_DstState: {fileID: -1674479558448565141}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1.0045319
|
||||
m_TransitionOffset: 0.0039468156
|
||||
m_ExitTime: 0.9988009
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
@ -1544,8 +1521,8 @@ AnimatorState:
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -3565907340479691613}
|
||||
- {fileID: 5171103678275581170}
|
||||
- {fileID: 1527201953609581908}
|
||||
- {fileID: 7241215737975398068}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -1712,28 +1689,6 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5343670558689370237
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1674479558448565141}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999994
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9883946
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &5931569063321047081
|
||||
AnimatorState:
|
||||
serializedVersion: 5
|
||||
@ -1826,6 +1781,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6643453857259642113
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: speed
|
||||
m_EventTreshold: 35
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1921903986252914710}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.99825764
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1109 &6964856304486252921
|
||||
AnimatorTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -1890,6 +1870,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &7241215737975398068
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: speed
|
||||
m_EventTreshold: 1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 4213284675513532716}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.99571407
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &7764372601415394234
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
||||
@ -206,7 +206,7 @@ ModelImporter:
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 0
|
||||
loopBlend: 1
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
|
||||
@ -231,7 +231,7 @@ ModelImporter:
|
||||
takeName: Take 001
|
||||
internalID: 0
|
||||
firstFrame: 70
|
||||
lastFrame: 291
|
||||
lastFrame: 155
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
|
||||
5266
Assets/Resources/UI/Prefab/AR/LoadingPanel.prefab
Normal file
5266
Assets/Resources/UI/Prefab/AR/LoadingPanel.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Resources/UI/Prefab/AR/LoadingPanel.prefab.meta
Normal file
7
Assets/Resources/UI/Prefab/AR/LoadingPanel.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48419157f2d4c6149becfaea81a2fd51
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@ -39,7 +39,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
public double totalClimb;
|
||||
public Vector2d currentlatLon { get; set; }
|
||||
public int currentIndex;
|
||||
protected float bearing = 0f;
|
||||
public float bearing = 0f;
|
||||
protected MapDataModel mapData;
|
||||
protected bool isHit = false;
|
||||
protected RaycastHit hit;
|
||||
@ -74,16 +74,17 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
protected virtual void Update()
|
||||
{
|
||||
timer -= Time.deltaTime;
|
||||
ComputeAnimator();//控制动画
|
||||
|
||||
CreateHeadImage();
|
||||
|
||||
|
||||
while (timer <= 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
ComputeAnimator();//控制动画
|
||||
ComputeNextSlope();//计算下一个坡度
|
||||
ComputePlayer();//计算人物属性
|
||||
if (manager.IsStart())
|
||||
if (GetStart())
|
||||
{
|
||||
ticks++;
|
||||
Forward();
|
||||
@ -118,16 +119,21 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
isHit = Physics.Raycast(ray, out hit, 1f, 1 << 0, QueryTriggerInteraction.Collide);
|
||||
}
|
||||
|
||||
protected virtual bool GetStart()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//动画状态机
|
||||
protected virtual void ComputeAnimator()
|
||||
{
|
||||
if (animator != null)
|
||||
{
|
||||
|
||||
animator.SetFloat("preSpeed", (float)preSpeed);
|
||||
animator.SetFloat("speed", (float)speed);
|
||||
animator.SetFloat("grade", (float)currentSlope);
|
||||
animator.SetFloat("power", (float)power);
|
||||
animator.SetFloat("bearing", bearing);
|
||||
}
|
||||
}
|
||||
protected virtual int GetCurrentFrame()
|
||||
|
||||
@ -10,7 +10,7 @@ using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
public struct ContactInfo
|
||||
public class ContactInfo
|
||||
{
|
||||
public string Name;
|
||||
public string Gender;
|
||||
@ -69,7 +69,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
var totalDitance = manager.GetMapData().TotalDistance;
|
||||
var currentDistance = manager.CurrentPlayer.totalDistance;
|
||||
|
||||
var currenList = FindObjectsOfType<ListItem>();//当前列表
|
||||
//var currenList = FindObjectsOfType<ListItem>();//当前列表
|
||||
var currenList = GetComponentsInChildren<ListItem>(true);
|
||||
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);//最新列表
|
||||
list = list.Where(c => c.Id != App.CurrentUser.Id).ToList();
|
||||
if (currenList.Count() == 0 && list.Count() > 0)
|
||||
@ -83,6 +84,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
//var currenList = FindObjectsOfType<ListItem>();//当前列表
|
||||
//var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);//最新列表
|
||||
var currentPlayer = FindObjectOfType<VideoPlayer>();
|
||||
|
||||
|
||||
foreach (ListItem o in currenList)
|
||||
{
|
||||
if (currentPlayer.UserId.ToString() == o.Id)
|
||||
@ -91,14 +94,26 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
if (needUpdate != null)
|
||||
{
|
||||
var left = Math.Round((needUpdate.EndDistance - manager.CurrentPlayer.totalDistance) * 1000);
|
||||
//var right = (needUpdate.EndDistance % totalDitance - totalDitance - currentDistance) * 1000;
|
||||
//var diff = Math.Abs(left) > Math.Abs(right) ? right : left;
|
||||
o.UpdateItem(needUpdate.Name, left.ToString() + "M", needUpdate.Id.ToString());
|
||||
//o.gameObject.SetActive(true);
|
||||
o.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
//o.gameObject.SetActive(false);
|
||||
o.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
var newOne = _contactList.Where(c => c.id == item.Id.ToString()).FirstOrDefault();
|
||||
if (newOne == null)
|
||||
{
|
||||
var one = new ContactInfo();
|
||||
one.Name = item.Name;
|
||||
one.Gender = "";
|
||||
one.id = item.Id.ToString();
|
||||
_contactList.Add(one);
|
||||
_recyclableScrollRect.ReloadData();
|
||||
}
|
||||
}
|
||||
timer +=1f;
|
||||
|
||||
@ -18,6 +18,7 @@ using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.Events;
|
||||
using Helper = Assets.Scenes.Ride.Scripts.Helper;
|
||||
using System.Collections;
|
||||
|
||||
namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
@ -78,6 +79,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
MockDirection();
|
||||
infoPanel = Resources.Load<GameObject>("UI/Prefab/AR/VideoPlayerHead");
|
||||
OnlinePlayer = Resources.Load<GameObject>("UI/Prefab/OnlineVideoPlayer");
|
||||
StartCoroutine(Init());
|
||||
}
|
||||
void Start()
|
||||
{
|
||||
@ -108,8 +110,16 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
endDistance = 0;
|
||||
//倒计时5s开始
|
||||
SetCyclingModel(CyclingModel.Single);
|
||||
videoLoading = FindObjectOfType<VideoLoading>();
|
||||
|
||||
|
||||
}
|
||||
private IEnumerator Init()
|
||||
{
|
||||
yield return null;
|
||||
videoLoading.Init();//初始化loading页面
|
||||
}
|
||||
VideoLoading videoLoading { get; set; }
|
||||
// Update is called once per frame
|
||||
float timer = 1f;
|
||||
void Update()
|
||||
@ -474,6 +484,10 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImage(code);
|
||||
}
|
||||
public Texture GetCountryImageByName(string name)
|
||||
{
|
||||
return UIManager.Instance.loginRegOptions.GetCountryImageByName(name);
|
||||
}
|
||||
//截图
|
||||
protected void CaptureCamera(Camera camera, Rect rect, string fileName)
|
||||
{
|
||||
|
||||
@ -8,6 +8,9 @@ using UnityEngine.UI;
|
||||
using DG.Tweening;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.EventSystems;
|
||||
using Assets.Scenes.Ride.Scripts;
|
||||
using Assets.Scripts.Apis.Models;
|
||||
using System.Linq;
|
||||
|
||||
namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
@ -17,6 +20,42 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
UnityWebRequest request { get; set; }
|
||||
VideoGameManager manager { get; set; }
|
||||
// Start is called before the first frame update
|
||||
|
||||
protected Text mapName;
|
||||
protected RawImage mapRouteImage;
|
||||
protected CanvasGroup canvasGroup;
|
||||
protected Slider slider;
|
||||
protected Text processText;
|
||||
protected Text rideNowText;
|
||||
protected Button rideNow;
|
||||
protected Button cancel;
|
||||
protected Text mapDescText;
|
||||
protected Text distance;
|
||||
protected Text elevaction;
|
||||
protected Text slope;
|
||||
protected GameObject panel;
|
||||
|
||||
protected GameObject loadingPanel { get; set; }
|
||||
|
||||
protected Text level;
|
||||
protected Text rideNum;
|
||||
protected Text uploadByUserName;
|
||||
protected RawImage head;
|
||||
protected RawImage country;
|
||||
protected RawImage mapCountry;
|
||||
protected RawImage altitudeGraph;
|
||||
protected Transform mapRanking;
|
||||
protected Text mapId;
|
||||
|
||||
protected float process = 0;//0-100 %
|
||||
public float targetAlpha = 0f;
|
||||
public float alphaSpeed = 2.0f;
|
||||
private bool depressFlag = false;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
}
|
||||
void Start()
|
||||
{
|
||||
manager = FindObjectOfType<VideoGameManager>();
|
||||
@ -77,6 +116,12 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
SceneManager.LoadScene("MainScene");
|
||||
});
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
InitGameObject();
|
||||
InitGameObjectData();
|
||||
}
|
||||
//进入观察模式
|
||||
private void InspectHandler(BaseEventData data)
|
||||
{
|
||||
@ -89,10 +134,154 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
};
|
||||
}
|
||||
|
||||
private void InitGameObject()
|
||||
{
|
||||
panel = transform.Find("Panel").gameObject;
|
||||
mapName = panel.transform.Find("MapName").GetComponent<Text>();
|
||||
distance = panel.transform.Find("Distance").GetComponent<Text>();
|
||||
elevaction = panel.transform.Find("Elevaction").GetComponent<Text>();
|
||||
slope = panel.transform.Find("Slope").GetComponent<Text>();
|
||||
mapRouteImage = panel.transform.Find("MapRouteImage").GetComponent<RawImage>();
|
||||
slider = panel.transform.Find("Process").GetComponent<Slider>();
|
||||
slider.gameObject.SetActive(false);
|
||||
processText = panel.transform.Find("ProcessText").GetComponent<Text>();
|
||||
processText.gameObject.SetActive(false);
|
||||
mapDescText = panel.transform.Find("MapDesc").GetComponent<Text>();
|
||||
rideNow = panel.transform.Find("RideNow").GetComponent<Button>();
|
||||
rideNowText = rideNow.transform.Find("Text").GetComponent<Text>();
|
||||
cancel = panel.transform.Find("Cancel").GetComponent<Button>();
|
||||
UIManager.AddEvent(rideNow.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide);
|
||||
UIManager.AddEvent(cancel.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Cancel);
|
||||
slider.onValueChanged.AddListener((f) =>
|
||||
{
|
||||
processText.text = $"{(f).ToString("#0")}%";
|
||||
});
|
||||
|
||||
level = panel.transform.Find("level/Text").GetComponent<Text>();
|
||||
rideNum = panel.transform.Find("RideNum").GetComponent<Text>();
|
||||
uploadByUserName = panel.transform.Find("UploadByUserName").GetComponent<Text>();
|
||||
country = panel.transform.Find("UploadByCountry").GetComponent<RawImage>();
|
||||
mapCountry = panel.transform.Find("Country").GetComponent<RawImage>();
|
||||
head = panel.transform.Find("UploadByHead").GetComponent<RawImage>();
|
||||
altitudeGraph = panel.transform.Find("AltitudeGraph").GetComponent<RawImage>();
|
||||
mapRanking = panel.transform.Find("MapRanking");
|
||||
mapId = panel.transform.Find("MapId").GetComponent<Text>();
|
||||
}
|
||||
protected void InitGameObjectData()
|
||||
{
|
||||
var route = manager.mapRoute;
|
||||
#region 绑定路书基本信息
|
||||
//mapName.text = route.Name;
|
||||
#if UNITY_IOS || UNITY_ANDROID
|
||||
enable3D = panel.transform.Find("Enable3D").gameObject;
|
||||
enable3D.SetActive(route.Enable3D);
|
||||
#endif
|
||||
mapName.text = GetMaxString(route.Name, 40);
|
||||
level.text = route.Hard;
|
||||
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
|
||||
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
|
||||
rideNum.text = route.TheHeat.ToString();
|
||||
distance.text = route.Distance.ToString("f1") + "KM";
|
||||
mapDescText.text = GetMaxString(route.Dec, 255);
|
||||
mapId.text = $"#{route.Id.ToString()}";
|
||||
var userList = ConfigHelper.mapApi.GetOnlineUserInfo(new int[] { route.UserId }).data;
|
||||
if (userList.Count > 0)
|
||||
{
|
||||
uploadByUserName.text = userList[0].Name;
|
||||
var countryUrl = App.Host + $"User/GetCountryImg?userid={userList[0].Id}";
|
||||
Utils.DisplayImage(head, userList[0].HeadImage);//头像
|
||||
country.texture = manager.GetCountryImageByName(userList[0].Country);//上传者国家
|
||||
mapCountry.texture = manager.GetCountryImageByCode(route.CountryCode);//路书国家
|
||||
}
|
||||
#endregion
|
||||
|
||||
//查询排行榜
|
||||
var list = ConfigHelper.mapApi.GetRouteRanking(route.Id, "1", 0, 10000, "");
|
||||
if (list.result)
|
||||
{
|
||||
CreateRankingList(list.data.list);
|
||||
}
|
||||
}
|
||||
protected void StartRide(BaseEventData baseEvent)
|
||||
{
|
||||
}
|
||||
protected void Cancel(BaseEventData baseEvent)
|
||||
{
|
||||
SceneManager.LoadScene("MainScene");
|
||||
}
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
private int RankingPageSize = 10;
|
||||
//创建排行榜
|
||||
public void CreateRankingList(List<MapRouteRanking> list)
|
||||
{
|
||||
#if UNITY_IOS || UNITY_ANDROID
|
||||
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/Mobile/RankingItem");
|
||||
var myprefab = Resources.Load<GameObject>("UI/Prefab/Ride/Mobile/MySelfRankingItem");
|
||||
var viewAllbtn = Resources.Load<GameObject>("UI/Prefab/Ride/Mobile/ViewAll");
|
||||
#else
|
||||
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem");
|
||||
var myprefab = Resources.Load<GameObject>("UI/Prefab/Ride/MySelfRankingItem");
|
||||
var viewAllbtn = Resources.Load<GameObject>("UI/Prefab/Ride/ViewAll");
|
||||
#endif
|
||||
var parent = panel.transform.Find("MapRanking");
|
||||
var title = panel.transform.Find("RankingTitle").gameObject;
|
||||
title.SetActive(list.Count != 0);
|
||||
int index = 0;
|
||||
foreach (var item in list)
|
||||
{
|
||||
index++;
|
||||
if (index > RankingPageSize)
|
||||
break;
|
||||
GameObject newObj = (GameObject)Instantiate(prefab, parent);
|
||||
var selectPlayerItemScript = newObj.GetComponent<Assets.Scenes.Ride.Scripts.RankingItemScript>();
|
||||
selectPlayerItemScript.SetRanking(item.RowNumber.ToString());
|
||||
selectPlayerItemScript.SetName(item.NickName);
|
||||
selectPlayerItemScript.SetTimer(item.IsDNF ? "DNF" : item.TotalTime);
|
||||
selectPlayerItemScript.SetHead(item.WxHeadImg);
|
||||
var texture = manager.GetCountryImageByCode(item.CountryCode);
|
||||
selectPlayerItemScript.SetCountry(texture);
|
||||
}
|
||||
//如果有自己的记录显示自己的排名
|
||||
var myself = list.Where(c => c.MySelf).FirstOrDefault();
|
||||
GameObject myselfObj = (GameObject)Instantiate(myprefab, parent);
|
||||
var myselfItemScript = myselfObj.GetComponent<Assets.Scenes.Ride.Scripts.RankingItemScript>();
|
||||
if (myself == null)
|
||||
{
|
||||
myselfItemScript.SetRanking("--");
|
||||
myselfItemScript.SetName(App.CurrentUser.Nickname);
|
||||
myselfItemScript.SetTimer("--:--:--");
|
||||
myselfItemScript.SetHead(App.CurrentUser.WxHeadImg);
|
||||
var texture = manager.GetCountryImageByName(App.CurrentUser.Country);
|
||||
myselfItemScript.SetCountry(texture);
|
||||
}
|
||||
else
|
||||
{
|
||||
myselfItemScript.SetRanking(myself.RowNumber.ToString());
|
||||
myselfItemScript.SetName(myself.NickName);
|
||||
myselfItemScript.SetTimer(myself.IsDNF ? "DNF" : myself.TotalTime);
|
||||
myselfItemScript.SetHead(myself.WxHeadImg);
|
||||
var texture = manager.GetCountryImageByCode(myself.CountryCode);
|
||||
myselfItemScript.SetCountry(texture);
|
||||
}
|
||||
//显示查询全部按钮
|
||||
if (list.Count > 0)
|
||||
{
|
||||
GameObject ViewAll = (GameObject)Instantiate(viewAllbtn, parent);
|
||||
UIManager.AddEvent(ViewAll, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
||||
{
|
||||
Application.OpenURL($"{App.CurrentUser.WebHost}Routes/{manager.mapRoute.Id}?Token={App.CurrentUser.cookie}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
protected string GetMaxString(string value, int length)
|
||||
{
|
||||
var s = Helper.SubStr(value, length);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -18,6 +18,11 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
UserName = App.CurrentUser.Nickname;
|
||||
}
|
||||
|
||||
protected override bool GetStart()
|
||||
{
|
||||
return manager.IsStart();
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
@ -38,25 +43,23 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
protected override void ComputeAnimator()
|
||||
{
|
||||
base.ComputeAnimator();
|
||||
|
||||
var mainFrame = manager.GetCurrentFrame();
|
||||
var result = manager.mockDirection.Where(c => c.Start < mainFrame && c.End > mainFrame).FirstOrDefault();
|
||||
bearing = result?.Value ?? 0;
|
||||
animator.SetFloat("bearing", bearing);
|
||||
}
|
||||
protected override void ComputePlayer()
|
||||
{
|
||||
heartRate = manager.UpDateHeart();
|
||||
power = manager.UpdatePower();
|
||||
cadance = manager.UpdateCadence();
|
||||
#if UNITY_EDITOR
|
||||
power = 0;
|
||||
//#if UNITY_EDITOR
|
||||
power = 150;
|
||||
cadance = 150;
|
||||
heartRate = 160;
|
||||
#endif
|
||||
//#endif
|
||||
weight = App.CurrentUser.Weight;
|
||||
bicycleWeight = App.CurrentUser.BicycleWeight;
|
||||
wkg = Math.Round(power / weight, 2);
|
||||
var mainFrame = manager.GetCurrentFrame();
|
||||
var result = manager.mockDirection.Where(c => c.Start < mainFrame && c.End > mainFrame).FirstOrDefault();
|
||||
bearing = result?.Value ?? 0;
|
||||
//发送阻力
|
||||
manager.TrackResistance(currentSlope);
|
||||
base.ComputePlayer();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user