diff --git a/Assets/Resources/Games/forkLifter.prefab b/Assets/Resources/Games/forkLifter.prefab
index 132aa4167..f5f428eee 100644
--- a/Assets/Resources/Games/forkLifter.prefab
+++ b/Assets/Resources/Games/forkLifter.prefab
@@ -1119,7 +1119,6 @@ MonoBehaviour:
SoundSequences: []
EligibleHits: []
scheduledInputs: []
- firstEnable: 0
ForkLifterHand: {fileID: 5813499711174113249}
handAnim: {fileID: 5813499711174113250}
flickedObject: {fileID: 5813499710694194086}
diff --git a/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand.controller b/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand.controller
index 2b0d478ed..0d249f642 100644
--- a/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand.controller
+++ b/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand.controller
@@ -26,55 +26,6 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
---- !u!1101 &-2244942594801115525
-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: -3335095768559015400}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 0
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1102 &-1603142614781995660
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Hand_GrabObject
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: -2244942594801115525}
- m_StateMachineBehaviours: []
- m_Position: {x: 50, y: 50, z: 0}
- m_IKOnFeet: 0
- m_WriteDefaultValues: 1
- m_Mirror: 0
- m_SpeedParameterActive: 0
- m_MirrorParameterActive: 0
- m_CycleOffsetParameterActive: 0
- m_TimeParameterActive: 0
- m_Motion: {fileID: 7400000, guid: 37f53717e1d7fc64898c793f83020828, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -97,28 +48,6 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
---- !u!1101 &2613062273872111154
-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: -1603142614781995660}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 0
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
--- !u!1102 &4663746626472684145
AnimatorState:
serializedVersion: 6
@@ -156,13 +85,10 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 6004606327514597299}
- m_Position: {x: 520, y: 10, z: 0}
+ m_Position: {x: 520, y: 40, z: 0}
- serializedVersion: 1
m_State: {fileID: -3335095768559015400}
- m_Position: {x: 240, y: -10, z: 0}
- - serializedVersion: 1
- m_State: {fileID: -1603142614781995660}
- m_Position: {x: 360, y: 120, z: 0}
+ m_Position: {x: 190, y: 210, z: 0}
- serializedVersion: 1
m_State: {fileID: 4663746626472684145}
m_Position: {x: 440, y: -70, z: 0}
@@ -189,8 +115,7 @@ AnimatorState:
m_Name: Hand_Flick
m_Speed: 1
m_CycleOffset: 0
- m_Transitions:
- - {fileID: 2613062273872111154}
+ m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
diff --git a/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand_Flick.anim b/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand_Flick.anim
index 42745adca..e3404d1e8 100644
--- a/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand_Flick.anim
+++ b/Assets/Resources/Sprites/Games/ForkLifter/Animations/Hand_Flick.anim
@@ -14,22 +14,6 @@ AnimationClip:
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: {x: 0, y: 0, z: -133.353}
- inSlope: {x: Infinity, y: 0, z: 0}
- outSlope: {x: Infinity, y: 0, z: 0}
- tangentMode: 0
- weightedMode: 0
- inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
- outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- path: SOME01_128091f1_6_11
- curve:
serializedVersion: 2
m_Curve:
@@ -47,31 +31,6 @@ AnimationClip:
m_RotationOrder: 4
path: HandVisual
m_PositionCurves:
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: {x: -0.363, y: 1.035, z: 74.52776}
- inSlope: {x: Infinity, y: Infinity, z: Infinity}
- outSlope: {x: Infinity, y: Infinity, z: Infinity}
- tangentMode: 0
- weightedMode: 0
- inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- - serializedVersion: 3
- time: 0.16666667
- value: {x: -0.218, y: 1.214, z: 74.52776}
- inSlope: {x: Infinity, y: Infinity, z: Infinity}
- outSlope: {x: Infinity, y: Infinity, z: Infinity}
- tangentMode: 0
- weightedMode: 0
- inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- path: SOME01_128091f1_6_11
- curve:
serializedVersion: 2
m_Curve:
@@ -93,10 +52,78 @@ AnimationClip:
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.3
+ value: {x: -0.235, y: 1.216, z: 74.52776}
+ inSlope: {x: Infinity, y: Infinity, z: Infinity}
+ outSlope: {x: Infinity, y: Infinity, z: Infinity}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.35
+ value: {x: -0.113, y: 1.145, z: 74.52776}
+ inSlope: {x: Infinity, y: Infinity, z: Infinity}
+ outSlope: {x: Infinity, y: Infinity, z: Infinity}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.4
+ value: {x: 0.02943516, y: 1.231121, z: 74.52776}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: HandVisual
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.3
+ value: {x: -0.1, y: 0.408, z: 74.52776}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.35
+ value: {x: 0.017, y: 0.261, z: 74.52776}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: PeaVisual
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.4
+ value: {x: 0.271, y: -0.031, z: 0}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: HandVisual/hand_shadow1
m_ScaleCurves: []
m_FloatCurves:
- curve:
@@ -120,6 +147,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
+ - serializedVersion: 3
+ time: 0.4
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -139,6 +175,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
+ - serializedVersion: 3
+ time: 0.3
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -149,41 +194,53 @@ AnimationClip:
m_PPtrCurves:
- curve:
- time: 0
- value: {fileID: 21300000, guid: e289120f53cab0c47bc168c74f1334fe, type: 3}
+ value: {fileID: 0}
- time: 0.016666668
- value: {fileID: 21300000, guid: 7eac82b47cfe63d4a82e79916b6df821, type: 3}
+ value: {fileID: 0}
- time: 0.033333335
- value: {fileID: 21300000, guid: b577af31fb7acae469a736e54886426b, type: 3}
+ value: {fileID: 0}
- time: 0.05
- value: {fileID: 21300000, guid: bf6d6375d442f534cae6f4bf6da54243, type: 3}
+ value: {fileID: 0}
- time: 0.06666667
- value: {fileID: 21300000, guid: 2f97f62820af55c4f8fc0303ea6843f5, type: 3}
+ value: {fileID: 0}
- time: 0.083333336
- value: {fileID: 21300000, guid: 1a8c5fd3822226249957fa3356b4070a, type: 3}
+ value: {fileID: 0}
- time: 0.1
- value: {fileID: 21300000, guid: 4ed7ed944f9b66441941effac0f1806e, type: 3}
+ value: {fileID: 0}
- time: 0.11666667
- value: {fileID: 21300000, guid: a77ebd0aaac183e45bff0d05745cf0d1, type: 3}
+ value: {fileID: 0}
- time: 0.13333334
- value: {fileID: 21300000, guid: e8f0b0c90828def458b07adedcb16992, type: 3}
+ value: {fileID: 0}
- time: 0.15
- value: {fileID: 21300000, guid: 03f01dcf91cdae34897562741c338bcb, type: 3}
+ value: {fileID: 0}
- time: 0.16666667
- value: {fileID: 21300000, guid: 89164a5ca38e87d409b45d2a3c29de7c, type: 3}
+ value: {fileID: 0}
- time: 0.18333334
- value: {fileID: 21300000, guid: 200499fa2c79f214681c681dd0eaabd3, type: 3}
+ value: {fileID: 0}
- time: 0.2
- value: {fileID: 21300000, guid: fb1703ab0ff9d3c49a902548ce45ff91, type: 3}
+ value: {fileID: 0}
- time: 0.21666667
- value: {fileID: 21300000, guid: 809df09db346d6f4fb2aac15956b5d76, type: 3}
+ value: {fileID: 0}
- time: 0.23333333
- value: {fileID: 21300000, guid: f97227717c214104fa945ca47aa29617, type: 3}
+ value: {fileID: 0}
- time: 0.25
- value: {fileID: 21300000, guid: 8fe446d26cf43724196c575595c7dac4, type: 3}
+ value: {fileID: 0}
- time: 0.26666668
- value: {fileID: 21300000, guid: 8e9a1a3e172609848916109938ac8c53, type: 3}
+ value: {fileID: 0}
- time: 0.28333333
- value: {fileID: 21300000, guid: 20954ee1a93cedb498a429fcc1ea1fd7, type: 3}
+ value: {fileID: 0}
+ - time: 0.3
+ value: {fileID: 0}
+ - time: 0.31666666
+ value: {fileID: 0}
+ - time: 0.33333334
+ value: {fileID: 0}
+ - time: 0.35
+ value: {fileID: 0}
+ - time: 0.36666667
+ value: {fileID: 0}
+ - time: 0.38333333
+ value: {fileID: 0}
attribute: m_Sprite
path: Fork_Lifter_Gameplay
classID: 212
@@ -193,14 +250,7 @@ AnimationClip:
value: {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- time: 0.16666667
value: {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- attribute: m_Sprite
- path: SOME01_128091f1_6_11
- classID: 212
- script: {fileID: 0}
- - curve:
- - time: 0
- value: {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- - time: 0.16666667
+ - time: 0.4
value: {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
attribute: m_Sprite
path: HandVisual
@@ -222,13 +272,6 @@ AnimationClip:
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- - serializedVersion: 2
- path: 3316808799
- attribute: 1
- script: {fileID: 0}
- typeID: 4
- customType: 0
- isPPtrCurve: 0
- serializedVersion: 2
path: 3267382320
attribute: 1
@@ -237,11 +280,11 @@ AnimationClip:
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
- path: 3316808799
- attribute: 4
+ path: 2083950812
+ attribute: 1
script: {fileID: 0}
typeID: 4
- customType: 4
+ customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3267382320
@@ -271,13 +314,6 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
- - serializedVersion: 2
- path: 3316808799
- attribute: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- serializedVersion: 2
path: 3267382320
attribute: 0
@@ -292,28 +328,40 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
+ - serializedVersion: 2
+ path: 3526390209
+ attribute: 1
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
pptrCurveMapping:
- - {fileID: 21300000, guid: e289120f53cab0c47bc168c74f1334fe, type: 3}
- - {fileID: 21300000, guid: 7eac82b47cfe63d4a82e79916b6df821, type: 3}
- - {fileID: 21300000, guid: b577af31fb7acae469a736e54886426b, type: 3}
- - {fileID: 21300000, guid: bf6d6375d442f534cae6f4bf6da54243, type: 3}
- - {fileID: 21300000, guid: 2f97f62820af55c4f8fc0303ea6843f5, type: 3}
- - {fileID: 21300000, guid: 1a8c5fd3822226249957fa3356b4070a, type: 3}
- - {fileID: 21300000, guid: 4ed7ed944f9b66441941effac0f1806e, type: 3}
- - {fileID: 21300000, guid: a77ebd0aaac183e45bff0d05745cf0d1, type: 3}
- - {fileID: 21300000, guid: e8f0b0c90828def458b07adedcb16992, type: 3}
- - {fileID: 21300000, guid: 03f01dcf91cdae34897562741c338bcb, type: 3}
- - {fileID: 21300000, guid: 89164a5ca38e87d409b45d2a3c29de7c, type: 3}
- - {fileID: 21300000, guid: 200499fa2c79f214681c681dd0eaabd3, type: 3}
- - {fileID: 21300000, guid: fb1703ab0ff9d3c49a902548ce45ff91, type: 3}
- - {fileID: 21300000, guid: 809df09db346d6f4fb2aac15956b5d76, type: 3}
- - {fileID: 21300000, guid: f97227717c214104fa945ca47aa29617, type: 3}
- - {fileID: 21300000, guid: 8fe446d26cf43724196c575595c7dac4, type: 3}
- - {fileID: 21300000, guid: 8e9a1a3e172609848916109938ac8c53, type: 3}
- - {fileID: 21300000, guid: 20954ee1a93cedb498a429fcc1ea1fd7, type: 3}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
- {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- - {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: 7562980635367501552, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -1164378328580708214, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
@@ -322,7 +370,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
- m_StopTime: 0.3
+ m_StopTime: 0.4166667
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
@@ -338,147 +386,6 @@ AnimationClip:
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: -0.363
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 0.16666667
- value: -0.218
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalPosition.x
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1.035
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 0.16666667
- value: 1.214
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalPosition.y
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 74.52776
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 0.16666667
- value: 74.52776
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalPosition.z
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: localEulerAnglesRaw.x
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: localEulerAnglesRaw.y
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: -133.353
- inSlope: Infinity
- outSlope: Infinity
- tangentMode: 103
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: localEulerAnglesRaw.z
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
@@ -500,6 +407,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.3
+ value: -0.235
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: -0.113
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.4
+ value: 0.02943516
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -528,6 +462,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.3
+ value: 1.216
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: 1.145
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.4
+ value: 1.231121
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -556,6 +517,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.3
+ value: 74.52776
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: 74.52776
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.4
+ value: 74.52776
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -641,6 +629,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
+ - serializedVersion: 3
+ time: 0.4
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -660,6 +657,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
+ - serializedVersion: 3
+ time: 0.3
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@@ -667,27 +673,148 @@ AnimationClip:
path: PeaVisual
classID: 1
script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.3
+ value: -0.1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: 0.017
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.x
+ path: PeaVisual
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.3
+ value: 0.408
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: 0.261
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.y
+ path: PeaVisual
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.3
+ value: 74.52776
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.35
+ value: 74.52776
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.z
+ path: PeaVisual
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.4
+ value: 0.271
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.x
+ path: HandVisual/hand_shadow1
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.4
+ value: -0.031
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.y
+ path: HandVisual/hand_shadow1
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0.4
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalPosition.z
+ path: HandVisual/hand_shadow1
+ classID: 4
+ script: {fileID: 0}
m_EulerEditorCurves:
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.x
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.y
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
@@ -695,16 +822,6 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
- path: SOME01_128091f1_6_11
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.x
path: HandVisual
classID: 4
script: {fileID: 0}
@@ -724,7 +841,7 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
- attribute: m_LocalEulerAngles.z
+ attribute: m_LocalEulerAngles.x
path: HandVisual
classID: 4
script: {fileID: 0}
diff --git a/Assets/Scripts/Games/ForkLifter/ForkLifter.cs b/Assets/Scripts/Games/ForkLifter/ForkLifter.cs
index 2414578f9..26e904d00 100644
--- a/Assets/Scripts/Games/ForkLifter/ForkLifter.cs
+++ b/Assets/Scripts/Games/ForkLifter/ForkLifter.cs
@@ -16,7 +16,8 @@ namespace HeavenStudio.Games.Loaders
{
function = delegate {
var e = eventCaller.currentEntity;
- ForkLifter.instance.Flick(e.beat, e["type"]);
+ ForkLifter.Flick(e.beat);
+ ForkLifter.instance.FlickActive(e.beat, e["type"]);
},
defaultLength = 3,
parameters = new List()
@@ -25,8 +26,8 @@ namespace HeavenStudio.Games.Loaders
},
inactiveFunction = delegate {
var e = eventCaller.currentEntity;
+ ForkLifter.Flick(e.beat);
ForkLifter.queuedFlicks.Add(e);
- ForkLifter.instance.Flick(e.beat, e["type"]);
},
},
new GameAction("prepare", "Prepare Hand")
@@ -137,7 +138,7 @@ namespace HeavenStudio.Games
{
base.OnGameSwitch(beat);
if (queuedFlicks.Count > 0) {
- foreach (var flick in queuedFlicks) { FlickActive(flick.beat, flick["type"], beat - flick.beat); }
+ foreach (var flick in queuedFlicks) { FlickActive(flick.beat, flick["type"]); }
queuedFlicks.Clear();
}
@@ -159,23 +160,18 @@ namespace HeavenStudio.Games
}
}
- public void Flick(double beat, int type, double currentBeat = 0)
+ public static void Flick(double beat)
{
- SoundByte.PlayOneShotGame("forkLifter/flick");
- handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat, currentBeat);
- ForkLifterHand.currentFlickIndex++;
- GameObject fo = Instantiate(flickedObject);
- fo.transform.parent = flickedObject.transform.parent;
- Pea pea = fo.GetComponent();
- pea.startBeat = beat;
- pea.type = type;
- fo.SetActive(true);
+ var offset = SoundByte.GetClipLengthGame("forkLifter/zoomFast") - 0.03;
+ SoundByte.PlayOneShotGame("forkLifter/zoomFast", beat + 2, offset: offset, forcePlay: true);
+
+ SoundByte.PlayOneShotGame("forkLifter/flick", forcePlay: true);
}
- public void FlickActive(double beat, int type, double currentBeat = 0)
+ public void FlickActive(double beat, int type)
{
- SoundByte.PlayOneShotGame("forkLifter/flick");
- handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat, currentBeat);
+
+ handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat);
ForkLifterHand.currentFlickIndex++;
GameObject fo = Instantiate(flickedObject);
fo.transform.parent = flickedObject.transform.parent;
diff --git a/Assets/Scripts/Games/ForkLifter/Pea.cs b/Assets/Scripts/Games/ForkLifter/Pea.cs
index 63054040c..4da4e4cac 100644
--- a/Assets/Scripts/Games/ForkLifter/Pea.cs
+++ b/Assets/Scripts/Games/ForkLifter/Pea.cs
@@ -24,9 +24,6 @@ namespace HeavenStudio.Games.Scripts_ForkLifter
player = ForkLifterPlayer.instance;
anim = GetComponent();
- var offset = SoundByte.GetClipLengthGame("forkLifter/zoomFast") - 0.03;
- SoundByte.PlayOneShotGame("forkLifter/zoomFast", startBeat + 2, offset: offset);
-
GetComponentInChildren().sprite = game.peaSprites[type];
for (int i = 0; i < transform.GetChild(0).childCount; i++)
diff --git a/Assets/Scripts/Games/KarateMan/KarateMan.cs b/Assets/Scripts/Games/KarateMan/KarateMan.cs
index 0ab01fc5d..dd0cfc10f 100644
--- a/Assets/Scripts/Games/KarateMan/KarateMan.cs
+++ b/Assets/Scripts/Games/KarateMan/KarateMan.cs
@@ -285,21 +285,11 @@ namespace HeavenStudio.Games.Loaders
{
new Param("presetBg", KarateMan.BackgroundType.Yellow, "Preset BG Color", "The preset background type (will by default fade from the existing background color)", new List()
{
- new Param.CollapseParam((x, y) => {
- Debug.Log(y["endColor"]);
- RiqEntity bg = GameManager.instance.Beatmap.Entities.FindLast(c => c.beat <= y.beat && c.datamodel == "karateman/background appearance");
- y["startColor"] = bg["endColor"];
- y["endColor"] = KarateMan.BackgroundColors[(int)x];
- Debug.Log(y["endColor"]);
- return true;
- }, new string[] { /* "startColor", "endColor" */ "presetBg" })
+ new Param.CollapseParam((x, _) => (int)x == (int)KarateMan.BackgroundType.Custom, new string[] { "startColor", "endColor" }),
}),
new Param("startColor", new Color(0.985f, 0.79f, 0.243f), "Start BG Color", "The background color to start with"),
new Param("endColor", new Color(0.985f, 0.79f, 0.243f), "End BG Color", "The background color to end with"),
- new Param("ease", Util.EasingFunction.Ease.Instant, "BG Color Ease", "Ease to use when fading color", new List()
- {
- new Param.CollapseParam((x, _) => (int)x != (int)Util.EasingFunction.Ease.Instant, new string[] { "startColor" })
- }),
+ new Param("ease", Util.EasingFunction.Ease.Instant, "BG Color Ease", "Ease to use when fading color"),
new Param("shadowType", KarateMan.ShadowType.Tinted, "Shadow Type", "The shadow type. If Tinted doesn't work with your background color try Custom", new List()
{
new Param.CollapseParam((x, _) => (int)x == (int)KarateMan.ShadowType.Custom, new string[] { "shadowStart", "shadowEnd" }),
@@ -539,7 +529,7 @@ namespace HeavenStudio.Games
public float NoriPerformance { get { if (IsNoriActive) return Nori.Nori / Nori.MaxNori; else return 1f; } }
public Color[] LightBulbColors;
- public static Color[] BackgroundColors;
+ public Color[] BackgroundColors;
//camera positions (normal, special)
[Header("Camera Positions")]
@@ -614,13 +604,13 @@ namespace HeavenStudio.Games
colorStarts = new Color[] {
BackgroundColors[0],
TintColor(BackgroundColors[0]),
- new(),
+ new Color(),
};
Update();
}
- private void Start()
+ private void Start()
{
Update();
}
@@ -644,7 +634,7 @@ namespace HeavenStudio.Games
EntityPreCheck(beat);
}
- public override void OnPlay(double beat)
+ public override void OnPlay(double beat)
{
EntityPreCheck(beat);
}
@@ -753,9 +743,6 @@ namespace HeavenStudio.Games
BackgroundColorUpdate();
GameCamera.additionalPosition = cameraPosition - GameCamera.defaultPosition;
BGEffect.transform.position = new Vector3(GameCamera.instance.transform.position.x, GameCamera.instance.transform.position.y, 0);
-
- Debug.Log("GameCamera.additionalPosition : " + GameCamera.additionalPosition);
- Debug.Log("cameraPosition : " + cameraPosition);
}
private void OnDestroy()
@@ -996,15 +983,17 @@ namespace HeavenStudio.Games
colorEases[i] = (Util.EasingFunction.Ease)colorEaseSet;
}
+ bool preset = presetBG != (int)BackgroundType.Custom;
bool tinted = shadowType == (int)ShadowType.Tinted;
- Color bgColorStart = colorStart;
+
+ Color bgColorStart = preset ? BGPlane.color : colorStart;
colorStarts = new Color[] {
bgColorStart,
tinted ? TintColor(bgColorStart) : shadowStart,
autoColor ? TintColor(bgColorStart): filterStart,
};
- Color bgColorEnd = colorEnd;
+ Color bgColorEnd = preset ? BackgroundColors[presetBG] : colorEnd;
colorEnds = new Color[] {
bgColorEnd,
tinted ? TintColor(bgColorEnd) : shadowEnd,
diff --git a/Assets/Scripts/Games/OctopusMachine/Octopus.cs b/Assets/Scripts/Games/OctopusMachine/Octopus.cs
index b210ef72d..a7e68d641 100644
--- a/Assets/Scripts/Games/OctopusMachine/Octopus.cs
+++ b/Assets/Scripts/Games/OctopusMachine/Octopus.cs
@@ -15,7 +15,7 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
public bool cantBop;
public bool isSqueezed;
public bool isPreparing;
- public bool queuePrepare;
+ public double queuePrepare;
public double lastReportedBeat = 0f;
double lastSqueezeBeat;
bool isActive = true;
@@ -25,16 +25,17 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
void Awake()
{
game = OctopusMachine.instance;
+ queuePrepare = double.MaxValue;
}
void Update()
{
- if (queuePrepare && Conductor.instance.NotStopped()) {
+ if (queuePrepare <= Conductor.instance.songPositionInBeatsAsDouble && Conductor.instance.NotStopped()) {
if (!(isPreparing || isSqueezed || anim.IsPlayingAnimationName("Release") || anim.IsPlayingAnimationName("Pop")))
{
- anim.DoScaledAnimationAsync("Prepare", 0.5f);
+ anim.DoScaledAnimationFromBeatAsync("Prepare", 0.5f, queuePrepare);
isPreparing = true;
- queuePrepare = false;
+ queuePrepare = double.MaxValue;
}
}
@@ -98,15 +99,15 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
isActive = enable;
}
- public void OctoAction(string action)
+ public void OctoAction(string action)
{
if (action != "Release" || (Conductor.instance.songPositionInBeatsAsDouble - lastSqueezeBeat) > 0.15f) SoundByte.PlayOneShotGame($"octopusMachine/{action.ToLower()}");
if (action == "Squeeze") lastSqueezeBeat = Conductor.instance.songPositionInBeatsAsDouble;
anim.DoScaledAnimationAsync(action, 0.5f);
- isSqueezed = (action == "Squeeze");
- isPreparing =
- queuePrepare = false;
+ isSqueezed = action == "Squeeze";
+ isPreparing = false;
+ queuePrepare = double.MaxValue;
}
public void AnimationColor(int poppingColor)
diff --git a/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs b/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs
index 521bbd410..db9638598 100644
--- a/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs
+++ b/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs
@@ -51,7 +51,7 @@ namespace HeavenStudio.Games.Loaders
preFunctionLength = 4f,
preFunction = delegate {
var e = eventCaller.currentEntity;
- if (e["shouldPrep"]) OctopusMachine.Prepare(e.beat, e["prepBeats"]);
+ if (e["shouldPrep"]) OctopusMachine.queuePrepare = e.beat - e["prepBeats"];
},
priority = 1,
},
@@ -96,7 +96,7 @@ namespace HeavenStudio.Games.Loaders
},
new GameAction("prepare", "Prepare")
{
- function = delegate { OctopusMachine.queuePrepare = true; },
+ function = delegate { OctopusMachine.queuePrepare = eventCaller.currentEntity.beat; },
defaultLength = 0.5f,
},
new GameAction("bubbles", "Bubbles")
@@ -196,7 +196,7 @@ namespace HeavenStudio.Games
static Color backgroundColor = new Color(1, 0.87f, 0.24f);
public static Color octopodesColor = new Color(0.97f, 0.235f, 0.54f);
public static Color octopodesSqueezedColor = new Color(1f, 0f, 0f);
- public static bool queuePrepare;
+ public static double queuePrepare = double.MaxValue;
[Header("Variables")]
public bool hasMissed;
@@ -243,6 +243,7 @@ namespace HeavenStudio.Games
if (queuedSqueezes.Count > 0) queuedSqueezes.Clear();
if (queuedReleases.Count > 0) queuedReleases.Clear();
if (queuedPops.Count > 0) queuedPops.Clear();
+ queuePrepare = double.MaxValue;
mat.SetColor("_ColorAlpha", new Color(0.97f, 0.235f, 0.54f));
@@ -255,10 +256,10 @@ namespace HeavenStudio.Games
private void Update()
{
BackgroundColorUpdate();
- if (queuePrepare) {
- foreach (var octo in octopodes) octo.queuePrepare = true;
+ if (queuePrepare <= Conductor.instance.songPositionInBeatsAsDouble) {
+ foreach (var octo in octopodes) octo.queuePrepare = queuePrepare;
if (Text.text is "Wrong! Try Again!" or "Good!") Text.text = "";
- queuePrepare = false;
+ queuePrepare = double.MaxValue;
}
if (Conductor.instance.ReportBeat(ref lastReportedBeat))
@@ -273,19 +274,6 @@ namespace HeavenStudio.Games
}
}
- public static void Prepare(double beat, float prepBeats)
- {
- if (GameManager.instance.currentGame != "octopusMachine") {
- OctopusMachine.queuePrepare = true;
- } else {
- BeatAction.New(instance, new List() {
- new BeatAction.Action(beat - prepBeats, delegate {
- OctopusMachine.queuePrepare = true;
- })
- });
- }
- }
-
public void ChangeText(string text, string youText)
{
Text.text = text;
@@ -328,9 +316,15 @@ namespace HeavenStudio.Games
if (!intervalStarted) StartInterval(beat, length);
octopodes[0].OctoAction(action);
- var queuedList = queuedSqueezes;
- if (action == "Release") queuedList = queuedReleases;
- else if (action == "Pop") queuedList = queuedPops;
+ // var queuedList = queuedSqueezes;
+ // if (action == "Release") queuedList = queuedReleases;
+ // else if (action == "Pop") queuedList = queuedPops;
+
+ var queuedList = action switch {
+ "Release" => queuedReleases,
+ "Pop" => queuedPops,
+ _ => queuedSqueezes,
+ };
queuedList.Add(beat - intervalStartBeat);
}
diff --git a/Assets/Scripts/Util/AnimationHelpers.cs b/Assets/Scripts/Util/AnimationHelpers.cs
index bbd3324e2..6dd548543 100644
--- a/Assets/Scripts/Util/AnimationHelpers.cs
+++ b/Assets/Scripts/Util/AnimationHelpers.cs
@@ -52,23 +52,26 @@ namespace HeavenStudio.Util
}
///
- /// Plays animation on animator, scaling speed to song BPM
+ /// Plays animation on animator, scaling speed to song BPM
/// call this function once, when playing an animation
///
/// Animator to play animation on
/// name of animation to play
/// multiplier for animation speed
/// beat that this animation would start on
- /// how many beats after startBeat that the animation actually starts playing
/// animator layer to play animation on
- public static void DoScaledAnimationFromBeatAsync(this Animator anim, string animName, float timeScale = 1f, double startBeat = 0, double currentBeat = 0, int animLayer = -1)
+ public static void DoScaledAnimationFromBeatAsync(this Animator anim, string animName, float timeScale = 1f, double startBeat = 0, int animLayer = -1)
{
- var cond = Conductor.instance;
- var animClip = Array.Find(anim.runtimeAnimatorController.animationClips, x => x.name == animName);
- var animLength = cond.GetBeatFromSongPos(cond.GetSongPosFromBeat(startBeat) + animClip.length);
- var pos = cond.GetPositionFromBeat(startBeat + currentBeat, animLength) * timeScale;
- anim.Play(animName, animLayer, pos);
- anim.speed = 1f / (cond.pitchedSecPerBeat * timeScale);
+ float pos = 0;
+ if (!double.IsNaN(startBeat)) {
+ var cond = Conductor.instance;
+ var animClip = Array.Find(anim.runtimeAnimatorController.animationClips, x => x.name == animName);
+ double animLength = cond.GetBeatFromSongPos(cond.GetSongPosFromBeat(startBeat) + animClip.length);
+ pos = cond.GetPositionFromBeat(startBeat, animLength - startBeat) * timeScale;
+ } else {
+ Debug.LogWarning("DoScaledAnimationFromBeatAsync()'s startBeat was NaN; using DoScaledAnimationAsync() instead.");
+ }
+ anim.DoScaledAnimationAsync(animName, timeScale, pos, animLayer);
}
///