From 5dc02f5e42bb158dac43529d1d5555aa4c989420 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.meta | 22 + .../Editor/GameIcons/RhythmTweezers.png.meta | 108 ++++ .../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 +- 15 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.meta create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png.meta 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 748a383f..8fd76ce6 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 00000000..bcac7b90 --- /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.meta b/Assets/Resources/Sfx/games/builtToScaleDS/Hit.ogg.meta new file mode 100644 index 00000000..16442491 --- /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.meta b/Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png.meta new file mode 100644 index 00000000..9aa23714 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/GameIcons/RhythmTweezers.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 3789861ed791d6f47993d6a3ff1b3411 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 64 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/GameIcons/builtToScaleDS.png.meta b/Assets/Resources/Sprites/Editor/GameIcons/builtToScaleDS.png.meta new file mode 100644 index 00000000..37fcfad2 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/GameIcons/builtToScaleDS.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: 42749c77098fb4d41aa40f851ac72e3d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 32 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/MovingBlocks.controller b/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/MovingBlocks.controller index f2badc0e..2876ab7b 100644 --- a/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/MovingBlocks.controller +++ b/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/MovingBlocks.controller @@ -10,8 +10,8 @@ AnimatorStateMachine: m_Name: Base Layer m_ChildStates: - serializedVersion: 1 - m_State: {fileID: 3323039142518375142} - m_Position: {x: 280, y: 110, z: 0} + m_State: {fileID: 4546687776082381398} + m_Position: {x: 290, y: 110, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -21,7 +21,7 @@ AnimatorStateMachine: 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: 3323039142518375142} + m_DefaultState: {fileID: 4546687776082381398} --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -44,7 +44,7 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} ---- !u!1102 &3323039142518375142 +--- !u!1102 &4546687776082381398 AnimatorState: serializedVersion: 6 m_ObjectHideFlags: 1 @@ -64,9 +64,9 @@ AnimatorState: m_MirrorParameterActive: 0 m_CycleOffsetParameterActive: 0 m_TimeParameterActive: 0 - m_Motion: {fileID: -7095431843126280680, guid: 5bad1689d622aa24e96835f18f9a49cd, type: 3} + m_Motion: {fileID: -7095431843126280680, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3} m_Tag: m_SpeedParameter: m_MirrorParameter: m_CycleOffsetParameter: - m_TimeParameter: + m_TimeParameter: NormTime diff --git a/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/Shooter.controller b/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/Shooter.controller index ade05672..e85d7c65 100644 --- a/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/Shooter.controller +++ b/Assets/Resources/Sprites/Games/BuiltToScaleDS/Animations/Shooter.controller @@ -26,6 +26,32 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &-3888286644032445258 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WindDown + 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: 241429122767823071, guid: 26c46c4ecd6e69145a6e971ac2cf6dcf, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1102 &-2890999575255706306 AnimatorState: serializedVersion: 6 @@ -96,6 +122,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: -1361826925033568764} m_Position: {x: 270, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3888286644032445258} + m_Position: {x: 500, y: 180, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] diff --git a/Assets/Resources/Sprites/Games/BuiltToScaleDS/MovingBlocks.fbx b/Assets/Resources/Sprites/Games/BuiltToScaleDS/MovingBlocks.fbx index 933a26051577e6b78f8882ab12862be880c8e08e..bc662b24b8d5d6e0a5d48c36018b832d0b4e1752 100644 GIT binary patch literal 68508 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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 00000000..3cfa9c61 --- /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 d7ea4205..2b895b8a 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 7a3734a2..6fb61843 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() {