From 475b946059784d53d6b047d8cbedf6eaed27e9ad Mon Sep 17 00:00:00 2001 From: Jenny Crowe Date: Wed, 16 Feb 2022 10:04:28 -0700 Subject: [PATCH] Built to Scale: Gameplay implemented (missing lots of sfx) --- Assets/Resources/Games/builtToScaleDS.prefab | 582 +++++++++++++----- .../Resources/Sfx/games/builtToScaleDS.meta | 8 + .../Sfx/games/builtToScaleDS/Hit.ogg | Bin 0 -> 14297 bytes .../Sfx/games/builtToScaleDS/Hit.ogg.meta | 22 + .../Editor/GameIcons/RhythmTweezers.png | Bin 0 -> 18799 bytes .../Editor/GameIcons/RhythmTweezers.png.meta | 108 ++++ .../Editor/GameIcons/builtToScaleDS.png | Bin 0 -> 4380 bytes .../Editor/GameIcons/builtToScaleDS.png.meta | 120 ++++ .../Animations/MovingBlocks.controller | 12 +- .../Animations/Shooter.controller | 29 + .../Games/BuiltToScaleDS/MovingBlocks.fbx | Bin 51900 -> 68508 bytes .../BuiltToScaleDS/MovingBlocks.fbx.meta | 4 +- .../Scripts/Games/BuiltToScaleDS/BTSPiece.cs | 18 + .../Games/BuiltToScaleDS/BTSPiece.cs.meta | 11 + Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs | 87 +++ .../Games/BuiltToScaleDS/Blocks.cs.meta | 11 + .../Games/BuiltToScaleDS/BuiltToScaleDS.cs | 129 ++++ Assets/Scripts/Minigames.cs | 5 +- 18 files changed, 985 insertions(+), 161 deletions(-) create mode 100644 Assets/Resources/Sfx/games/builtToScaleDS.meta create mode 100644 Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg create mode 100644 Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg.meta create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png.meta create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/builtToScaleDS.png create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/builtToScaleDS.png.meta create mode 100644 Assets/Scripts/Games/BuiltToScaleDS/BTSPiece.cs create mode 100644 Assets/Scripts/Games/BuiltToScaleDS/BTSPiece.cs.meta create mode 100644 Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs create mode 100644 Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs.meta diff --git a/Assets/Resources/Games/builtToScaleDS.prefab b/Assets/Resources/Games/builtToScaleDS.prefab index 748a383f4..8fd76ce67 100644 --- a/Assets/Resources/Games/builtToScaleDS.prefab +++ b/Assets/Resources/Games/builtToScaleDS.prefab @@ -33,6 +33,36 @@ Transform: m_Father: {fileID: 3337760827311893485} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1803360111849034667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 835389391171181030} + m_Layer: 10 + m_Name: BlocksHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &835389391171181030 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803360111849034667} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8319323761679134309} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2034480636994138272 GameObject: m_ObjectHideFlags: 0 @@ -160,6 +190,8 @@ Transform: - {fileID: 1557051792312115487} - {fileID: 1494594296080928600} - {fileID: 7292152612502213159} + - {fileID: 842141362349511046} + - {fileID: 835389391171181030} m_Father: {fileID: 4631944531018638297} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -189,13 +221,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4052947733920485538} - m_LocalRotation: {x: 0.047040753, y: -0.9419751, z: 0.29700354, w: 0.14919424} - m_LocalPosition: {x: 2, y: 5, z: 6.96} + m_LocalRotation: {x: 0.077828385, y: -0.9212198, z: 0.29045945, w: 0.24684015} + m_LocalPosition: {x: 3.35, y: 5.35, z: 6.75} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 4631944531018638297} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 35, y: -162, z: 0} + m_LocalEulerAnglesHint: {x: 35, y: -150, z: 0} --- !u!20 &6268063764140376526 Camera: m_ObjectHideFlags: 0 @@ -223,7 +255,7 @@ Camera: far clip plane: 1000 field of view: 49 orthographic: 1 - orthographic size: 1.25 + orthographic size: 1 m_Depth: 0 m_CullingMask: serializedVersion: 2 @@ -316,8 +348,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 5903939180778773926} - {fileID: 5257063787336281836} - - {fileID: 5505299608544811493} - {fileID: 2186723135650062029} - {fileID: 8251119247562495620} m_Father: {fileID: 8319323761679134309} @@ -373,7 +405,15 @@ MonoBehaviour: renderQuadTrans: {fileID: 743597382397742394} cameraPos: {fileID: 6509993024069972873} environmentRenderer: {fileID: 3593377758750892331} - beltSpeed: 5 + flyingRodBase: {fileID: 4881628242623067222} + movingBlocksBase: {fileID: 6531576029795059484} + hitPartsBase: {fileID: 1518590174126965879} + missPartsBase: {fileID: 8775841744012545086} + partsHolder: {fileID: 842141362349511046} + blocksHolder: {fileID: 835389391171181030} + shooterAnim: {fileID: 327112291406064303} + elevatorAnim: {fileID: 1613410199122163856} + beltSpeed: 4.33 --- !u!1 &8373923870426321472 GameObject: m_ObjectHideFlags: 0 @@ -467,6 +507,36 @@ Light: m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 +--- !u!1 &8451088964468361308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 842141362349511046} + m_Layer: 10 + m_Name: PartsHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &842141362349511046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8451088964468361308} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8319323761679134309} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1301957172558251764 PrefabInstance: m_ObjectHideFlags: 0 @@ -875,14 +945,26 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -2110856612853230395, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: -947387224812249842, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0.0000026062855 objectReference: {fileID: 0} + - target: {fileID: -944302891571569470, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: -802825371530418220, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: -89.98021 objectReference: {fileID: 0} + - target: {fileID: -249144929563529216, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 364309268697413728, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0.0000026062858 @@ -891,6 +973,10 @@ PrefabInstance: propertyPath: m_Name value: HitParts objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_IsActive value: 0 @@ -919,10 +1005,26 @@ PrefabInstance: propertyPath: m_Materials.Array.data[5] value: objectReference: {fileID: 2100000, guid: 4f8bd26d58641e94aa444d2ade8f0271, type: 2} + - target: {fileID: 5175829030728775370, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 5428856251986128748, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 6011958246403775304, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 6011958246403775304, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6670651163399061064, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 6670651163399061064, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} propertyPath: m_IsActive value: 1 @@ -941,16 +1043,16 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} ---- !u!1 &1518590174126965879 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} - m_PrefabInstance: {fileID: 1860677578905467174} - m_PrefabAsset: {fileID: 0} --- !u!4 &2186723135650062029 stripped Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} m_PrefabInstance: {fileID: 1860677578905467174} m_PrefabAsset: {fileID: 0} +--- !u!1 &1518590174126965879 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3} + m_PrefabInstance: {fileID: 1860677578905467174} + m_PrefabAsset: {fileID: 0} --- !u!95 &4258085773905465771 Animator: serializedVersion: 3 @@ -970,140 +1072,19 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!1001 &5470881436180708878 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 7292152612502213159} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalPosition.y - value: -49.499996 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -1869871334352211690, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 89.98021 - objectReference: {fileID: 0} - - target: {fileID: -1869871334352211690, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000008680054 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_Name - value: MovingBlocks - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2728175015023002165, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -89.98021 - objectReference: {fileID: 0} - - target: {fileID: 4518858451777631492, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} - - target: {fileID: 4518858451777631492, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_Materials.Array.data[3] - value: - objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} - - target: {fileID: 5219957376676899290, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000111559 - objectReference: {fileID: 0} - - target: {fileID: 5219957376676899290, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000080673357 - objectReference: {fileID: 0} - - target: {fileID: 5219957376676899290, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: -90.00001 - objectReference: {fileID: 0} - - target: {fileID: 8667595228939439361, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000061081146 - objectReference: {fileID: 0} - - target: {fileID: 8667595228939439361, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000008139378 - objectReference: {fileID: 0} - - target: {fileID: 8667595228939439361, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 8.677123e-14 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} ---- !u!1 &5128773691644658527 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - m_PrefabInstance: {fileID: 5470881436180708878} - m_PrefabAsset: {fileID: 0} ---- !u!4 &5505299608544811493 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} - m_PrefabInstance: {fileID: 5470881436180708878} - m_PrefabAsset: {fileID: 0} ---- !u!95 &2349172183013771238 -Animator: - serializedVersion: 3 +--- !u!114 &6523654874484980532 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5128773691644658527} + m_GameObject: {fileID: 1518590174126965879} m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: 724cf7891d0bf464ebb86b02d28fb104, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d214166804e7b744da86eebcde1e637f, type: 3} + m_Name: + m_EditorClassIdentifier: + anim: {fileID: 4258085773905465771} --- !u!1001 &5728137633595574535 PrefabInstance: m_ObjectHideFlags: 0 @@ -1113,7 +1094,7 @@ PrefabInstance: m_Modifications: - target: {fileID: -8679921383154817045, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} propertyPath: m_RootOrder - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} propertyPath: m_LocalPosition.x @@ -1155,6 +1136,18 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -7650109545886468680, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -7425131087532847277, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -3203485738917446855, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: -1003055794911221338, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} propertyPath: m_Materials.Array.data[0] value: @@ -1167,22 +1160,34 @@ PrefabInstance: propertyPath: m_Name value: FlyingRod objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} + - target: {fileID: 7226848437003788013, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 7863961106138353903, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} ---- !u!1 &4881628242623067222 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} - m_PrefabInstance: {fileID: 5728137633595574535} - m_PrefabAsset: {fileID: 0} --- !u!4 &5257063787336281836 stripped Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} m_PrefabInstance: {fileID: 5728137633595574535} m_PrefabAsset: {fileID: 0} +--- !u!1 &4881628242623067222 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3} + m_PrefabInstance: {fileID: 5728137633595574535} + m_PrefabAsset: {fileID: 0} --- !u!95 &8117935502587229019 Animator: serializedVersion: 3 @@ -1202,6 +1207,196 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &5969285455209930027 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4881628242623067222} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d214166804e7b744da86eebcde1e637f, type: 3} + m_Name: + m_EditorClassIdentifier: + anim: {fileID: 8117935502587229019} +--- !u!1001 &6225584485801998925 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7292152612502213159} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7204237955642933900, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -6551508385185329638, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -2492640878337709849, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -685714951338797429, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Name + value: MovingBlocks + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3394299690235127225, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 4518858451777631492, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} + - target: {fileID: 4518858451777631492, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Materials.Array.data[1] + value: + objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} + - target: {fileID: 4518858451777631492, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Materials.Array.data[2] + value: + objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} + - target: {fileID: 4518858451777631492, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Materials.Array.data[3] + value: + objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} + - target: {fileID: 5833730649146179553, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8175652456220214933, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} +--- !u!4 &5903939180778773926 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + m_PrefabInstance: {fileID: 6225584485801998925} + m_PrefabAsset: {fileID: 0} +--- !u!1 &6531576029795059484 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} + m_PrefabInstance: {fileID: 6225584485801998925} + m_PrefabAsset: {fileID: 0} +--- !u!95 &7940570394249237327 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6531576029795059484} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 724cf7891d0bf464ebb86b02d28fb104, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &2660296812311263321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6531576029795059484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d214166804e7b744da86eebcde1e637f, type: 3} + m_Name: + m_EditorClassIdentifier: + anim: {fileID: 7940570394249237327} +--- !u!114 &7221264979161996831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6531576029795059484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 14f44ccc2c565b14781c7f959aeef848, type: 3} + m_Name: + m_EditorClassIdentifier: + inList: 0 + lastState: 0 + state: + gameObject: {fileID: 0} + early: 0 + perfect: 0 + late: 0 + createBeat: 0 + isEligible: 0 + eligibleHitsList: [] + aceTimes: 0 + createBeat: 0 + createLength: 0 + anim: {fileID: 7940570394249237327} --- !u!1001 &8104129143664069132 PrefabInstance: m_ObjectHideFlags: 0 @@ -1253,10 +1448,34 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -7792632887967911809, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -6033428231981823279, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -4866640478502395794, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -3032145645166290956, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -2530315915179985130, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} propertyPath: m_Name value: ElevatorWithRod objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 3783149753680359203, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} propertyPath: m_Materials.Array.data[0] value: @@ -1269,6 +1488,14 @@ PrefabInstance: propertyPath: m_Materials.Array.data[3] value: objectReference: {fileID: 2100000, guid: f8523e095c9f2194d8ae47687a42305a, type: 2} + - target: {fileID: 7581012197924079463, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8650247803943481205, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3} --- !u!4 &8646102017070181863 stripped @@ -1351,14 +1578,50 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -8088575834435831972, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -7761850657100584320, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -7700258416935688289, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -3487895895819380211, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: -244648530497092133, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 308257133709792796, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 316072583261635057, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} propertyPath: m_Name value: MissParts objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} + - target: {fileID: 2825692475421427110, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} - target: {fileID: 3065674648482680293, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} propertyPath: m_Materials.Array.data[0] value: @@ -1371,18 +1634,22 @@ PrefabInstance: propertyPath: m_Materials.Array.data[3] value: objectReference: {fileID: 2100000, guid: 8ed30616db50b7e4a8e9022ca6085652, type: 2} + - target: {fileID: 8813323920513627783, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + propertyPath: m_Layer + value: 10 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} ---- !u!1 &8775841744012545086 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} - m_PrefabInstance: {fileID: 8433944954176581999} - m_PrefabAsset: {fileID: 0} --- !u!4 &8251119247562495620 stripped Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} m_PrefabInstance: {fileID: 8433944954176581999} m_PrefabAsset: {fileID: 0} +--- !u!1 &8775841744012545086 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: c9dfe6e539f24b14c8918dba9c6e35eb, type: 3} + m_PrefabInstance: {fileID: 8433944954176581999} + m_PrefabAsset: {fileID: 0} --- !u!95 &9102712221565380134 Animator: serializedVersion: 3 @@ -1402,3 +1669,16 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &4478829549985366287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8775841744012545086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d214166804e7b744da86eebcde1e637f, type: 3} + m_Name: + m_EditorClassIdentifier: + anim: {fileID: 9102712221565380134} diff --git a/Assets/Resources/Sfx/games/builtToScaleDS.meta b/Assets/Resources/Sfx/games/builtToScaleDS.meta new file mode 100644 index 000000000..bcac7b90d --- /dev/null +++ b/Assets/Resources/Sfx/games/builtToScaleDS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f16fd91e0acada45a82667c7bd396d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg b/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fb2f1f18fc13ebc60a51e42478fb0aaead389af6 GIT binary patch literal 14297 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 literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg.meta b/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg.meta new file mode 100644 index 000000000..164424914 --- /dev/null +++ b/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 3f09d9adc28384b439a9d0556a8dc69b +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png b/Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png new file mode 100644 index 0000000000000000000000000000000000000000..388075b8b7dbfd803f10b308a1ae4e6e4815e7f1 GIT binary patch literal 18799 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 OPjf2Xk6Z9{h5rYoK4`@N delta 11028 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 windupBeat && currentBeat < hitBeat + && !shooterState.IsName("Windup") + && game.shooterAnim.IsAnimationNotPlaying()) + { + game.shooterAnim.Play("Windup", 0, 0); + } + + float stateBeat = Conductor.instance.GetPositionFromMargin(createBeat + (createLength * 4.5f), 1f); + StateCheck(stateBeat); + + if (PlayerInput.Pressed()) + { + if (state.perfect) + { + Ace(); + } + else if (state.notPerfect()) + { + Miss(); + } + } + + if (moving && anim.GetCurrentAnimatorStateInfo(0).normalizedTime < 0.9f) + { + game.SetBlockTime(this, createBeat, createLength); + } + } + + void Ace() + { + moving = false; + game.shootingThisFrame = true; + + game.Shoot(); + game.SpawnObject(BuiltToScaleDS.BTSObject.HitPieces); + Destroy(gameObject); + + Jukebox.PlayOneShotGame("builtToScaleDS/Hit"); + } + + void Miss() + { + moving = false; + game.shootingThisFrame = true; + + game.Shoot(); + game.SpawnObject(BuiltToScaleDS.BTSObject.MissPieces); + Destroy(gameObject); + } + + public override void OnAce() + { + Ace(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs.meta b/Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs.meta new file mode 100644 index 000000000..3cfa9c61c --- /dev/null +++ b/Assets/Scripts/Games/BuiltToScaleDS/Blocks.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 14f44ccc2c565b14781c7f959aeef848 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs b/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs index d7ea42052..2b895b8a6 100644 --- a/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs +++ b/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs @@ -3,18 +3,29 @@ using System.Collections.Generic; using UnityEngine; using NaughtyBezierCurves; using DG.Tweening; +using System; using RhythmHeavenMania.Util; namespace RhythmHeavenMania.Games.BuiltToScaleDS { public class BuiltToScaleDS : Minigame { + public enum BTSObject { HitPieces, MissPieces, FlyingRod } + [Header("Camera")] public Transform renderQuadTrans; public Transform cameraPos; [Header("References")] public SkinnedMeshRenderer environmentRenderer; + public GameObject flyingRodBase; + public GameObject movingBlocksBase; + public GameObject hitPartsBase; + public GameObject missPartsBase; + public Transform partsHolder; + public Transform blocksHolder; + public Animator shooterAnim; + public Animator elevatorAnim; [Header("Properties")] public float beltSpeed = 1f; @@ -22,6 +33,8 @@ namespace RhythmHeavenMania.Games.BuiltToScaleDS private Material beltMaterial; private Material[] environmentMaterials; private float currentBeltOffset; + + [NonSerialized] public bool shootingThisFrame; public static BuiltToScaleDS instance; @@ -43,13 +56,129 @@ namespace RhythmHeavenMania.Games.BuiltToScaleDS var camHeight = 2f * cam.orthographicSize; var camWidth = camHeight * cam.aspect; renderQuadTrans.localScale = new Vector3(camWidth, camHeight, 1f); + + elevatorAnim.Play("MakeRod", 0, 1f); } + List spawnedBlockEvents = new List(); void Update() { + if (!Conductor.instance.isPlaying && !Conductor.instance.isPaused) + return; + + var currentBeat = Conductor.instance.songPositionInBeats; + + var blockEvents = GameManager.instance.Beatmap.entities.FindAll(c => c.datamodel == "builtToScaleDS/spawn blocks"); + for (int i = 0; i < blockEvents.Count; i++) + { + var ev = blockEvents[i]; + if (spawnedBlockEvents.Contains(ev)) continue; // Don't spawn the same blocks multiple times. + + var spawnBeat = ev.beat - (ev.length * 0.5f); + if (currentBeat > spawnBeat && currentBeat < ev.beat + ev.length) + { + SpawnBlocks(spawnBeat, ev.length); + spawnedBlockEvents.Add(ev); + break; + } + } + currentBeltOffset = (currentBeltOffset + Time.deltaTime * -beltSpeed) % 1f; beltMaterial.mainTextureOffset = new Vector2(0f, currentBeltOffset); environmentRenderer.materials = environmentMaterials; } + + void LateUpdate() + { + var shooterState = shooterAnim.GetCurrentAnimatorStateInfo(0); + bool canShoot = !shooterState.IsName("Shoot") || shooterAnim.IsAnimationNotPlaying(); + + if (canShoot && PlayerInput.Pressed() && !shootingThisFrame) + { + shootingThisFrame = true; + Shoot(); + SpawnObject(BTSObject.FlyingRod); + } + + if (!shootingThisFrame) + { + if (blocksHolder.childCount == 0 && shooterState.IsName("Windup") && shooterAnim.IsAnimationNotPlaying()) + { + shooterAnim.Play("WindDown", 0, 0); + } + } + + shootingThisFrame = false; + } + + public void SpawnBlocks(float beat, float length) + { + var newBlocks = GameObject.Instantiate(movingBlocksBase, blocksHolder).GetComponent(); + newBlocks.createBeat = beat; + newBlocks.createLength = length; + newBlocks.gameObject.SetActive(true); + + SetBlockTime(newBlocks, beat, length); + } + + const int blockFramesPerSecond = 24; + const int blockHitFrame = 39; + const int blockTotalFrames = 80; + List criticalFrames = new List { 7, 15, 23, 31, 39, 47 }; + public void SetBlockTime(Blocks blocks, float spawnBeat, float length) + { + float secondsPerFrame = 1f / blockFramesPerSecond; + float secondsToHitFrame = secondsPerFrame * blockHitFrame; + + float secondsPerBeat = Conductor.instance.secPerBeat; + float secondsToHitBeat = secondsPerBeat * 4.5f * length; + + float speedMult = secondsToHitFrame / secondsToHitBeat; + + float secondsPastSpawnTime = secondsPerBeat * (Conductor.instance.songPositionInBeats - spawnBeat); + float framesPastSpawnTime = blockFramesPerSecond * speedMult * secondsPastSpawnTime; + + // The only way I could deal with Unity's interpolation shenanigans without having a stroke. + if (criticalFrames.Contains(Mathf.FloorToInt(framesPastSpawnTime))) + framesPastSpawnTime = Mathf.CeilToInt(framesPastSpawnTime); + + blocks.anim.Play("Move", 0, framesPastSpawnTime / blockTotalFrames); + blocks.anim.speed = speedMult; + } + + public void SpawnObject(BTSObject btsObject) + { + GameObject prefabToUse = null; + string animNameToUse = ""; + + switch (btsObject) + { + case BTSObject.HitPieces: + prefabToUse = hitPartsBase; + animNameToUse = "PartsHit"; + break; + case BTSObject.MissPieces: + prefabToUse = missPartsBase; + animNameToUse = "PartsMiss"; + break; + case BTSObject.FlyingRod: + prefabToUse = flyingRodBase; + animNameToUse = "Fly"; + break; + } + + if (prefabToUse != null) + { + var newPiece = GameObject.Instantiate(prefabToUse, partsHolder).GetComponent(); + newPiece.gameObject.SetActive(true); + newPiece.anim.Play(animNameToUse, 0, 0); + } + } + + public void Shoot() + { + shooterAnim.Play("Shoot", 0, 0); + elevatorAnim.Play("MakeRod", 0, 0); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 7a3734a23..6fb618439 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -12,6 +12,7 @@ using RhythmHeavenMania.Games.SpaceSoccer; using RhythmHeavenMania.Games.DJSchool; using RhythmHeavenMania.Games.RhythmTweezers; using RhythmHeavenMania.Games.RhythmRally; +using RhythmHeavenMania.Games.BuiltToScaleDS; namespace RhythmHeavenMania { @@ -196,7 +197,7 @@ namespace RhythmHeavenMania new Param("type", new EntityTypes.Integer(0, 2, 0), "Type"), }), }), - new Minigame("rhythmTweezers", "Rhythm Tweezers \n[WIP don't use]", "98b389", false, false, new List() + new Minigame("rhythmTweezers", "Rhythm Tweezers", "98b389", false, false, new List() { new GameAction("start interval", delegate { RhythmTweezers.instance.SetIntervalStart(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 4f, true), new GameAction("short hair", delegate { RhythmTweezers.instance.SpawnHair(eventCaller.currentEntity.beat); }, 0.5f), @@ -228,7 +229,7 @@ namespace RhythmHeavenMania }), new Minigame("builtToScaleDS", "Built To Scale (DS) \n[WIP don't use]", "B888F8", true, false, new List() { - + new GameAction("spawn blocks", delegate { }, 1f, true) }), /*new Minigame("spaceDance", "Space Dance", "B888F8", new List() {