diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller index 93c9859f2..3ac90f14c 100644 --- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller +++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller @@ -26,6 +26,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-8854766594456311921 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-8633427497819712545 AnimatorState: serializedVersion: 6 @@ -62,10 +84,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapDown + m_Name: PinkClap1 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 4839474172674063229} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -143,7 +166,8 @@ AnimatorState: m_Name: Clap6 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -1092497387670625852} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -166,7 +190,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareCorner + m_Name: PinkPrepare2 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -234,13 +258,13 @@ AnimatorStateMachine: m_Position: {x: 490, y: 170, z: 0} - serializedVersion: 1 m_State: {fileID: 9034752867166180580} - m_Position: {x: -480, y: 140, z: 0} + m_Position: {x: 1030, y: 220, z: 0} - serializedVersion: 1 m_State: {fileID: 2281978419273917628} - m_Position: {x: -350, y: 200, z: 0} + m_Position: {x: 1160, y: 280, z: 0} - serializedVersion: 1 m_State: {fileID: -823361394144095262} - m_Position: {x: -210, y: 150, z: 0} + m_Position: {x: 1300, y: 230, z: 0} - serializedVersion: 1 m_State: {fileID: -2720091023925718476} m_Position: {x: 260, y: 230, z: 0} @@ -285,70 +309,73 @@ AnimatorStateMachine: m_Position: {x: 490, y: 590, z: 0} - serializedVersion: 1 m_State: {fileID: -8633427497819712545} - m_Position: {x: -350, y: 40, z: 0} + m_Position: {x: 880, y: 320, z: 0} - serializedVersion: 1 m_State: {fileID: 7801861347107792603} - m_Position: {x: -165, y: 255, z: 0} + m_Position: {x: -210, y: 110, z: 0} - serializedVersion: 1 m_State: {fileID: -9129220496587131725} - m_Position: {x: -130, y: 320, z: 0} + m_Position: {x: -990, y: 270, z: 0} - serializedVersion: 1 m_State: {fileID: 8127304819651188460} - m_Position: {x: -95, y: 385, z: 0} + m_Position: {x: -430, y: 190, z: 0} - serializedVersion: 1 m_State: {fileID: -5661977897983948421} - m_Position: {x: -60, y: 450, z: 0} + m_Position: {x: -430, y: 490, z: 0} - serializedVersion: 1 m_State: {fileID: 4332821397483613135} - m_Position: {x: -25, y: 515, z: 0} + m_Position: {x: -430, y: 390, z: 0} - serializedVersion: 1 m_State: {fileID: 5621182675260515195} - m_Position: {x: 10, y: 580, z: 0} + m_Position: {x: -430, y: 290, z: 0} - serializedVersion: 1 m_State: {fileID: -8469148021339861009} - m_Position: {x: 45, y: 645, z: 0} + m_Position: {x: -430, y: 140, z: 0} - serializedVersion: 1 m_State: {fileID: -3697531924487265823} - m_Position: {x: 80, y: 710, z: 0} + m_Position: {x: -430, y: 240, z: 0} - serializedVersion: 1 m_State: {fileID: 8490411638133807577} - m_Position: {x: 115, y: 775, z: 0} + m_Position: {x: -430, y: 440, z: 0} - serializedVersion: 1 m_State: {fileID: -5293836672091987810} - m_Position: {x: 150, y: 840, z: 0} + m_Position: {x: -430, y: 340, z: 0} - serializedVersion: 1 m_State: {fileID: -1125534921687967888} - m_Position: {x: 185, y: 905, z: 0} + m_Position: {x: -990, y: 330, z: 0} - serializedVersion: 1 m_State: {fileID: 6560050125173869514} - m_Position: {x: 220, y: 970, z: 0} + m_Position: {x: -990, y: 390, z: 0} - serializedVersion: 1 m_State: {fileID: -8087578985927734532} - m_Position: {x: 255, y: 1035, z: 0} + m_Position: {x: -30, y: -100, z: 0} - serializedVersion: 1 m_State: {fileID: -6206932299264769880} - m_Position: {x: 290, y: 1100, z: 0} + m_Position: {x: -210, y: 230, z: 0} - serializedVersion: 1 m_State: {fileID: 3101146781515411008} - m_Position: {x: 325, y: 1165, z: 0} + m_Position: {x: -210, y: 570, z: 0} - serializedVersion: 1 m_State: {fileID: 109765609371903807} - m_Position: {x: 360, y: 1230, z: 0} + m_Position: {x: -210, y: 460, z: 0} - serializedVersion: 1 m_State: {fileID: 7999896997191872199} - m_Position: {x: 395, y: 1295, z: 0} + m_Position: {x: -210, y: 350, z: 0} - serializedVersion: 1 m_State: {fileID: -3859033523525989846} - m_Position: {x: 430, y: 1360, z: 0} + m_Position: {x: -210, y: 170, z: 0} - serializedVersion: 1 m_State: {fileID: 7776937582488203782} - m_Position: {x: 465, y: 1425, z: 0} + m_Position: {x: -210, y: 290, z: 0} - serializedVersion: 1 m_State: {fileID: 400394766388898342} - m_Position: {x: 500, y: 1490, z: 0} + m_Position: {x: -210, y: 520, z: 0} - serializedVersion: 1 m_State: {fileID: -1591040879455884579} - m_Position: {x: 535, y: 1555, z: 0} + m_Position: {x: -210, y: 400, z: 0} + - serializedVersion: 1 + m_State: {fileID: -396211812135856431} + m_Position: {x: -730, y: 330, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -366,10 +393,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapCornerDown + m_Name: PinkClap8 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 8185390042644596485} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -395,7 +423,8 @@ AnimatorState: m_Name: Clap7 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 2869902797474167342} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -411,6 +440,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-5386743260313365007 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-5293836672091987810 AnimatorState: serializedVersion: 6 @@ -418,10 +469,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapUp + m_Name: PinkClap5 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -2502931122446061882} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -472,7 +524,8 @@ AnimatorState: m_Name: Clap2 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 5366060932809055241} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -495,7 +548,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareDown + m_Name: PinkPrepare1 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -521,10 +574,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapSide + m_Name: PinkClap3 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -2078730765691049844} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -540,6 +594,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-2951406089741115568 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: hitState + m_EventTreshold: 2 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1125534921687967888} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-2924293198537295990 AnimatorState: serializedVersion: 6 @@ -592,6 +671,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-2845467208619827428 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-2720091023925718476 AnimatorState: serializedVersion: 6 @@ -618,6 +719,50 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-2502931122446061882 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-2078730765691049844 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-1591040879455884579 AnimatorState: serializedVersion: 6 @@ -625,7 +770,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareUp + m_Name: PinkPrepare5 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -670,6 +815,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-1092497387670625852 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-823361394144095262 AnimatorState: serializedVersion: 6 @@ -696,6 +863,35 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &-396211812135856431 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PinkHit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 2141718660159447907} + - {fileID: -2951406089741115568} + - {fileID: 8263085036654213874} + 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: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -731,7 +927,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareCornerRight + m_Name: PinkPrepare6 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -757,7 +953,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareSideFlip + m_Name: PinkPrepare7 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -776,6 +972,50 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &641954842168838579 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &865803643216880153 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &977276309770202303 AnimatorState: serializedVersion: 6 @@ -802,6 +1042,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &2141718660159447907 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: hitState + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -9129220496587131725} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &2281978419273917628 AnimatorState: serializedVersion: 6 @@ -854,6 +1119,72 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &2618035935135023841 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &2805639990078134405 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &2869902797474167342 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &2877844733988479930 AnimatorState: serializedVersion: 6 @@ -864,7 +1195,8 @@ AnimatorState: m_Name: Clap1 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -5386743260313365007} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -887,7 +1219,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareCornerDown + m_Name: PinkPrepare8 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -965,10 +1297,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapCornerRight + m_Name: PinkClap6 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -8854766594456311921} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -994,7 +1327,8 @@ AnimatorState: m_Name: Clap4 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 7164206872723914679} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1020,7 +1354,8 @@ AnimatorState: m_Name: Clap5 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 865803643216880153} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1036,6 +1371,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &4839474172674063229 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &5249624865959668415 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -1061,6 +1418,28 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &5366060932809055241 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &5621182675260515195 AnimatorState: serializedVersion: 6 @@ -1068,10 +1447,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapCornerUp + m_Name: PinkClap4 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 2618035935135023841} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1097,7 +1477,8 @@ AnimatorState: m_Name: Clap8 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 2805639990078134405} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1145,7 +1526,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkFrown + m_Name: PinkMiss m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -1164,6 +1545,50 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &7024696000164812105 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &7164206872723914679 +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: -8633427497819712545} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &7328536651840065754 AnimatorState: serializedVersion: 6 @@ -1174,7 +1599,8 @@ AnimatorState: m_Name: Clap3 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 7024696000164812105} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1197,7 +1623,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareSide + m_Name: PinkPrepare3 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -1249,7 +1675,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkPrepareCornerUp + m_Name: PinkPrepare4 m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -1275,10 +1701,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapCorner + m_Name: PinkClap2 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -2845467208619827428} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -1294,6 +1721,53 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &8185390042644596485 +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: -396211812135856431} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &8263085036654213874 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: hitState + m_EventTreshold: 1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6560050125173869514} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &8378355223749411486 AnimatorState: serializedVersion: 6 @@ -1327,10 +1801,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PinkClapSideFlip + m_Name: PinkClap7 m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 641954842168838579} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 diff --git a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs index dbd21db70..c9713cfa1 100644 --- a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs +++ b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs @@ -28,7 +28,7 @@ namespace HeavenStudio.Games.Loaders { MonkeyWatch.PreStartClapping(eventCaller.currentEntity.beat); }, - preFunctionLength = 1f, + preFunctionLength = 4f, defaultLength = 2f, parameters = new List() { @@ -91,6 +91,8 @@ namespace HeavenStudio.Games.Loaders namespace HeavenStudio.Games { using Scripts_MonkeyWatch; + using System.Reflection; + public class MonkeyWatch : Minigame { private const float degreePerMonkey = 6f; @@ -104,9 +106,6 @@ namespace HeavenStudio.Games [SerializeField] private MonkeyClockArrow monkeyClockArrow; [SerializeField] private WatchMonkeyHandler monkeyHandler; - [Header("Properties")] - [SerializeField] private int maxMonkeys = 30; - private float lastAngle = 0f; private int cameraIndex = 0; private struct MonkeyCamera @@ -135,10 +134,15 @@ namespace HeavenStudio.Games monkeyClockArrow.PlayerClap(big, barely, false); } + private double persistBeat = 0; + private double theNextGameSwitchBeat = double.MaxValue; + public override void OnGameSwitch(double beat) { + persistBeat = beat; GetCameraMovements(beat, false); monkeyClockArrow.MoveToAngle(lastAngle); + monkeyHandler.Init((int)(lastAngle / degreePerMonkey)); if (wantClap >= beat && IsClapBeat(wantClap)) { StartClapping(wantClap); @@ -152,8 +156,10 @@ namespace HeavenStudio.Games public override void OnPlay(double beat) { + persistBeat = beat; GetCameraMovements(beat, true); monkeyClockArrow.MoveToAngle(lastAngle); + monkeyHandler.Init((int)(lastAngle / degreePerMonkey)); } #region clapping @@ -188,10 +194,7 @@ namespace HeavenStudio.Games { instance.StartClapping(beat); } - else - { - wantClap = beat; - } + wantClap = beat; } private void StartClapping(double beat) @@ -204,6 +207,7 @@ namespace HeavenStudio.Games private void ClapRecursing(double beat) { + if (beat >= theNextGameSwitchBeat) return; if (IsPinkMonkeyAtBeat(beat, out float length1)) { PinkClap(length1); @@ -221,9 +225,17 @@ namespace HeavenStudio.Games { BeatAction.New(instance.gameObject, new List() { + new BeatAction.Action(beat - 4, delegate + { + monkeyHandler.SpawnMonkey(beat, false, beat - 4 < persistBeat); + ClapRecursing(beat + 2); + }), + new BeatAction.Action(beat - 1, delegate + { + monkeyHandler.GetMonkeyAtBeat(beat).Prepare(beat, beat + 1); + }), new BeatAction.Action(beat + 1, delegate { - ClapRecursing(beat + 2); monkeyClockArrow.Move(); }) }); @@ -233,7 +245,7 @@ namespace HeavenStudio.Games { List actions = new List() { - new BeatAction.Action(beat, delegate + new BeatAction.Action(beat - 4, delegate { ClapRecursing(beat + length); }) @@ -241,11 +253,24 @@ namespace HeavenStudio.Games for (int i = 0; i < length; i++) { - actions.Add(new BeatAction.Action(beat + i + 0.5, delegate + int index = i; + actions.AddRange(new List() { - monkeyClockArrow.Move(); - })); + new BeatAction.Action(beat + i - 4, delegate + { + monkeyHandler.SpawnMonkey(beat + index, false, beat + index - 4 < persistBeat); + }), + new BeatAction.Action(beat + i - 1, delegate + { + monkeyHandler.GetMonkeyAtBeat(beat + index).Prepare(beat + index, beat + index + 0.5); + }), + new BeatAction.Action(beat + i + 0.5, delegate + { + monkeyClockArrow.Move(); + }) + }); } + actions.Sort((x, y) => x.beat.CompareTo(y.beat)); BeatAction.New(instance.gameObject, actions); } @@ -253,21 +278,35 @@ namespace HeavenStudio.Games { List actions = new List() { - new BeatAction.Action(beat, delegate + new BeatAction.Action(beat - 4, delegate { ClapRecursing(beat + length); }) }; var relevantEvents = FindCustomOffbeatMonkeysBetweenBeat(beat, beat + length); + relevantEvents.Sort((x, y) => x.beat.CompareTo(y.beat)); - foreach (var e in relevantEvents) + for (int i = 0; i < relevantEvents.Count; i++) { - actions.Add(new BeatAction.Action(e.beat, delegate + var e = relevantEvents[i]; + actions.AddRange(new List() { - monkeyClockArrow.Move(); - })); + new BeatAction.Action(e.beat - 4, delegate + { + monkeyHandler.SpawnMonkey(e.beat, true, e.beat - 4 < persistBeat); + }), + new BeatAction.Action(e.beat - 1.5, delegate + { + monkeyHandler.GetMonkeyAtBeat(e.beat).Prepare(e.beat - 0.5, e.beat); + }), + new BeatAction.Action(e.beat, delegate + { + monkeyClockArrow.Move(); + }) + }); } + actions.Sort((x, y) => x.beat.CompareTo(y.beat)); BeatAction.New(instance.gameObject, actions); } } @@ -300,6 +339,8 @@ namespace HeavenStudio.Games nextGameSwitchBeat = allEnds[0].beat; } + theNextGameSwitchBeat = nextGameSwitchBeat; + double startClappingBeat = 0; float startAngle = 0; bool overrideStartBeat = true; @@ -347,7 +388,7 @@ namespace HeavenStudio.Games } else { - angleToAdd = Mathf.Round(e.length) * degreePerMonkey; + angleToAdd = Mathf.Ceil(e.length) * degreePerMonkey; } cameraMovements.Add(new MonkeyCamera() { @@ -380,6 +421,17 @@ namespace HeavenStudio.Games Debug.Log("Beat: " + cameraMovement.beat + ", Length: " + cameraMovement.length + " , DegreeTo: " + cameraMovement.degreeTo); } } + + private void UpdateCamera() + { + lastAngle = cameraMovements[cameraIndex].degreeTo; + cameraIndex++; + if (cameraIndex + 1 < cameraMovements.Count && Conductor.instance.songPositionInBeats >= cameraMovements[cameraIndex].beat + cameraMovements[cameraIndex].length) + { + UpdateCamera(); + } + } + private void CameraUpdate() { var cond = Conductor.instance; @@ -387,8 +439,7 @@ namespace HeavenStudio.Games { if (cameraIndex + 1 < cameraMovements.Count && cond.songPositionInBeats >= cameraMovements[cameraIndex].beat + cameraMovements[cameraIndex].length) { - lastAngle = cameraMovements[cameraIndex].degreeTo; - cameraIndex++; + UpdateCamera(); } float normalizedBeat = cond.GetPositionFromBeat(cameraMovements[cameraIndex].beat, cameraMovements[cameraIndex].length); @@ -410,7 +461,7 @@ namespace HeavenStudio.Games } #endregion - private static List FindCustomOffbeatMonkeysBetweenBeat(double beat, double endBeat) + public static List FindCustomOffbeatMonkeysBetweenBeat(double beat, double endBeat) { return EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "offCustom" }).FindAll(x => x.beat >= beat && x.beat < endBeat); } diff --git a/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs b/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs index 4759d794f..c0d136209 100644 --- a/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs +++ b/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs @@ -16,6 +16,7 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch private MonkeyWatch game; private int direction = 0; + public double monkeyBeat; private PlayerActionEvent inputEvent; @@ -25,23 +26,30 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch anim = GetComponent(); } - public void Appear(bool instant, Animator hole) + public void Appear(double beat, bool instant, Animator hole, int dir) { + monkeyBeat = beat; + direction = dir; holeAnim = hole; holeAnim.DoScaledAnimationAsync("HoleOpen", 0.5f); anim.DoScaledAnimationAsync(isPink ? "Pink" : "" + "Appear", 0.5f, instant ? 1 : 0); } - public void Prepare(double prepareBeat, double inputBeat, int dir) + public void Disappear() { - direction = dir; - anim.DoScaledAnimationAsync(isPink ? "Pink" : "" + "Prepare" + dir, 0); + holeAnim.DoScaledAnimationAsync("HoleClose", 0.5f); + Destroy(gameObject); + } + + public void Prepare(double prepareBeat, double inputBeat) + { + anim.DoScaledAnimationAsync(isPink ? "Pink" : "" + "Prepare" + direction, 0); inputEvent = game.ScheduleInput(prepareBeat, inputBeat - prepareBeat, InputType.STANDARD_DOWN, Just, Miss, Empty); BeatAction.New(gameObject, new List() { new BeatAction.Action(prepareBeat, delegate { - anim.DoScaledAnimationAsync(isPink ? "Pink" : "" + "Prepare" + dir, 0.5f); + anim.DoScaledAnimationAsync(isPink ? "Pink" : "" + "Prepare" + direction, 0.5f); }) }); } diff --git a/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs index c81e5fceb..b6752641f 100644 --- a/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs +++ b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs @@ -11,21 +11,74 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch [SerializeField] private WatchMonkey yellowMonkeyRef; [SerializeField] private WatchMonkey pinkMonkeyRef; + [Header("Properties")] + [SerializeField] private int maxMonkeys = 30; + private MonkeyWatch game; private int startMinute = 0; - private double startBeat = 0; + private int watchHoleIndex = 0; + private List watchHoles = new(); + private List currentMonkeys = new(); private void Awake() { game = MonkeyWatch.instance; + for (int i = 0; i < 60; i++) + { + watchHoles.Add(transform.GetChild(i)); + } } - public void Init(double beat, int minute) + public void Init(int minute) { - startBeat = beat; startMinute = minute; } + private Transform GetNextAvailableWatchHole() + { + int currentIndex = watchHoleIndex; + watchHoleIndex++; + if (watchHoleIndex >= watchHoles.Count) + { + watchHoleIndex = 0; + } + return watchHoles[currentIndex]; + } + + public void SpawnMonkey(double beat, bool isPink, bool instant) + { + if (GetMonkeyAtBeat(beat) != null) return; + int index = watchHoleIndex; + var hole = GetNextAvailableWatchHole(); + WatchMonkey spawnedMonkey = Instantiate(isPink ? pinkMonkeyRef : yellowMonkeyRef, hole); + spawnedMonkey.Appear(beat, instant, hole.GetComponent(), GetMonkeyAngle(index)); + currentMonkeys.Add(spawnedMonkey); + if (currentMonkeys.Count > maxMonkeys) + { + currentMonkeys[0].Disappear(); + currentMonkeys.Remove(currentMonkeys[0]); + } + } + + public WatchMonkey GetMonkeyAtBeat(double beat) + { + return currentMonkeys.Find(x => x.monkeyBeat == beat); + } + + private int GetMonkeyAngle(int monkey) + { + return monkey switch + { + >= 4 and <= 12 => 2, + >= 12 and <= 19 => 3, + >= 19 and <= 27 => 4, + >= 27 and <= 34 => 5, + >= 34 and <= 42 => 6, + >= 42 and <= 49 => 7, + >= 49 and <= 56 => 8, + _ => 1, + }; + } } }