diff --git a/Assets/Resources/Games/monkeyWatch.prefab b/Assets/Resources/Games/monkeyWatch.prefab index 24c230804..86c5bb478 100644 --- a/Assets/Resources/Games/monkeyWatch.prefab +++ b/Assets/Resources/Games/monkeyWatch.prefab @@ -9049,7 +9049,7 @@ GameObject: m_Component: - component: {fileID: 6077857673690518966} - component: {fileID: 7398802270788821617} - - component: {fileID: 3914072427691651115} + - component: {fileID: 5520703815918216618} m_Layer: 0 m_Name: MiddleMonkey m_TagString: Untagged @@ -9125,7 +9125,7 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!95 &3914072427691651115 +--- !u!95 &5520703815918216618 Animator: serializedVersion: 5 m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkey.controller b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkey.controller index 5216550f9..71fa03b04 100644 --- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkey.controller +++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkey.controller @@ -1,5 +1,59 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-6377095839666160042 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -2956697439181848957} + m_Position: {x: 74, y: 255, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1657346386591879520} + m_Position: {x: 289, y: 199, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1476516494345818348} + m_Position: {x: 277, y: 36, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1476516494345818348} +--- !u!1102 &-2956697439181848957 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MiddleMonkeyBop + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + 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: 53204b405da4ca144b7f485e9c9c0a73, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -9,4 +63,68 @@ AnimatorController: m_Name: MiddleMonkey serializedVersion: 5 m_AnimatorParameters: [] - m_AnimatorLayers: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base + m_StateMachine: {fileID: -6377095839666160042} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &1476516494345818348 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Nothing + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + 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 &1657346386591879520 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MiddleMonkeyMiss + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + 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: 6f9fab23556f8ec4d97fa465b512a6a6, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyBop.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyBop.anim index 6ed94b66c..88ce6c08b 100644 --- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyBop.anim +++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyBop.anim @@ -36,7 +36,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/MiddleMonkeyMiss.anim b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyMiss.anim index 27586118a..ca779fd82 100644 --- a/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyMiss.anim +++ b/Assets/Resources/Sprites/Games/MonkeyWatch/Animations/MiddleMonkeyMiss.anim @@ -36,7 +36,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/MonkeyClockArrow.cs b/Assets/Scripts/Games/MonkeyWatch/MonkeyClockArrow.cs index a69158760..a55ef9f35 100644 --- a/Assets/Scripts/Games/MonkeyWatch/MonkeyClockArrow.cs +++ b/Assets/Scripts/Games/MonkeyWatch/MonkeyClockArrow.cs @@ -40,6 +40,11 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch anchorRotateTransform.localEulerAngles = new Vector3(0, 0, -angle); } + public bool PlayerIsClapAnim() + { + return !playerMonkeyAnim.IsAnimationNotPlaying(); + } + public void PlayerClap(bool big, bool barely, bool whiff) { if (!playerMonkeyAnim.IsAnimationNotPlaying() && whiff) return; diff --git a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs index 493b14d3e..cdea8230b 100644 --- a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs +++ b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs @@ -129,7 +129,7 @@ namespace HeavenStudio.Games [SerializeField] private Transform cameraAnchor; [SerializeField] private Transform cameraTransform; [SerializeField] private Transform cameraMoveable; - [SerializeField] private MonkeyClockArrow monkeyClockArrow; + public MonkeyClockArrow monkeyClockArrow; [SerializeField] private WatchMonkeyHandler monkeyHandler; [SerializeField] private WatchBackgroundHandler backgroundHandler; diff --git a/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs b/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs index 6cb73364d..c13fce380 100644 --- a/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs +++ b/Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs @@ -26,6 +26,20 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch anim = GetComponent(); } + private void Update() + { + if (inputEvent != null && inputEvent.enabled) + { + if (PlayerInput.Pressed() && !game.IsExpectingInputNow(InputType.STANDARD_DOWN) && !game.monkeyClockArrow.PlayerIsClapAnim()) + { + SoundByte.PlayOneShot("miss"); + Miss(inputEvent); + inputEvent.Disable(); + game.ScoreMiss(); + } + } + } + public void Appear(double beat, bool instant, Animator hole, int dir) { monkeyBeat = beat; @@ -38,6 +52,13 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch public void Disappear() { holeAnim.DoScaledAnimationAsync("HoleClose", 0.4f); + anim.DoScaledAnimationAsync(isPink ? "PinkAppear" : "Appear", -0.4f, 1); + StartCoroutine(DisappearCoroutine()); + } + + private IEnumerator DisappearCoroutine() + { + yield return !anim.IsAnimationNotPlaying(); Destroy(gameObject); } @@ -49,7 +70,7 @@ namespace HeavenStudio.Games.Scripts_MonkeyWatch { new BeatAction.Action(prepareBeat, delegate { - anim.DoScaledAnimationAsync(isPink ? "PinkPrepare" + direction : "Prepare" + direction, 0.4f); + if (inputEvent != null && inputEvent.enabled) anim.DoScaledAnimationAsync(isPink ? "PinkPrepare" + direction : "Prepare" + direction, 0.4f); }) }); }