diff --git a/Assets/Resources/Games/wizardsWaltz.prefab b/Assets/Resources/Games/wizardsWaltz.prefab index dc7b4f16..1369c166 100644 --- a/Assets/Resources/Games/wizardsWaltz.prefab +++ b/Assets/Resources/Games/wizardsWaltz.prefab @@ -1,5 +1,200 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &495079121991323623 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8145183858976180822} + - component: {fileID: 6977509582872707701} + m_Layer: 0 + m_Name: SpriteHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8145183858976180822 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 495079121991323623} + 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: 5180675038394081533} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6977509582872707701 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 495079121991323623} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 4636117524539756526, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &883613100522307325 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2989642375569903027} + m_Layer: 0 + m_Name: Prefabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2989642375569903027 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 883613100522307325} + 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: + - {fileID: 5180675038394081533} + m_Father: {fileID: 7248900333300803150} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1172109260453278802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 669296839509545821} + - component: {fileID: 4750861237420523156} + m_Layer: 0 + m_Name: WizardShadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &669296839509545821 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172109260453278802} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6, y: -2.5, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7248900333300803150} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4750861237420523156 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172109260453278802} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -2010975486192916732, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_Color: {r: 1, g: 0.48467705, b: 0, a: 0.33333334} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &1194608921018870769 GameObject: m_ObjectHideFlags: 0 @@ -95,6 +290,115 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9d323f90f8c1dd54da6d53d21013cf5c, type: 3} m_Name: m_EditorClassIdentifier: + shadow: {fileID: 1172109260453278802} +--- !u!1 &1740010938943195280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8217893490508314786} + m_Layer: 0 + m_Name: Plants + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8217893490508314786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740010938943195280} + 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: 7248900333300803150} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3353780840221392181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5180675038394081533} + - component: {fileID: 1956085913247994144} + - component: {fileID: 4115963594268370484} + m_Layer: 0 + m_Name: Plant + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5180675038394081533 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3353780840221392181} + 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: + - {fileID: 8145183858976180822} + m_Father: {fileID: 2989642375569903027} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &1956085913247994144 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3353780840221392181} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 453398630ec0cea43afc5dd7338ca249, 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 &4115963594268370484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3353780840221392181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b62617c2e80c5e2488da3c603bc21022, type: 3} + m_Name: + m_EditorClassIdentifier: + inList: 0 + lastState: 0 + state: + gameObject: {fileID: 0} + early: 0 + perfect: 0 + late: 0 + createBeat: 0 + eligibleHitsList: [] + aceTimes: 0 + isEligible: 0 + triggersAutoplay: 1 + animator: {fileID: 1956085913247994144} + createBeat: 0 --- !u!1 &7248900333300803145 GameObject: m_ObjectHideFlags: 0 @@ -125,6 +429,9 @@ Transform: m_Children: - {fileID: 8701843541313247389} - {fileID: 5068490343008965940} + - {fileID: 669296839509545821} + - {fileID: 8217893490508314786} + - {fileID: 2989642375569903027} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -143,6 +450,10 @@ MonoBehaviour: EligibleHits: [] firstEnable: 0 wizard: {fileID: 9147818320159898070} + plantHolder: {fileID: 1740010938943195280} + plantBase: {fileID: 3353780840221392181} + beatInterval: 4 + wizardBeatOffset: 0 --- !u!1 &8963803634876878173 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sfx/games/wizardsWaltz.meta b/Assets/Resources/Sfx/games/wizardsWaltz.meta new file mode 100644 index 00000000..8467aad6 --- /dev/null +++ b/Assets/Resources/Sfx/games/wizardsWaltz.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba811f35279b31948a8f713a5da267e2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sfx/games/wizardsWaltz/grow.ogg.meta b/Assets/Resources/Sfx/games/wizardsWaltz/grow.ogg.meta new file mode 100644 index 00000000..8b9ea799 --- /dev/null +++ b/Assets/Resources/Sfx/games/wizardsWaltz/grow.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 47cbd468afddf1540ab561e66d3f64b9 +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/Sfx/games/wizardsWaltz/plant.ogg.meta b/Assets/Resources/Sfx/games/wizardsWaltz/plant.ogg.meta new file mode 100644 index 00000000..86afb4d1 --- /dev/null +++ b/Assets/Resources/Sfx/games/wizardsWaltz/plant.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: d7002a01686627a48b45afee706eb8f0 +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/Games/RhythmTweezers/Animations/Hairs/HairHolder.controller b/Assets/Resources/Sprites/Games/RhythmTweezers/Animations/Hairs/HairHolder.controller index 6002d1e1..de1ed21f 100644 --- a/Assets/Resources/Sprites/Games/RhythmTweezers/Animations/Hairs/HairHolder.controller +++ b/Assets/Resources/Sprites/Games/RhythmTweezers/Animations/Hairs/HairHolder.controller @@ -137,7 +137,7 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 8081536976595334241} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 210, y: -10, z: 0} - serializedVersion: 1 m_State: {fileID: 3716456221662251481} m_Position: {x: 235, y: 65, z: 0} diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations.meta new file mode 100644 index 00000000..b3d52fef --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c69e1b2a1a87e54cb388807fb61949f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim new file mode 100644 index 00000000..981dbe64 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Appear + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -7368868625357890572, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.033333335 + value: {fileID: 6550520003927709678, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.06666667 + value: {fileID: -7031960681128103596, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.1 + value: {fileID: 4636117524539756526, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.13333334 + value: {fileID: -7031960681128103596, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.16666667 + value: {fileID: 4636117524539756526, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + attribute: m_Sprite + path: SpriteHolder + classID: 212 + script: {fileID: 0} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1564233274 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -7368868625357890572, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 6550520003927709678, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -7031960681128103596, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 4636117524539756526, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -7031960681128103596, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 4636117524539756526, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.18333334 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim.meta new file mode 100644 index 00000000..3ea23d08 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Appear.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 419d3c4586a72324694e9fa8a2663074 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim new file mode 100644 index 00000000..087509b3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim @@ -0,0 +1,90 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Eat + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -4802072682935432007, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.033333335 + value: {fileID: -5472345213390817180, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.06666667 + value: {fileID: -4394865311163506109, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.1 + value: {fileID: -6165325623540167759, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.13333334 + value: {fileID: 3955841814209212924, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.16666667 + value: {fileID: -2406188369649778213, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + attribute: m_Sprite + path: SpriteHolder + classID: 212 + script: {fileID: 0} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1564233274 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -4802072682935432007, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -5472345213390817180, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -4394865311163506109, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -6165325623540167759, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 3955841814209212924, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -2406188369649778213, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.2 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: + - time: 0.2 + functionName: EatLoop + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim.meta new file mode 100644 index 00000000..25ae5d49 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Eat.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93acfc02cdfa9ac469655d8ddf7cfdb8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim new file mode 100644 index 00000000..ef23c5a2 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim @@ -0,0 +1,74 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EatLoop + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -7426945613399875653, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.033333335 + value: {fileID: 854124440379713626, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.05 + value: {fileID: 854124440379713626, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + attribute: m_Sprite + path: SpriteHolder + classID: 212 + script: {fileID: 0} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1564233274 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -7426945613399875653, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 854124440379713626, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 854124440379713626, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.06666667 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim.meta new file mode 100644 index 00000000..8105cbec --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/EatLoop.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e30bfa73f66bd444dbdfab4d16c9e32c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim new file mode 100644 index 00000000..9ef48fd4 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim @@ -0,0 +1,92 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Hit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -4540014695617444453, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.033333335 + value: {fileID: -7118984775159605532, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.06666667 + value: {fileID: 8880887496617416097, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.1 + value: {fileID: -6209033008860534819, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.13333334 + value: {fileID: 4424706533675870473, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.16666667 + value: {fileID: 2768467047179132677, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.2 + value: {fileID: 5426991987252364490, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.23333333 + value: {fileID: 2768467047179132677, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - time: 0.26666668 + value: {fileID: 5426991987252364490, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + attribute: m_Sprite + path: SpriteHolder + classID: 212 + script: {fileID: 0} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1564233274 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -4540014695617444453, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -7118984775159605532, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 8880887496617416097, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: -6209033008860534819, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 4424706533675870473, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 2768467047179132677, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 5426991987252364490, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 2768467047179132677, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + - {fileID: 5426991987252364490, guid: affa77f4c5206f444a79fbd5d03c0aa4, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.28333336 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim.meta new file mode 100644 index 00000000..c644055c --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/Hit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f021f0cc0f7f2694bb680dba31fde663 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller new file mode 100644 index 00000000..545d6bee --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-8735285583408772827 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Eat + m_Speed: 0.5 + 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: 93acfc02cdfa9ac469655d8ddf7cfdb8, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-3731834624934684321 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Hit + m_Speed: 0.5 + 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: f021f0cc0f7f2694bb680dba31fde663, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-1911281047350913601 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Appear + m_Speed: 0.5 + 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: 419d3c4586a72324694e9fa8a2663074, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlantAnimator + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 3333581725375681455} + 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!1107 &3333581725375681455 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -1911281047350913601} + m_Position: {x: 230, y: 10, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3731834624934684321} + m_Position: {x: 260, y: 90, z: 0} + - serializedVersion: 1 + m_State: {fileID: -8735285583408772827} + m_Position: {x: 220, y: 180, z: 0} + - serializedVersion: 1 + m_State: {fileID: 4439301530716439655} + m_Position: {x: 190, y: 250, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: -10, y: -30, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 470, y: 220, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -1911281047350913601} +--- !u!1102 &4439301530716439655 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EatLoop + m_Speed: 0.5 + 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: e30bfa73f66bd444dbdfab4d16c9e32c, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller.meta new file mode 100644 index 00000000..ac2d0e55 --- /dev/null +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/Animations/PlantAnimator.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 453398630ec0cea43afc5dd7338ca249 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/WizardsWaltz/wizardswaltz_main.png.meta b/Assets/Resources/Sprites/Games/WizardsWaltz/wizardswaltz_main.png.meta index 3aa75251..c143b66b 100644 --- a/Assets/Resources/Sprites/Games/WizardsWaltz/wizardswaltz_main.png.meta +++ b/Assets/Resources/Sprites/Games/WizardsWaltz/wizardswaltz_main.png.meta @@ -569,8 +569,8 @@ TextureImporter: y: 89 width: 16 height: 15 - alignment: 0 - pivot: {x: 0.5, y: 0.5} + alignment: 9 + pivot: {x: 0.5, y: 0.20000002} border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: [] @@ -633,7 +633,7 @@ TextureImporter: width: 29 height: 45 alignment: 9 - pivot: {x: 0.25925925, y: 0.06666667} + pivot: {x: 0.31034482, y: 0.06666667} border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: [] diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index 278908a7..bb8ab11c 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -18739,9 +18739,9 @@ RectTransform: m_Father: {fileID: 1671351975} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 112, y: -25.34875} m_SizeDelta: {x: 224, y: 50.6975} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1906769994 diff --git a/Assets/Scripts/Games/WizardsWaltz/Plant.cs b/Assets/Scripts/Games/WizardsWaltz/Plant.cs new file mode 100644 index 00000000..c42a7f8d --- /dev/null +++ b/Assets/Scripts/Games/WizardsWaltz/Plant.cs @@ -0,0 +1,91 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System; + +namespace RhythmHeavenMania.Games.WizardsWaltz +{ + public class Plant : PlayerActionObject + { + public Animator animator; + public float createBeat; + + private WizardsWaltz game; + private bool hit = false; + private bool passed = false; + + private void Awake() + { + game = WizardsWaltz.instance; + } + + private void Start() + { + animator.Play("Appear", 0, 0); + } + + private void Update() + { + if (!passed && Conductor.instance.songPositionInBeats > createBeat + game.beatInterval) + { + StartCoroutine(FadeOut()); + passed = true; + } + + if (hit) return; + + float stateBeat = Conductor.instance.GetPositionFromMargin(createBeat + game.beatInterval, 1f); + StateCheck(stateBeat); + + if (PlayerInput.Pressed(true)) + { + if (state.perfect) + { + Ace(); + } else if (state.notPerfect()) + { + Miss(); + } + } + + } + + public void Bloom() + { + animator.Play("Hit", 0, 0); + } + + public void Eat() + { + animator.Play("Eat", 0, 0); + } + + public void EatLoop() + { + animator.Play("EatLoop", 0, 0); + } + + public void Ace() + { + game.wizard.Magic(this, true); + hit = true; + } + + public void Miss() + { + game.wizard.Magic(this, false); + hit = true; + } + + public override void OnAce() + { + Ace(); + } + + public IEnumerator FadeOut() + { + yield return new WaitForSeconds(Conductor.instance.secPerBeat * game.beatInterval / 2f); + Destroy(gameObject); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Games/WizardsWaltz/Plant.cs.meta b/Assets/Scripts/Games/WizardsWaltz/Plant.cs.meta new file mode 100644 index 00000000..f4621d05 --- /dev/null +++ b/Assets/Scripts/Games/WizardsWaltz/Plant.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b62617c2e80c5e2488da3c603bc21022 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/WizardsWaltz/Wizard.cs b/Assets/Scripts/Games/WizardsWaltz/Wizard.cs index 84865025..8ad64706 100644 --- a/Assets/Scripts/Games/WizardsWaltz/Wizard.cs +++ b/Assets/Scripts/Games/WizardsWaltz/Wizard.cs @@ -7,24 +7,51 @@ namespace RhythmHeavenMania.Games.WizardsWaltz { public class Wizard : MonoBehaviour { + public GameObject shadow; + private WizardsWaltz game; private float songPos; - // Start is called before the first frame update - void Start() + private void Awake() { - + game = WizardsWaltz.instance; } - // Update is called once per frame void Update() { songPos = Conductor.instance.songPositionInBeats; - var x = Mathf.Sin(Mathf.PI * songPos / 2) * 6; - var y = 2 + Mathf.Cos(Mathf.PI * songPos / 2) * 1.5f; - var scale = 1 - Mathf.Cos(Mathf.PI * songPos / 2) * 0.25f; - transform.position = new Vector3(x, y, 0); - transform.localScale = new Vector3(scale, scale, 1); + var am = game.beatInterval / 2f; + var x = Mathf.Sin(Mathf.PI * songPos / am) * 6; + var y = Mathf.Cos(Mathf.PI * songPos / am) * 1.5f; + var scale = 1 - Mathf.Cos(Mathf.PI * songPos / am) * 0.25f; + + transform.position = new Vector3(x, 2 + y, -scale); + shadow.transform.position = new Vector3(x, -2.5f + y, -scale + 0.1f); + + var xscale = scale; + if (y > 0) xscale *= -1; + transform.localScale = new Vector3(xscale, scale, 1); + shadow.transform.localScale = new Vector3(scale, scale, 1); } + + public void Magic(Plant plant, bool hit) + { + if(plant == null) + { + // TODO: Play empty A press sound + return; + } + if (hit) + { + Jukebox.PlayOneShotGame("wizardsWaltz/grow"); + plant.Bloom(); + } + else + { + Jukebox.PlayOneShot("miss"); + plant.Eat(); + } + } + } } \ No newline at end of file diff --git a/Assets/Scripts/Games/WizardsWaltz/WizardsWaltz.cs b/Assets/Scripts/Games/WizardsWaltz/WizardsWaltz.cs index 11671959..1893f7f6 100644 --- a/Assets/Scripts/Games/WizardsWaltz/WizardsWaltz.cs +++ b/Assets/Scripts/Games/WizardsWaltz/WizardsWaltz.cs @@ -1,6 +1,8 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using System; +using Starpelly; using RhythmHeavenMania.Util; @@ -8,8 +10,17 @@ namespace RhythmHeavenMania.Games.WizardsWaltz { public class WizardsWaltz : Minigame { - + [Header("References")] public Wizard wizard; + public GameObject plantHolder; + public GameObject plantBase; + + public float beatInterval = 4f; + float intervalStartBeat; + bool intervalStarted; + public float wizardBeatOffset = 0f; + + [NonSerialized] public int plantsLeft = 0; public static WizardsWaltz instance; @@ -18,16 +29,52 @@ namespace RhythmHeavenMania.Games.WizardsWaltz instance = this; } - // Start is called before the first frame update - void Start() + private void Update() { - + if (!Conductor.instance.isPlaying && !Conductor.instance.isPaused && intervalStarted) + { + intervalStarted = false; + } } - // Update is called once per frame - void Update() + public void SetIntervalStart(float beat, float interval = 4f) { + // Don't do these things if the interval was already started. + if (!intervalStarted) + { + plantsLeft = 0; + intervalStarted = true; + } + intervalStartBeat = beat; + beatInterval = interval; } + + public void SpawnFlower(float beat) + { + // If interval hasn't started, assume this is the first hair of the interval. + if (!intervalStarted) + SetIntervalStart(beat, beatInterval); + + Jukebox.PlayOneShotGame("wizardsWaltz/plant", beat); + Plant plant = Instantiate(plantBase, plantHolder.transform).GetComponent(); + + var songPos = Conductor.instance.songPositionInBeats; + var am = (beatInterval / 2f); + var x = Mathf.Sin(Mathf.PI * songPos / am) * 6; + var y = -2.5f + Mathf.Cos(Mathf.PI * songPos / am) * 1.5f; + var scale = 1 - Mathf.Cos(Mathf.PI * songPos / am) * 0.25f; + var xscale = scale; + if (y > -2.5f) xscale *= -1; + + plant.transform.localPosition = new Vector3(x, y, -scale); + plant.transform.localScale = new Vector3(xscale, scale, 1); + + plant.gameObject.SetActive(true); + + plant.createBeat = beat; + plantsLeft++; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 38c1da50..4eb16a83 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -370,7 +370,8 @@ namespace RhythmHeavenMania }), new Minigame("wizardsWaltz", "Wizard's Waltz \n(Mahou Tsukai)", "FFEF9C", false, false, new List() { - // new GameAction("plant flower", delegate { }, 2f, false), + new GameAction("start interval", delegate { WizardsWaltz.instance.SetIntervalStart(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 4f, true), + new GameAction("plant flower", delegate { WizardsWaltz.instance.SpawnFlower(eventCaller.currentEntity.beat); }, 0.5f, false), }), /*new Minigame("spaceDance", "Space Dance", "B888F8", new List() {