diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerDown.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerDown.anim
index ac18ddc63..7560c2cf4 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerDown.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerDown.anim
@@ -513,7 +513,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerRIght.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerRIght.anim
index f5c9477bf..0a9a42858 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerRIght.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapCornerRIght.anim
@@ -6,7 +6,7 @@ AnimationClip:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapCornerRIght
+ m_Name: YellowClapCornerRight
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
@@ -615,7 +615,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapSideFlip.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapSideFlip.anim
index ef1030c35..fe081aee5 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapSideFlip.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowClapSideFlip.anim
@@ -855,7 +855,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller
index 31b765625..a58e935ca 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowMonkey.controller
@@ -1,5 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-8633427497819712545
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Hit
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -4375039635063083593}
+ - {fileID: 5249624865959668415}
+ - {fileID: 6047805055891460750}
+ 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!1102 &-7439314227603388980
AnimatorState:
serializedVersion: 6
@@ -7,7 +36,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareSideFlip
+ m_Name: Prepare7
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -33,7 +62,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapCornerRIght
+ m_Name: Clap6
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -89,75 +118,78 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -5742488784257589865}
- m_Position: {x: 200, y: 0, z: 0}
+ m_Position: {x: 30, y: 170, z: 0}
- serializedVersion: 1
m_State: {fileID: 2285785565324196463}
- m_Position: {x: 235, y: 65, z: 0}
+ m_Position: {x: 260, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 977276309770202303}
- m_Position: {x: 270, y: 130, z: 0}
+ m_Position: {x: 260, y: 170, z: 0}
- serializedVersion: 1
m_State: {fileID: 2877844733988479930}
- m_Position: {x: 305, y: 195, z: 0}
+ m_Position: {x: 490, y: 170, z: 0}
- serializedVersion: 1
m_State: {fileID: 9034752867166180580}
- m_Position: {x: 340, y: 260, z: 0}
+ m_Position: {x: -350, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: 2281978419273917628}
- m_Position: {x: 375, y: 325, z: 0}
+ m_Position: {x: -200, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: -823361394144095262}
- m_Position: {x: 410, y: 390, z: 0}
+ m_Position: {x: -50, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -2720091023925718476}
- m_Position: {x: 445, y: 455, z: 0}
+ m_Position: {x: 260, y: 230, z: 0}
- serializedVersion: 1
m_State: {fileID: -4125054300247356805}
- m_Position: {x: 480, y: 520, z: 0}
+ m_Position: {x: 490, y: 230, z: 0}
- serializedVersion: 1
m_State: {fileID: 3382603783735723998}
- m_Position: {x: 515, y: 585, z: 0}
+ m_Position: {x: 260, y: 290, z: 0}
- serializedVersion: 1
m_State: {fileID: 7328536651840065754}
- m_Position: {x: 550, y: 650, z: 0}
+ m_Position: {x: 490, y: 290, z: 0}
- serializedVersion: 1
m_State: {fileID: 3707721859561589814}
- m_Position: {x: 585, y: 715, z: 0}
+ m_Position: {x: 260, y: 350, z: 0}
- serializedVersion: 1
m_State: {fileID: 4389998403248966162}
- m_Position: {x: 620, y: 780, z: 0}
+ m_Position: {x: 490, y: 350, z: 0}
- serializedVersion: 1
m_State: {fileID: -2922063652206894040}
- m_Position: {x: 655, y: 845, z: 0}
+ m_Position: {x: 260, y: 410, z: 0}
- serializedVersion: 1
m_State: {fileID: 4417181188385744213}
- m_Position: {x: 690, y: 910, z: 0}
+ m_Position: {x: 490, y: 410, z: 0}
- serializedVersion: 1
m_State: {fileID: 8378355223749411486}
- m_Position: {x: 725, y: 975, z: 0}
+ m_Position: {x: 260, y: 470, z: 0}
- serializedVersion: 1
m_State: {fileID: -6536163925367475535}
- m_Position: {x: 760, y: 1040, z: 0}
+ m_Position: {x: 490, y: 470, z: 0}
- serializedVersion: 1
m_State: {fileID: -7439314227603388980}
- m_Position: {x: 795, y: 1105, z: 0}
+ m_Position: {x: 260, y: 530, z: 0}
- serializedVersion: 1
m_State: {fileID: -5651291787114446398}
- m_Position: {x: 830, y: 1170, z: 0}
+ m_Position: {x: 490, y: 530, z: 0}
- serializedVersion: 1
m_State: {fileID: -2924293198537295990}
- m_Position: {x: 865, y: 1235, z: 0}
+ m_Position: {x: 260, y: 590, z: 0}
- serializedVersion: 1
m_State: {fileID: 5815153728966275956}
- m_Position: {x: 900, y: 1300, z: 0}
+ m_Position: {x: 490, y: 590, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -8633427497819712545}
+ m_Position: {x: -200, y: 190, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
- m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_AnyStatePosition: {x: -10, y: -30, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
- m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ExitPosition: {x: 190, y: -150, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -5742488784257589865}
--- !u!1102 &-5651291787114446398
@@ -167,7 +199,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapSideFlip
+ m_Name: Clap7
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -186,6 +218,31 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &-4375039635063083593
+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: 9034752867166180580}
+ 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 &-4125054300247356805
AnimatorState:
serializedVersion: 6
@@ -193,7 +250,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapCorner
+ m_Name: Clap2
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -219,7 +276,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareCornerDown
+ m_Name: Prepare8
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -245,7 +302,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareUp
+ m_Name: Prepare5
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -271,7 +328,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareCorner
+ m_Name: Prepare2
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -297,7 +354,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowAshamed
+ m_Name: Miss
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -324,7 +381,13 @@ AnimatorController:
m_PrefabAsset: {fileID: 0}
m_Name: YellowMonkey
serializedVersion: 5
- m_AnimatorParameters: []
+ m_AnimatorParameters:
+ - m_Name: hitState
+ m_Type: 3
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -345,7 +408,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareDown
+ m_Name: Prepare1
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -371,7 +434,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowFrown
+ m_Name: Barely
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -397,7 +460,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowAppear
+ m_Name: Appear
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -423,7 +486,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapDown
+ m_Name: Clap1
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -449,7 +512,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareSide
+ m_Name: Prepare3
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -475,7 +538,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareCornerUp
+ m_Name: Yellow
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -501,7 +564,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapCornerUp
+ m_Name: Clap4
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -527,7 +590,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapUp
+ m_Name: Clap5
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -546,6 +609,31 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &5249624865959668415
+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: 2281978419273917628}
+ 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 &5815153728966275956
AnimatorState:
serializedVersion: 6
@@ -553,7 +641,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapCornerDown
+ m_Name: Clap8
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -572,6 +660,31 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &6047805055891460750
+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: -823361394144095262}
+ 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
@@ -579,7 +692,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowClapSide
+ m_Name: Clap3
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -605,7 +718,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowPrepareCornerRight
+ m_Name: Prepare6
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -631,7 +744,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: YellowDance
+ m_Name: Just
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCorner.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCorner.anim
index faee792fc..0a0d0ec60 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCorner.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCorner.anim
@@ -917,7 +917,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerDown.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerDown.anim
index 463687ebd..b25003212 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerDown.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerDown.anim
@@ -576,7 +576,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerRight.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerRight.anim
index 9bf9d65a8..4af24b20e 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerRight.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerRight.anim
@@ -703,7 +703,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerUp.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerUp.anim
index 6066faeff..6365b19e6 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerUp.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareCornerUp.anim
@@ -565,7 +565,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareDown.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareDown.anim
index 9912f73f2..50bf4e780 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareDown.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareDown.anim
@@ -705,7 +705,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
@@ -2245,36 +2245,6 @@ AnimationClip:
classID: 4
script: {fileID: 0}
m_EulerEditorCurves:
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.z
- path: MonkeyBody
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.y
- path: MonkeyBody
- classID: 4
- script: {fileID: 0}
- - curve:
- serializedVersion: 2
- m_Curve: []
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- attribute: m_LocalEulerAngles.x
- path: MonkeyBody
- classID: 4
- script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
@@ -2335,6 +2305,36 @@ AnimationClip:
path: LeftHand
classID: 4
script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalEulerAngles.z
+ path: MonkeyBody
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalEulerAngles.y
+ path: MonkeyBody
+ classID: 4
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalEulerAngles.x
+ path: MonkeyBody
+ classID: 4
+ script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSide.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSide.anim
index 711efbdc0..63fd734ad 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSide.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSide.anim
@@ -593,7 +593,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSideFlip.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSideFlip.anim
index aab891df8..ea73ac475 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSideFlip.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareSideFlip.anim
@@ -635,7 +635,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareUp.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareUp.anim
index 0aba5859e..7e4c4b448 100644
--- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareUp.anim
+++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/YellowPrepareUp.anim
@@ -662,7 +662,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs
index 866a79594..043c37651 100644
--- a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs
+++ b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs
@@ -22,7 +22,7 @@ namespace HeavenStudio.Games.Loaders
},
parameters = new List()
{
- new Param("amount", new EntityTypes.Integer(1, 8, 4), "Monkeys to spawn", "How many monkeys will spawn over the course of this block"),
+ new Param("amount", new EntityTypes.Integer(1, 8, 4), "Monkeys to Spawn", "How many monkeys will spawn over the course of this block"),
},
defaultLength = 8f,
resizable = true
@@ -33,9 +33,13 @@ namespace HeavenStudio.Games.Loaders
var e = eventCaller.currentEntity;
MonkeyWatch.StartClapping(e.beat, e["start"]);
},
+ preFunction = delegate {
+ MonkeyWatch.PreStartClapping(eventCaller.currentEntity.beat);
+ },
+ preFunctionLength = 1,
parameters = new List()
{
- new Param("start", new EntityTypes.Integer(0, 0, 60), "Start Where", "Where on the clock will the monkey start? (Set to zero to be automatic)"),
+ new Param("start", new EntityTypes.Integer(0, 60, 0), "Start Where", "Where on the clock will the monkey start? (Set to zero to be automatic)"),
},
defaultLength = 2f,
inactiveFunction = delegate {
@@ -115,7 +119,7 @@ namespace HeavenStudio.Games
Dictionary offbeatMonkeys = new Dictionary();
List customMonkeys = new List();
List watchHoles = new List();
- List activeMonkeys = new List();
+ Dictionary activeMonkeys = new Dictionary();
public struct OffbeatMonkey
{
@@ -127,49 +131,16 @@ namespace HeavenStudio.Games
static OffbeatMonkey wantOffbeat;
static double wantClapping = double.MinValue;
public static bool startedClapping;
+ static bool wantPrepare;
bool cameraMove;
int currentMonkey;
- static int lastMonkeySpawned;
+ static int lastMonkeySpawned = 0;
public static MonkeyWatch instance;
void Awake()
{
instance = this;
- var songPos = Conductor.instance.songPositionInBeats;
-
- customMonkeys = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "customMonkey" });
- var offbeatEvents = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "offbeatMonkeys" });
- for (int i = 0; i < offbeatEvents.Count; i++)
- {
- if (offbeatEvents[i].beat >= songPos)
- {
- offbeatMonkeys.Add(
- Mathf.Round((float)offbeatEvents[i].beat),
- new OffbeatMonkey{
- mute = offbeatEvents[i]["mute"],
- length = offbeatEvents[i].length,
- }
- );
- }
- }
-
-
- var clapEvents = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "startClapping" });
- var appearEvents = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "monkeysAppear" });
- if (appearEvents.Count == 0 || clapEvents.Find(x => x.beat >= songPos).beat < appearEvents.Find(x => x.beat >= songPos).beat) {
- MonkeysAppear(songPos, 0, 4);
- }
-
- monkeyPlayer.UpdateRotation(lastMonkeySpawned*6);
-
- // put all the watch holes in a list
- for (int i = 0; i < watchHoleParent.childCount; i++) {
- watchHoles.Add(watchHoleParent.GetChild(i).gameObject);
- Debug.Log(watchHoleParent.GetChild(i).name);
- }
-
- Update();
}
private void Start()
@@ -179,6 +150,44 @@ namespace HeavenStudio.Games
public override void OnGameSwitch(double beat)
{
+ var events = GameManager.instance.Beatmap.Entities.FindAll(c => c.datamodel.Split('/')[0] == "monkeyWatch");
+ customMonkeys = events.FindAll(x => x.datamodel.Split('/')[1].Equals("customMonkey"));
+
+ for (int i = 0; i < watchHoleParent.childCount; i++)
+ watchHoles.Add(watchHoleParent.GetChild(i).gameObject);
+
+ // check if monkeys should spawn by default
+ var firstStartClapping = events.Find(x => x.beat >= beat && x.datamodel.Split('/')[1].Equals("startClapping"));
+ var firstAppearEvent = events.Find(x => x.beat >= beat && x.datamodel.Split('/')[1].Equals("monkeysAppear"));
+
+ if (firstStartClapping != null) {
+ if (firstStartClapping["start"] != 0) lastMonkeySpawned = firstStartClapping["start"];
+ if (firstAppearEvent == null || firstStartClapping.beat < firstAppearEvent.beat) {
+ for (int i = 0; i < (firstStartClapping == null ? 4 : firstStartClapping["amount"]); i++) SpawnMonkey(true);
+ }
+ }
+
+ var offbeatEvents = events.FindAll(x => x.datamodel.Split('/')[1].Equals("offbeatMonkeys"));
+
+ for (int i = 0; i < offbeatEvents.Count; i++)
+ {
+ var eventBeat = Mathf.Round((float)offbeatEvents[i].beat);
+ if (eventBeat >= beat)
+ {
+ offbeatMonkeys.Add(
+ // adjusts beat to always align with Clapping()
+ eventBeat + ((eventBeat + firstStartClapping.beat) % 2),
+ new OffbeatMonkey {
+ mute = offbeatEvents[i]["mute"],
+ length = offbeatEvents[i].length,
+ }
+ );
+ }
+ }
+
+ monkeyPlayer.UpdateRotation(lastMonkeySpawned * -6);
+ cameraTransform.transform.eulerAngles = new Vector3(0, 0, lastMonkeySpawned * -6);
+
double offBeat = double.MinValue;
if (wantOffbeat.length != 0)
{
@@ -194,6 +203,17 @@ namespace HeavenStudio.Games
Clapping(wantClapping, offBeat + wantOffbeat.length);
wantClapping = double.MinValue;
}
+ if (wantPrepare) {
+ MonkeyPrepare(true);
+ wantPrepare = false;
+ }
+
+ Update();
+ }
+
+ public override void OnPlay(double beat)
+ {
+ OnGameSwitch(beat);
}
void OnDestroy()
@@ -202,6 +222,7 @@ namespace HeavenStudio.Games
if (queuedInputs.Count > 0) queuedInputs.Clear();
if (offbeatMonkeys.Count > 0) offbeatMonkeys.Clear();
startedClapping = false;
+ lastMonkeySpawned = 0;
}
foreach (var evt in scheduledInputs) evt.Disable();
@@ -210,32 +231,77 @@ namespace HeavenStudio.Games
public void Update()
{
if (cameraMove) {
- cameraTransform.transform.eulerAngles += Vector3.back * (6 * Time.deltaTime);
+ cameraTransform.transform.eulerAngles -= new Vector3(0, 0, (5 * (Conductor.instance.songBpm / 100) * Time.deltaTime));
}
GameCamera.additionalPosition = cameraTransform.GetChild(0).position;
}
+ void SpawnMonkey(bool instant)
+ {
+ var watchHole = watchHoles[lastMonkeySpawned].transform.GetSiblingIndex();
+
+ if (instant) watchHoles[watchHole].GetComponent().Play("HoleOpen", 0, 1);
+ else watchHoles[watchHole].GetComponent().DoScaledAnimationAsync("HoleOpen", 0.25f);
+
+ var monkey = Instantiate(yellowMonkey, watchHoles[watchHole].transform.position, new Quaternion(0, 0, 0, 0), watchHoleParent).GetComponent();
+ activeMonkeys.Add(watchHole, monkey);
+ if (instant) monkey.Play("Appear", 0, 1);
+ else monkey.DoScaledAnimationAsync("Appear", 0.5f);
+
+ lastMonkeySpawned++;
+ if (lastMonkeySpawned >= 60) lastMonkeySpawned = 0;
+ }
+
+ int MonkeyAngle(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,
+ };
+ }
+
+ public void MonkeyPrepare(bool instant = false)
+ {
+ Debug.Log("prepare :3");
+ if (instant) activeMonkeys[currentMonkey].Play($"Prepare{MonkeyAngle(currentMonkey)}", 0, 1);
+ else activeMonkeys[currentMonkey].DoScaledAnimationAsync($"Prepare{MonkeyAngle(currentMonkey)}", 0.5f);
+ currentMonkey++;
+ }
+
public void MonkeysAppear(double beat, float length, int monkeyAmount)
{
var appear = new List();
for (int i = 0; i < monkeyAmount; i++)
{
var x = i;
- appear.Add(new BeatAction.Action(beat + (x / (monkeyAmount / length)), delegate {
- Debug.Log(watchHoles[x].transform.position);
- activeMonkeys.Add(Instantiate(yellowMonkey, watchHoles[x].transform.position, new Quaternion(0, 0, 0, 0), watchHoleParent).GetComponent());
- }));
+ appear.Add(new BeatAction.Action(beat + (i / (monkeyAmount / length)), delegate { SpawnMonkey(false); }));
}
BeatAction.New(gameObject, appear);
}
+ public static void PreStartClapping(double beat)
+ {
+ if (GameManager.instance.currentGame == "monkeyWatch") {
+ BeatAction.New(instance.gameObject, new List() {
+ new BeatAction.Action(beat - 1, delegate { instance.MonkeyPrepare(); }),
+ });
+ } else {
+ wantPrepare = true;
+ }
+ }
+
public static void StartClapping(double beat, int start)
{
if (GameManager.instance.currentGame is "monkeyWatch") {
instance.Clapping(beat);
} else {
ClappingInactive(beat);
- if (lastMonkeySpawned != 0) lastMonkeySpawned = start;
}
}
@@ -247,8 +313,6 @@ namespace HeavenStudio.Games
void Clapping(double beat, double inputCheck = double.MinValue)
{
- //activeMonkeys[currentMonkey].DoScaledAnimationAsync("YellowPrepareDown", 0.5f);
- currentMonkey++;
cameraMove = true;
//cameraTransform.transform.eulerAngles += Vector3.back*6;
if (offbeatMonkeys.ContainsKey(beat)) {
@@ -259,16 +323,24 @@ namespace HeavenStudio.Games
inputCheck = (beat - 2) + offbeatMonkeys[beat - 2].length;
}
- if (inputCheck <= beat) ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, JustYellow, Miss, Nothing);
-
+ if (inputCheck <= beat) {
+ ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, JustYellow, Miss, Nothing);
+ }
+
BeatAction.New(gameObject, new List() {
new BeatAction.Action(beat + 2, delegate { Clapping(beat + 2, inputCheck); }),
+ new BeatAction.Action(beat + 2, delegate { SpawnMonkey(false); }),
});
}
+ void WatchMonkeys()
+ {
+
+ }
+
public static void WarnPinkMonkeys(double beat, float length, bool mute)
{
- wantOffbeat = new OffbeatMonkey{
+ wantOffbeat = new OffbeatMonkey {
beat = beat,
length = length,
mute = true,
@@ -312,16 +384,20 @@ namespace HeavenStudio.Games
public void PinkMonkeys(double beat, float length, bool mute, List monkeys)
{
+ var actions = new List();
if (monkeys.Count == 0) {
for (int i = 2; i < length; i++) {
ScheduleInput(beat, i + 0.5, InputType.STANDARD_DOWN, JustPink, Miss, Nothing);
+ actions.Add(new BeatAction.Action(beat + i - 0.5, delegate { MonkeyPrepare(); }));
}
} else {
for (int i = 0; i < monkeys.Count; i++)
{
ScheduleInput(beat, monkeys[i].beat - beat, InputType.STANDARD_DOWN, (monkeys[i]["sfx"] == 3 ? JustYellow : JustPink), Miss, Nothing);
+ actions.Add(new BeatAction.Action(monkeys[i].beat - 1, delegate { MonkeyPrepare(); }));
}
}
+ BeatAction.New(gameObject, actions);
}
void JustYellow(PlayerActionEvent caller, float state)
@@ -351,11 +427,21 @@ namespace HeavenStudio.Games
}
monkeyPlayer.MonkeyAnim.DoScaledAnimationAsync(whichAnim, 0.5f);
monkeyPlayer.ClickerAnim.DoScaledAnimationAsync("Click", 0.5f);
+ MonkeyPrepare();
+
+ var anim = activeMonkeys[currentMonkey - 1];
+ anim.DoScaledAnimationAsync($"Clap{MonkeyAngle(currentMonkey - 1)}", 0.5f);
+ anim.SetInteger("hitState", (whichAnim == "PlayerClapBarely" ? 1 : 2));
}
void Miss(PlayerActionEvent caller)
{
monkeyPlayer.ClickerAnim.DoScaledAnimationAsync("Click", 0.5f);
+ MonkeyPrepare();
+
+ var anim = activeMonkeys[currentMonkey - 1];
+ anim.SetBool("hasHit", true);
+ anim.SetInteger("hitState", 0);
}
void Nothing(PlayerActionEvent caller) {}
@@ -370,6 +456,15 @@ namespace HeavenStudio.Games
7 +
7 +
4
+
+ 0
+ 4
+ 12
+ 19
+ 27
+ 34
+ 42
+ 49
*/
}
}
diff --git a/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs
new file mode 100644
index 000000000..0478301e8
--- /dev/null
+++ b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs
@@ -0,0 +1,30 @@
+using System.Collections;
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+using NaughtyBezierCurves;
+
+using HeavenStudio.Util;
+
+namespace HeavenStudio.Games.Scripts_MonkeyWatch
+{
+ public class WatchMonkeyHandler : MonoBehaviour
+ {
+ private MonkeyWatch game;
+
+ private void Awake()
+ {
+ game = MonkeyWatch.instance;
+ }
+
+ private void Start()
+ {
+
+ }
+
+ private void Update()
+ {
+
+ }
+ }
+}
diff --git a/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs.meta b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs.meta
new file mode 100644
index 000000000..937d6a217
--- /dev/null
+++ b/Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e0769f835f6039b41b98b9487eb743d9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: