diff --git a/Assets/Resources/Games/blueBear.prefab b/Assets/Resources/Games/blueBear.prefab index 4e41c7212..c51714925 100644 --- a/Assets/Resources/Games/blueBear.prefab +++ b/Assets/Resources/Games/blueBear.prefab @@ -33,62 +33,6 @@ Transform: m_Father: {fileID: 6960831429059082753} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &290228492427971646 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6329961769281807094} - - component: {fileID: 4010886351829930261} - m_Layer: 0 - m_Name: DonutCurve - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6329961769281807094 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 290228492427971646} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5421637543485503317} - - {fileID: 3691807933677802949} - - {fileID: 3150862288141982050} - m_Father: {fileID: 8746993661413993986} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4010886351829930261 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 290228492427971646} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 066a41e004f415b4eb74d5e61a2aadbe, type: 3} - m_Name: - m_EditorClassIdentifier: - curveColor: {r: 0, g: 1, b: 0, a: 1} - startPointColor: {r: 1, g: 0, b: 0, a: 1} - endPointColor: {r: 0, g: 0, b: 1, a: 1} - sampling: 25 - keyPoints: - - {fileID: 3229741095474240392} - - {fileID: 5844169753873806744} - - {fileID: 8573860549249418625} - normalizedTime: 0.6 --- !u!1 &471349468795412199 GameObject: m_ObjectHideFlags: 0 @@ -173,6 +117,90 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &519324430633027381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8086662841372816991} + - component: {fileID: 8208959070019046447} + m_Layer: 0 + m_Name: heart_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8086662841372816991 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519324430633027381} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.1699997, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 738467460505531434} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8208959070019046447 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519324430633027381} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + 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: 3280955175608745582, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.58, y: 0.7} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &536226617134315783 GameObject: m_ObjectHideFlags: 0 @@ -313,7 +341,7 @@ ParticleSystem: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 - moveWithTransform: 1 + moveWithTransform: 0 moveWithCustomTransform: {fileID: 0} scalingMode: 1 randomSeed: 0 @@ -5566,39 +5594,6 @@ Transform: m_Father: {fileID: 5813499711186931250} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2117851015664542161 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8746993661413993986} - m_Layer: 0 - m_Name: Curves - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8746993661413993986 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2117851015664542161} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6329961769281807094} - - {fileID: 3593119893011264580} - m_Father: {fileID: 5813499711186931250} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2128961569128384440 GameObject: m_ObjectHideFlags: 0 @@ -5631,7 +5626,7 @@ Transform: - {fileID: 7577381734816330351} - {fileID: 3145709441744219950} m_Father: {fileID: 5813499711186931250} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &435615509351659063 Animator: @@ -5654,54 +5649,6 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &2367708131139839123 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6040988351714367052} - - component: {fileID: 4773903569383290023} - m_Layer: 0 - m_Name: Point 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6040988351714367052 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2367708131139839123} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -5, y: -12.3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3593119893011264580} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4773903569383290023 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2367708131139839123} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 5500614478733336177} - handleType: 0 - leftHandleLocalPosition: {x: 0.19151115, y: 6.0157824, z: 0} - rightHandleLocalPosition: {x: -0.19151115, y: -6.0157824, z: -0} --- !u!1 &2385043071357490508 GameObject: m_ObjectHideFlags: 0 @@ -5932,7 +5879,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5813499711186931250} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8901463518339414129 SpriteRenderer: @@ -6070,54 +6017,6 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!1 &2972698800083633547 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3691807933677802949} - - component: {fileID: 5844169753873806744} - m_Layer: 0 - m_Name: Point 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3691807933677802949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2972698800083633547} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3.2, y: 3.9999998, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6329961769281807094} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5844169753873806744 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2972698800083633547} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 4010886351829930261} - handleType: 0 - leftHandleLocalPosition: {x: -0.5, y: -0, z: -0} - rightHandleLocalPosition: {x: 0.5, y: 0, z: 0} --- !u!1 &3272805707290525802 GameObject: m_ObjectHideFlags: 0 @@ -6153,7 +6052,7 @@ Transform: - {fileID: 3912340903949694468} - {fileID: 2724047915994653680} m_Father: {fileID: 5813499711186931250} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &1672690672723614704 Animator: @@ -6176,54 +6075,6 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &3386726751787149544 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1189969421379328708} - - component: {fileID: 7051398189816610608} - m_Layer: 0 - m_Name: Point 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1189969421379328708 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3386726751787149544} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -3.3230858, y: 14.9, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3593119893011264580} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7051398189816610608 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3386726751787149544} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 5500614478733336177} - handleType: 0 - leftHandleLocalPosition: {x: 0.5, y: 0, z: 0} - rightHandleLocalPosition: {x: -0.5, y: -0, z: -0} --- !u!1 &3577761986294505711 GameObject: m_ObjectHideFlags: 0 @@ -6438,6 +6289,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f7dae340f4a85ba44ab2f8cfd4429430, type: 3} m_Name: m_EditorClassIdentifier: + offset: {x: 0, y: 0, z: 0} isCake: 0 startBeat: 0 --- !u!1 &4021263521913631461 @@ -6697,7 +6549,7 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &4732423349660717250 +--- !u!1 &4851098416927797487 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6705,54 +6557,82 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3593119893011264580} - - component: {fileID: 5500614478733336177} + - component: {fileID: 2327696661996667804} + - component: {fileID: 6641598164577867445} m_Layer: 0 - m_Name: CakeCurve + m_Name: flashback_0 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &3593119893011264580 +--- !u!4 &2327696661996667804 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4732423349660717250} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 4851098416927797487} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.403, y: 0.542, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5019461457677901195} - - {fileID: 1189969421379328708} - - {fileID: 6040988351714367052} - m_Father: {fileID: 8746993661413993986} - m_RootOrder: 1 + m_Children: [] + m_Father: {fileID: 738467460505531434} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5500614478733336177 -MonoBehaviour: +--- !u!212 &6641598164577867445 +SpriteRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4732423349660717250} + m_GameObject: {fileID: 4851098416927797487} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 066a41e004f415b4eb74d5e61a2aadbe, type: 3} - m_Name: - m_EditorClassIdentifier: - curveColor: {r: 0, g: 1, b: 0, a: 1} - startPointColor: {r: 1, g: 0, b: 0, a: 1} - endPointColor: {r: 0, g: 0, b: 1, a: 1} - sampling: 25 - keyPoints: - - {fileID: 5655647647436070703} - - {fileID: 7051398189816610608} - - {fileID: 4773903569383290023} - normalizedTime: 0.75 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + 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: -997 + m_Sprite: {fileID: 8573059910350240599, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.8, y: 1.44} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &5185123952885680762 GameObject: m_ObjectHideFlags: 0 @@ -6837,6 +6717,90 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &5206647684535152570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7022477793167285501} + - component: {fileID: 7321156436145464779} + m_Layer: 0 + m_Name: breakup_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7022477793167285501 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5206647684535152570} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.42, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 738467460505531434} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &7321156436145464779 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5206647684535152570} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + 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: 5768824089713594088, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.12, y: 1.18} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &5227421454194059898 GameObject: m_ObjectHideFlags: 0 @@ -6896,54 +6860,6 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &5251011089174362824 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5019461457677901195} - - component: {fileID: 5655647647436070703} - m_Layer: 0 - m_Name: Point 0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5019461457677901195 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5251011089174362824} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.5, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3593119893011264580} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5655647647436070703 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5251011089174362824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 5500614478733336177} - handleType: 0 - leftHandleLocalPosition: {x: 1.1635425, y: -13.234132, z: -0} - rightHandleLocalPosition: {x: -1.1635425, y: 13.234132, z: 0} --- !u!1 &5422684780013435000 GameObject: m_ObjectHideFlags: 0 @@ -7283,11 +7199,11 @@ Transform: - {fileID: 716902796083954310} - {fileID: 5011532919799571745} - {fileID: 4768386529512104537} - - {fileID: 8746993661413993986} - {fileID: 5813499711658895220} - {fileID: 1786192994432166401} - {fileID: 5860131706849385657} - {fileID: 9061701609461501601} + - {fileID: 738467460505531434} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -7312,14 +7228,50 @@ MonoBehaviour: windAnim: {fileID: 435615509351659063} leftCrumb: {fileID: 8219798266945921243} rightCrumb: {fileID: 5519696871992390998} + _storyAnim: {fileID: 920502940108507811} donutBase: {fileID: 3978360378071664502} cakeBase: {fileID: 5934916489524689261} crumbsBase: {fileID: 556620163903033461} foodHolder: {fileID: 5011532919799571745} crumbsHolder: {fileID: 4768386529512104537} individualBagHolder: {fileID: 199889193875870520} - donutCurve: {fileID: 4010886351829930261} - cakeCurve: {fileID: 5500614478733336177} + _treatCurves: + - name: Donut + preview: 1 + anchor: {fileID: 0} + positions: + - tag: + pos: {x: 1.496, y: -4.014, z: 0} + target: {fileID: 0} + height: 5 + duration: 2 + useLastRealPos: 0 + values: [] + - tag: + pos: {x: 4.9, y: 0.62, z: 0} + target: {fileID: 0} + height: 0 + duration: 0 + useLastRealPos: 0 + values: [] + - name: Cake + preview: 1 + anchor: {fileID: 0} + positions: + - tag: + pos: {x: -1.498, y: -4.01, z: 0} + target: {fileID: 0} + height: 18 + duration: 3 + useLastRealPos: 0 + values: [] + - tag: + pos: {x: -4.63, y: 0.63, z: 0} + target: {fileID: 0} + height: 0 + duration: 0 + useLastRealPos: 0 + values: [] donutGradient: serializedVersion: 2 key0: {r: 0.92941177, g: 0.69411767, b: 0.23921569, a: 1} @@ -7413,7 +7365,7 @@ Transform: - {fileID: 1065936263090570038} - {fileID: 3325397362945256426} m_Father: {fileID: 5813499711186931250} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &6092762685894244170 Animator: @@ -7533,6 +7485,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f7dae340f4a85ba44ab2f8cfd4429430, type: 3} m_Name: m_EditorClassIdentifier: + offset: {x: 0, y: 0, z: 0} isCake: 1 startBeat: 0 --- !u!1 &5988159118627703275 @@ -8179,6 +8132,63 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &7380007871185212689 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 738467460505531434} + - component: {fileID: 920502940108507811} + m_Layer: 0 + m_Name: Story + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &738467460505531434 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7380007871185212689} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3.5, y: 3.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2327696661996667804} + - {fileID: 7022477793167285501} + - {fileID: 8086662841372816991} + - {fileID: 5542312890775929452} + m_Father: {fileID: 5813499711186931250} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &920502940108507811 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7380007871185212689} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: c5d1d2b63f1260746b9de9893f507dd8, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1 &7449113960255827625 GameObject: m_ObjectHideFlags: 0 @@ -8453,54 +8463,6 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!1 &8021092099866450225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3150862288141982050} - - component: {fileID: 8573860549249418625} - m_Layer: 0 - m_Name: Point 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3150862288141982050 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8021092099866450225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.5, y: -12.1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6329961769281807094} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8573860549249418625 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8021092099866450225} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 4010886351829930261} - handleType: 0 - leftHandleLocalPosition: {x: -0.45544052, y: 8.296009, z: 0} - rightHandleLocalPosition: {x: 0.45544052, y: -8.296009, z: -0} --- !u!1 &8074909055883004200 GameObject: m_ObjectHideFlags: 0 @@ -8869,7 +8831,7 @@ Transform: m_Father: {fileID: 5813499711186931250} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8671544535564718561 +--- !u!1 &8505445658133806794 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8877,46 +8839,82 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5421637543485503317} - - component: {fileID: 3229741095474240392} + - component: {fileID: 5542312890775929452} + - component: {fileID: 990407939518390229} m_Layer: 0 - m_Name: Point 0 + m_Name: heart_1 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &5421637543485503317 +--- !u!4 &5542312890775929452 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8671544535564718561} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.5, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 8505445658133806794} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.1699996, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 6329961769281807094} - m_RootOrder: 0 + m_Father: {fileID: 738467460505531434} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3229741095474240392 -MonoBehaviour: +--- !u!212 &990407939518390229 +SpriteRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8671544535564718561} + m_GameObject: {fileID: 8505445658133806794} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b0cca3244f403c24f819a870f31cdc29, type: 3} - m_Name: - m_EditorClassIdentifier: - curve: {fileID: 4010886351829930261} - handleType: 0 - leftHandleLocalPosition: {x: -0.29808784, y: -4.615514, z: -0} - rightHandleLocalPosition: {x: 0.29808784, y: 4.615514, z: 0} + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + 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: 5976689506463430472, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.58, y: 0.7} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &9061361398430418040 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sfx/games/blueBear/whiff.wav b/Assets/Resources/Sfx/games/blueBear/whiff.wav new file mode 100644 index 000000000..5c6bbd899 Binary files /dev/null and b/Assets/Resources/Sfx/games/blueBear/whiff.wav differ diff --git a/Assets/Resources/Sfx/games/blueBear/whiff.wav.meta b/Assets/Resources/Sfx/games/blueBear/whiff.wav.meta new file mode 100644 index 000000000..f297b90b7 --- /dev/null +++ b/Assets/Resources/Sfx/games/blueBear/whiff.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: b570a8e729c2e6c47bfe22048bcc0e8c +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: ctrbear/common + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim new file mode 100644 index 000000000..c4b7ccc80 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim @@ -0,0 +1,784 @@ +%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: Breakup + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.211, y: 0.642, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.211, y: 0.642, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.075, y: 0.691, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.075, y: 0.691, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: breakup_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -0.218, y: 0.965, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -0.218, y: 0.965, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: heart_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.11999999, y: 0.968, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0.11999999, y: 0.968, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: heart_1 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_1 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: breakup_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 4926946401552112880, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 661517522 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1349174340 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2647104329 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2647104329 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1349174340 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 661517522 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: + - {fileID: 4926946401552112880, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_1 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: breakup_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.211 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.211 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.642 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.642 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.075 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.075 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.691 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.691 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.218 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -0.218 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.965 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.965 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.11999999 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.11999999 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: heart_1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.968 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.968 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: heart_1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: heart_1 + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim.meta new file mode 100644 index 000000000..da28a5393 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Breakup.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 797680465f4f5aa4090dd8b10f533fe7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim new file mode 100644 index 000000000..174a162d8 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim @@ -0,0 +1,784 @@ +%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: BreakupExit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.075, y: 0.691, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: -2.0059996, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -2.0779998, y: 0.691, z: 0} + inSlope: {x: -2.0059996, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: breakup_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.035, y: 0.687, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 2.042, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 2.056, y: 0.687, z: 0} + inSlope: {x: 2.042, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -0.218, y: 0.965, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: -2.006, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.221, y: 0.965, z: 0} + inSlope: {x: -2.006, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: heart_0 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.11999999, y: 0.968, z: 0} + inSlope: {x: -0, y: -0, z: -0} + outSlope: {x: 2.042, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.141, y: 0.968, z: 0} + inSlope: {x: 2.042, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: heart_1 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: breakup_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_1 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 5985396924984988805, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 2647104329 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1349174340 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 661517522 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2647104329 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1349174340 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 661517522 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 5985396924984988805, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.075 + inSlope: -0 + outSlope: -2.0059996 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -2.0779998 + inSlope: -2.0059996 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.691 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.691 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: breakup_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: breakup_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.035 + inSlope: -0 + outSlope: 2.042 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 2.056 + inSlope: 2.042 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.687 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.687 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.218 + inSlope: -0 + outSlope: -2.006 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.221 + inSlope: -2.006 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.965 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.965 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: heart_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.11999999 + inSlope: -0 + outSlope: 2.042 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.141 + inSlope: 2.042 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: heart_1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.968 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.968 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: heart_1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: heart_1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: heart_1 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim.meta new file mode 100644 index 000000000..ac1192e8f --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/BreakupExit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d271b49b1524d5e49aa8100652eb7839 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim new file mode 100644 index 000000000..ee9b9cb77 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim @@ -0,0 +1,247 @@ +%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: Flashback0 + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.992, y: 0.68, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.4, y: 0.68, z: 0} + inSlope: {x: -1.184, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -2108287193192392123, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -2108287193192392123, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.992 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.4 + inSlope: -1.184 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.68 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.68 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim.meta new file mode 100644 index 000000000..c823aacb3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4daeaa34cdb75d2458f116fdad44acd9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim new file mode 100644 index 000000000..8f7c9271f --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim @@ -0,0 +1,247 @@ +%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: Flashback0Exit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.258, y: 0.542, z: 0} + inSlope: {x: -1.4679999, y: -0, z: -0} + outSlope: {x: 0, y: 0.17200005, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.258, y: 0.628, z: 0} + inSlope: {x: -0, y: 0.17200005, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -2108287193192392123, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -2108287193192392123, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.258 + inSlope: -1.4679999 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.258 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.542 + inSlope: -0 + outSlope: 0.17200005 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.628 + inSlope: 0.17200005 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim.meta new file mode 100644 index 000000000..3e2e9a9c5 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback0Exit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a88a522ef4133f44ba92816dca3da83 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim new file mode 100644 index 000000000..d4551ca87 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim @@ -0,0 +1,247 @@ +%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: Flashback1 + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -2.34, y: 0.542, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.47, y: 0.542, z: 0} + inSlope: {x: 1.7399998, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 8573059910350240599, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 8573059910350240599, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -2.34 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.47 + inSlope: 1.7399998 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.542 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.542 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim.meta new file mode 100644 index 000000000..d198061c1 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2da046623a5603f4299e87d41dae21a2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim new file mode 100644 index 000000000..ca1e8e894 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim @@ -0,0 +1,247 @@ +%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: Flashback1Exit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.47, y: 0.542, z: 0} + inSlope: {x: 1.7399998, y: -0, z: -0} + outSlope: {x: 0, y: 0.646, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.47, y: 0.865, z: 0} + inSlope: {x: -0, y: 0.646, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 8573059910350240599, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 8573059910350240599, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.47 + inSlope: 1.7399998 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.47 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.542 + inSlope: -0 + outSlope: 0.646 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.865 + inSlope: 0.646 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: -2 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim.meta new file mode 100644 index 000000000..24dfb95ec --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback1Exit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 788c6e5cf38f859428901e9cbdb39ab6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim new file mode 100644 index 000000000..e706389a7 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim @@ -0,0 +1,247 @@ +%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: Flashback2 + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.992, y: 0.68, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.654, y: 0.68, z: 0} + inSlope: {x: -0.6759999, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 2696792977050154303, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 2696792977050154303, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.992 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.654 + inSlope: -0.6759999 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.68 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.68 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim.meta new file mode 100644 index 000000000..e4dc07b90 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edec92ae501ae634b820cdb82f1cf948 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim new file mode 100644 index 000000000..9f646378e --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim @@ -0,0 +1,247 @@ +%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: Flashback2Exit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.654, y: 0.68, z: 0} + inSlope: {x: -0.6759999, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 1.654, y: 0.84, z: 0} + inSlope: {x: -0, y: 0.31999993, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 2696792977050154303, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 2696792977050154303, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.654 + inSlope: -0.6759999 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1.654 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.68 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.84 + inSlope: 0.31999993 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim.meta new file mode 100644 index 000000000..766b42d22 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback2Exit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7423a62de5b1094489bbb198b96007a2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim new file mode 100644 index 000000000..779a1cc81 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim @@ -0,0 +1,247 @@ +%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: Flashback3 + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -2.34, y: 0.75, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.47, y: 0.75, z: 0} + inSlope: {x: 1.7399998, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 1781146796981568741, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 1781146796981568741, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -2.34 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.47 + inSlope: 1.7399998 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.75 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.75 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim.meta new file mode 100644 index 000000000..386ddbb5a --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a01468c32944bf4eb180639c880229e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim new file mode 100644 index 000000000..74480089a --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim @@ -0,0 +1,247 @@ +%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: Flashback3Exit + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.47, y: 0.75, z: 0} + inSlope: {x: 1.7399998, y: -0, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: -1.47, y: 0.865, z: 0} + inSlope: {x: -0, y: 0.23000002, z: -0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: flashback_0 + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 1781146796981568741, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + attribute: m_Sprite + path: flashback_0 + 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: 1579611592 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 304273561 + script: {fileID: 0} + typeID: 212 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1579611592 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 1781146796981568741, guid: c543b7dbb3dbe364c956f857dc4004fb, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.47 + inSlope: 1.7399998 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -1.47 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.75 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.865 + inSlope: 0.23000002 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: flashback_0 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: -2 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: flashback_0 + classID: 212 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim.meta new file mode 100644 index 000000000..09113793b --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Flashback3Exit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe3619e67755718478c02b31702cb054 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/NoCrumbs.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoCrumbs.anim index b868528ff..346df7dfd 100644 --- a/Assets/Resources/Sprites/Games/BlueBear/Animations/NoCrumbs.anim +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoCrumbs.anim @@ -36,7 +36,7 @@ AnimationClip: m_Level: 0 m_CycleOffset: 0 m_HasAdditiveReferencePose: 0 - m_LoopTime: 1 + m_LoopTime: 0 m_LoopBlend: 0 m_LoopBlendOrientation: 0 m_LoopBlendPositionY: 0 diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/NoStory.anim b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoStory.anim new file mode 100644 index 000000000..4d493d400 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoStory.anim @@ -0,0 +1,53 @@ +%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: NoStory + 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: [] + 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: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + 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/BlueBear/Animations/NoStory.anim.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoStory.anim.meta new file mode 100644 index 000000000..b1ae41ec3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/NoStory.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1a73e9c4d8cc0842888955ca7b474ab +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller b/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller new file mode 100644 index 000000000..c09020aff --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller @@ -0,0 +1,362 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-8436496043841364663 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback2Exit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 7423a62de5b1094489bbb198b96007a2, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-7860832115615231655 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Breakup + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 797680465f4f5aa4090dd8b10f533fe7, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-7370848405885533553 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback3 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 0a01468c32944bf4eb180639c880229e, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-3053588396012558013 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback3Exit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: fe3619e67755718478c02b31702cb054, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-2121041480234976651 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback1 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 2da046623a5603f4299e87d41dae21a2, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-458261816836722256 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BreakupExit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: d271b49b1524d5e49aa8100652eb7839, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-82805575723182232 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoStory + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: a1a73e9c4d8cc0842888955ca7b474ab, 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: Story + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 3614379388069892977} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &2218053776744929353 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback2 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: edec92ae501ae634b820cdb82f1cf948, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &3614379388069892977 +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: -82805575723182232} + m_Position: {x: 200, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: 5095526346417415248} + m_Position: {x: 235, y: 65, z: 0} + - serializedVersion: 1 + m_State: {fileID: 4126245315160247282} + m_Position: {x: 270, y: 130, z: 0} + - serializedVersion: 1 + m_State: {fileID: -2121041480234976651} + m_Position: {x: 305, y: 195, z: 0} + - serializedVersion: 1 + m_State: {fileID: 5052826165505474210} + m_Position: {x: 340, y: 260, z: 0} + - serializedVersion: 1 + m_State: {fileID: 2218053776744929353} + m_Position: {x: 375, y: 325, z: 0} + - serializedVersion: 1 + m_State: {fileID: -8436496043841364663} + m_Position: {x: 410, y: 390, z: 0} + - serializedVersion: 1 + m_State: {fileID: -7370848405885533553} + m_Position: {x: 445, y: 455, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3053588396012558013} + m_Position: {x: 480, y: 520, z: 0} + - serializedVersion: 1 + m_State: {fileID: -7860832115615231655} + m_Position: {x: 515, y: 585, z: 0} + - serializedVersion: 1 + m_State: {fileID: -458261816836722256} + m_Position: {x: 550, y: 650, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -82805575723182232} +--- !u!1102 &4126245315160247282 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback0Exit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 9a88a522ef4133f44ba92816dca3da83, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &5052826165505474210 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback1Exit + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 788c6e5cf38f859428901e9cbdb39ab6, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &5095526346417415248 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flashback0 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 4daeaa34cdb75d2458f116fdad44acd9, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller.meta b/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller.meta new file mode 100644 index 000000000..d6fcc8d16 --- /dev/null +++ b/Assets/Resources/Sprites/Games/BlueBear/Animations/Story.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5d1d2b63f1260746b9de9893f507dd8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Conductor.cs b/Assets/Scripts/Conductor.cs index b54650b3b..5b450d8ce 100644 --- a/Assets/Scripts/Conductor.cs +++ b/Assets/Scripts/Conductor.cs @@ -76,12 +76,10 @@ namespace HeavenStudio // Conductor is currently paused, but not fully stopped public bool isPaused; - // Last reported beat based on song position - private double lastReportedBeat = 0f; - // Metronome tick sound enabled public bool metronome = false; Util.Sound metronomeSound; + private int _metronomeTally = 0; // pitch values private float timelinePitch = 1f; @@ -208,6 +206,7 @@ namespace HeavenStudio songPosBeat = GetBeatFromSongPos(time); startBeat = songPosBeat; + _metronomeTally = 0; startTime = DateTime.Now; absTimeAdjust = 0; @@ -368,13 +367,10 @@ namespace HeavenStudio { if (metronome && isPlaying) { - if (ReportBeat(ref lastReportedBeat)) + if (songPositionInBeatsAsDouble >= Math.Ceiling(startBeat) + _metronomeTally) { - metronomeSound = Util.SoundByte.PlayOneShot("metronome", lastReportedBeat); - } - else if (songPositionInBeats < lastReportedBeat) - { - lastReportedBeat = Mathf.Round(songPositionInBeats); + metronomeSound = Util.SoundByte.PlayOneShot("metronome", Math.Ceiling(startBeat) + _metronomeTally); + _metronomeTally++; } } else @@ -387,6 +383,7 @@ namespace HeavenStudio } } + [Obsolete("Conductor.ReportBeat is deprecated. Please use the OnBeatPulse callback instead.")] public bool ReportBeat(ref double lastReportedBeat, double offset = 0, bool shiftBeatToOffset = true) { bool result = songPositionInBeats + (shiftBeatToOffset ? offset : 0f) >= (lastReportedBeat) + 1f; diff --git a/Assets/Scripts/GameCamera.cs b/Assets/Scripts/GameCamera.cs index 638f33e86..56257bd5b 100644 --- a/Assets/Scripts/GameCamera.cs +++ b/Assets/Scripts/GameCamera.cs @@ -38,15 +38,42 @@ namespace HeavenStudio /** camera's current transformation **/ - private static Vector3 position; - private static Vector3 rotEluer; - private static Vector3 shakeResult; + private static Vector3 _position; + private static Vector3 Position + { + get => _position; + set + { + _position = value; + instance.ApplyCameraValues(); + } + } + private static Vector3 _rotEuler; + private static Vector3 RotEuler + { + get => _rotEuler; + set + { + _rotEuler = value; + instance.ApplyCameraValues(); + } + } + private static Vector3 _shakeResult; + private static Vector3 ShakeResult + { + get => _shakeResult; + set + { + _shakeResult = value; + instance.ApplyCameraValues(); + } + } /** camera's last transformation **/ private static Vector3 positionLast; - private static Vector3 rotEluerLast; + private static Vector3 rotEulerLast; private static Vector3 shakeLast; /** @@ -54,10 +81,46 @@ namespace HeavenStudio to use in minigame scripts (Spaceball, Rhythm Rally, Built to Scale, etc.) and NOT in the editor **/ - public static Vector3 additionalPosition; - public static Vector3 additionalRotEluer; - public static Vector3 additionalScale; - public static float additionalFoV; + private static Vector3 _additionalPosition; + public static Vector3 AdditionalPosition + { + get => _additionalPosition; + set + { + _additionalPosition = value; + instance.ApplyCameraValues(); + } + } + private static Vector3 _additionalRotEuler; + public static Vector3 AdditionalRotEuler + { + get => _additionalRotEuler; + set + { + _additionalRotEuler = value; + instance.ApplyCameraValues(); + } + } + private static Vector3 _additionalScale; + public static Vector3 AdditionalScale + { + get => _additionalScale; + set + { + _additionalScale = value; + instance.ApplyCameraValues(); + } + } + private static float _additionalFoV; + public static float AdditionalFoV + { + get => _additionalFoV; + set + { + _additionalFoV = value; + instance.ApplyCameraValues(); + } + } [Header("Components")] public Color baseColor; @@ -80,7 +143,7 @@ namespace HeavenStudio currentColor = baseColor; positionLast = defaultPosition; - rotEluerLast = defaultRotEluer; + rotEulerLast = defaultRotEluer; } public void OnBeatChanged(double beat) @@ -90,7 +153,7 @@ namespace HeavenStudio currentColor = baseColor; positionLast = defaultPosition; - rotEluerLast = defaultRotEluer; + rotEulerLast = defaultRotEluer; // this entire thing is a mess redo it later //pos @@ -127,15 +190,21 @@ namespace HeavenStudio private void LateUpdate() { Camera cam = GetCamera(); - // rotate position by additional rotation - Vector3 userPos = Quaternion.Euler(additionalRotEluer) * position; - cam.transform.localPosition = userPos + additionalPosition + shakeResult; - cam.transform.eulerAngles = rotEluer + additionalRotEluer; - cam.fieldOfView = additionalFoV; cam.backgroundColor = currentColor; if (!StaticCamera.instance.usingMinigameAmbientColor) StaticCamera.instance.SetAmbientGlowColour(currentColor, false, false); } + private void ApplyCameraValues() + { + Camera cam = GetCamera(); + // rotate position by additional rotation + Vector3 userPos = Quaternion.Euler(_additionalRotEuler) * _position; + cam.transform.localPosition = userPos + _additionalPosition + _shakeResult; + cam.transform.eulerAngles = _rotEuler + _additionalRotEuler; + cam.fieldOfView = _additionalFoV; + //Debug.Log("Camera Pos: " + _additionalPosition); + } + private void UpdateCameraColor() { foreach (var e in colorEvents) @@ -168,19 +237,19 @@ namespace HeavenStudio switch (e["axis"]) { case (int) CameraAxis.X: - position.x = func(positionLast.x, e["valA"], Mathf.Min(prog, 1f)); + Position = new Vector3(func(positionLast.x, e["valA"], Mathf.Min(prog, 1f)), Position.y, Position.z); break; case (int) CameraAxis.Y: - position.y = func(positionLast.y, e["valB"], Mathf.Min(prog, 1f)); + Position = new Vector3(Position.x, func(positionLast.y, e["valB"], Mathf.Min(prog, 1f)), Position.z); break; case (int) CameraAxis.Z: - position.z = func(positionLast.z, -e["valC"], Mathf.Min(prog, 1f)); + Position = new Vector3(Position.x, Position.y, func(positionLast.z, -e["valC"], Mathf.Min(prog, 1f))); break; default: float dx = func(positionLast.x, e["valA"], Mathf.Min(prog, 1f)); float dy = func(positionLast.y, e["valB"], Mathf.Min(prog, 1f)); float dz = func(positionLast.z, -e["valC"], Mathf.Min(prog, 1f)); - position = new Vector3(dx, dy, dz); + Position = new Vector3(dx, dy, dz); break; } } @@ -216,19 +285,19 @@ namespace HeavenStudio switch (e["axis"]) { case (int) CameraAxis.X: - rotEluer.x = func(rotEluerLast.x, e["valA"], Mathf.Min(prog, 1f)); + RotEuler = new Vector3(func(rotEulerLast.x, e["valA"], Mathf.Min(prog, 1f)), RotEuler.y, RotEuler.z); break; case (int) CameraAxis.Y: - rotEluer.y = func(rotEluerLast.y, e["valB"], Mathf.Min(prog, 1f)); + RotEuler = new Vector3(RotEuler.x, func(rotEulerLast.y, e["valB"], Mathf.Min(prog, 1f)), RotEuler.z); break; case (int) CameraAxis.Z: - rotEluer.z = func(rotEluerLast.z, -e["valC"], Mathf.Min(prog, 1f)); + RotEuler = new Vector3(RotEuler.x, RotEuler.y, func(rotEulerLast.z, -e["valC"], Mathf.Min(prog, 1f))); break; default: - float dx = func(rotEluerLast.x, e["valA"], Mathf.Min(prog, 1f)); - float dy = func(rotEluerLast.y, e["valB"], Mathf.Min(prog, 1f)); - float dz = func(rotEluerLast.z, -e["valC"], Mathf.Min(prog, 1f)); - rotEluer = new Vector3(dx, dy, dz); //I'm stupid and forgot to negate the rotation gfd 😢 + float dx = func(rotEulerLast.x, e["valA"], Mathf.Min(prog, 1f)); + float dy = func(rotEulerLast.y, e["valB"], Mathf.Min(prog, 1f)); + float dz = func(rotEulerLast.z, -e["valC"], Mathf.Min(prog, 1f)); + RotEuler = new Vector3(dx, dy, dz); //I'm stupid and forgot to negate the rotation gfd 😢 break; } } @@ -237,19 +306,19 @@ namespace HeavenStudio switch (e["axis"]) { case (int) CameraAxis.X: - rotEluerLast.x = e["valA"]; + rotEulerLast.x = e["valA"]; break; case (int) CameraAxis.Y: - rotEluerLast.y = e["valB"]; + rotEulerLast.y = e["valB"]; break; case (int) CameraAxis.Z: - rotEluerLast.z = -e["valC"]; + rotEulerLast.z = -e["valC"]; break; default: - rotEluerLast = new Vector3(e["valA"], e["valB"], -e["valC"]); + rotEulerLast = new Vector3(e["valA"], e["valB"], -e["valC"]); break; } - rotEluerLast = new Vector3(e["valA"], e["valB"], -e["valC"]); + rotEulerLast = new Vector3(e["valA"], e["valB"], -e["valC"]); } } } @@ -262,27 +331,27 @@ namespace HeavenStudio if (prog >= 0f) { float fac = Mathf.Cos(Time.time * 80f) * 0.5f; - shakeResult = new Vector3(fac * e["valA"], fac * e["valB"]); + ShakeResult = new Vector3(fac * e["valA"], fac * e["valB"]); } if (prog > 1f) { - shakeResult = new Vector3(0, 0); + ShakeResult = new Vector3(0, 0); } } } public static void ResetTransforms() { - position = defaultPosition; - rotEluer = defaultRotEluer; - shakeResult = defaultShake; + Position = defaultPosition; + RotEuler = defaultRotEluer; + ShakeResult = defaultShake; } public static void ResetAdditionalTransforms() { - additionalPosition = new Vector3(0, 0, 0); - additionalRotEluer = new Vector3(0, 0, 0); - additionalFoV = defaultFoV; + AdditionalPosition = new Vector3(0, 0, 0); + AdditionalRotEuler = new Vector3(0, 0, 0); + AdditionalFoV = defaultFoV; } public static Camera GetCamera() diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 3c8445b67..aaf494fd5 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -47,6 +47,7 @@ namespace HeavenStudio [NonSerialized] public bool playOnStart; [NonSerialized] public double startBeat; [NonSerialized] public GameObject currentGameO; + private Minigame _currentMinigame; [NonSerialized] public bool autoplay; [NonSerialized] public bool canInput = true; [NonSerialized] public RiqEntity currentSection, nextSection; @@ -70,6 +71,7 @@ namespace HeavenStudio public event Action onBeatChanged; public event Action onSectionChange; + public event Action onBeatPulse; public int BeatmapEntities() { @@ -492,6 +494,13 @@ namespace HeavenStudio } } + if (cond.songPositionInBeatsAsDouble >= Math.Ceiling(_playStartBeat) + _pulseTally) + { + if (_currentMinigame != null) _currentMinigame.OnBeatPulse(Math.Ceiling(_playStartBeat) + _pulseTally); + onBeatPulse?.Invoke(Math.Ceiling(_playStartBeat) + _pulseTally); + _pulseTally++; + } + float seekTime = 8f; //seek ahead to preload games that have assetbundles SeekAheadAndPreload(cond.songPositionInBeatsAsDouble, seekTime); @@ -579,10 +588,15 @@ namespace HeavenStudio #region Play Events + private double _playStartBeat = 0; + private int _pulseTally = 0; + public void Play(double beat, float delay = 0f) { bool paused = Conductor.instance.isPaused; Debug.Log("Playing at " + beat); + _playStartBeat = beat; + _pulseTally = 0; canInput = true; if (!paused) { @@ -604,7 +618,7 @@ namespace HeavenStudio } StartCoroutine(PlayCo(beat, delay)); - onBeatChanged?.Invoke(beat); + //onBeatChanged?.Invoke(beat); } private IEnumerator PlayCo(double beat, float delay = 0f) @@ -651,7 +665,7 @@ namespace HeavenStudio Conductor.instance.Stop(beat); SetCurrentEventToClosest(beat); - onBeatChanged?.Invoke(beat); + //onBeatChanged?.Invoke(beat); // I feel like I should standardize the names SkillStarManager.instance.KillStar(); @@ -950,15 +964,19 @@ namespace HeavenStudio private void SetGame(string game, bool useMinigameColor = true) { + ResetCamera(); // resetting camera before setting new minigame so minigames can set camera values in their awake call - Rasmus + Destroy(currentGameO); currentGameO = Instantiate(GetGame(game)); + if (currentGameO.TryGetComponent(out var minigame)) + { + _currentMinigame = minigame; + } currentGameO.transform.parent = eventCaller.GamesHolder.transform; currentGameO.name = game; SetCurrentGame(game, useMinigameColor); - - ResetCamera(); } public void PreloadGameSequences(string game) diff --git a/Assets/Scripts/Games/BlueBear/BlueBear.cs b/Assets/Scripts/Games/BlueBear/BlueBear.cs index 71afcbf05..3d908c539 100644 --- a/Assets/Scripts/Games/BlueBear/BlueBear.cs +++ b/Assets/Scripts/Games/BlueBear/BlueBear.cs @@ -17,21 +17,31 @@ namespace HeavenStudio.Games.Loaders { new GameAction("donut", "Donut") { - function = delegate { BlueBear.instance.SpawnTreat(eventCaller.currentEntity.beat, false); }, + preFunction = delegate { BlueBear.TreatSound(eventCaller.currentEntity.beat, false); }, + function = delegate { BlueBear.instance.SpawnTreat(eventCaller.currentEntity.beat, false, eventCaller.currentEntity.beat); }, defaultLength = 3, }, new GameAction("cake", "Cake") { - function = delegate { BlueBear.instance.SpawnTreat(eventCaller.currentEntity.beat, true); }, + preFunction = delegate { BlueBear.TreatSound(eventCaller.currentEntity.beat, true); }, + function = delegate { BlueBear.instance.SpawnTreat(eventCaller.currentEntity.beat, true, eventCaller.currentEntity.beat); }, defaultLength = 4, }, - new GameAction("setEmotion", "Set Emotion") + new GameAction("setEmotion", "Emotion") { - function = delegate { var e = eventCaller.currentEntity; BlueBear.instance.SetEmotion(e.beat, e.length, e["type"]); }, - defaultLength = 0.5f, + function = delegate { var e = eventCaller.currentEntity; BlueBear.instance.SetEmotion(e["type"]); }, parameters = new List() { - new Param("type", BlueBear.EmotionType.ClosedEyes, "Type", "Which emotion should the blue bear use?") + new Param("type", BlueBear.EmotionType.ClosedEyes, "Emotion", "Which emotion should the blue bear use?") + } + }, + new GameAction("stretchEmotion", "Long Emotion") + { + defaultLength = 4, + resizable = true, + parameters = new List() + { + new Param("type", BlueBear.EmotionStretchType.LookUp, "Emotion", "Which emotion should the blue bear use?") } }, new GameAction("wind", "Wind") @@ -39,6 +49,16 @@ namespace HeavenStudio.Games.Loaders function = delegate { BlueBear.instance.Wind(); }, defaultLength = 0.5f }, + new GameAction("story", "Story") + { + defaultLength = 4, + parameters = new List() + { + new Param("story", BlueBear.StoryType.Date, "Story"), + new Param("enter", true, "Enter") + }, + resizable = true + }, new GameAction("crumb", "Set Crumb Threshold") { function = delegate { var e = eventCaller.currentEntity; BlueBear.instance.SetCrumbThreshold(e["right"], e["left"], e["reset"]); }, @@ -61,18 +81,31 @@ namespace HeavenStudio.Games.Loaders namespace HeavenStudio.Games { + using Jukebox; using Scripts_BlueBear; + public class BlueBear : Minigame { public enum EmotionType { - Neutral, - ClosedEyes, - LookUp, - Smile, - Sad, - InstaSad, - Sigh + Neutral = 0, + ClosedEyes = 1, + Cry = 2, + Sigh = 3 + } + public enum EmotionStretchType + { + LookUp = 0, + Smile = 1, + StartCrying = 2, + } + public enum StoryType + { + Date, + Gift, + Girl, + Eat, + BreakUp } [Header("Animators")] public Animator headAndBodyAnim; // Head and body @@ -84,6 +117,7 @@ namespace HeavenStudio.Games [Header("References")] [SerializeField] GameObject leftCrumb; [SerializeField] GameObject rightCrumb; + [SerializeField] private Animator _storyAnim; public GameObject donutBase; public GameObject cakeBase; public GameObject crumbsBase; @@ -92,17 +126,12 @@ namespace HeavenStudio.Games public GameObject individualBagHolder; [Header("Variables")] - static int rightCrumbAppearThreshold = 15; - static int leftCrumbAppearThreshold = 30; - static int eatenTreats = 0; - double emotionStartBeat; - float emotionLength; - string emotionAnimName; + private int rightCrumbAppearThreshold = 15; + private int leftCrumbAppearThreshold = 30; + private int eatenTreats = 0; bool crying; - - [Header("Curves")] - public BezierCurve3D donutCurve; - public BezierCurve3D cakeCurve; + private List _allStoryEvents = new(); + [SerializeField] private SuperCurveObject.Path[] _treatCurves; [Header("Gradients")] public Gradient donutGradient; @@ -167,66 +196,232 @@ namespace HeavenStudio.Games new("CtrBearRight", new int[] { IARight, IARight, IARight }, IA_PadRight, IA_TouchRight, IA_BatonRight); + // Editor gizmo to draw trajectories + new void OnDrawGizmos() + { + base.OnDrawGizmos(); + foreach (SuperCurveObject.Path path in _treatCurves) + { + if (path.preview) + { + donutBase.GetComponent().DrawEditorGizmo(path); + } + } + } + + public SuperCurveObject.Path GetPath(string name) + { + foreach (SuperCurveObject.Path path in _treatCurves) + { + if (path.name == name) + { + return path; + } + } + return default(SuperCurveObject.Path); + } + void OnDestroy() { - if (Conductor.instance.isPlaying || Conductor.instance.isPaused) return; - rightCrumbAppearThreshold = 15; - leftCrumbAppearThreshold = 30; - eatenTreats = 0; foreach (var evt in scheduledInputs) { evt.Disable(); } + if (Conductor.instance.isPlaying || Conductor.instance.isPaused) return; + rightCrumbAppearThreshold = 15; + leftCrumbAppearThreshold = 30; + eatenTreats = 0; } private void Awake() { instance = this; - if (Conductor.instance.isPlaying || Conductor.instance.isPaused) EatTreat(true); + _allStoryEvents = EventCaller.GetAllInGameManagerList("blueBear", new string[] { "story" }); + UpdateStory(); + } + + private int _storyIndex = 0; + + private void UpdateStory() + { + var cond = Conductor.instance; + + if (_storyIndex >= _allStoryEvents.Count) return; + + var currentStory = _allStoryEvents[_storyIndex]; + + if (cond.songPositionInBeatsAsDouble >= currentStory.beat + currentStory.length && _storyIndex + 1 != _allStoryEvents.Count) + { + _storyIndex++; + UpdateStory(); + return; + } + + float normalizedBeat = Mathf.Clamp01(cond.GetPositionFromBeat(currentStory.beat, currentStory.length)); + + bool enter = currentStory["enter"]; + + switch (currentStory["story"]) + { + case (int)StoryType.Date: + _storyAnim.DoNormalizedAnimation(enter ? "Flashback0" : "Flashback0Exit", normalizedBeat); + break; + case (int)StoryType.Gift: + _storyAnim.DoNormalizedAnimation(enter ? "Flashback1" : "Flashback1Exit", normalizedBeat); + break; + case (int)StoryType.Girl: + _storyAnim.DoNormalizedAnimation(enter ? "Flashback2" : "Flashback2Exit", normalizedBeat); + break; + case (int)StoryType.Eat: + _storyAnim.DoNormalizedAnimation(enter ? "Flashback3" : "Flashback3Exit", normalizedBeat); + break; + default: + _storyAnim.DoNormalizedAnimation(enter ? "Breakup" : "BreakupExit", normalizedBeat); + break; + } } private void Update() { headAndBodyAnim.SetBool("ShouldOpenMouth", foodHolder.childCount != 0); + if (headAndBodyAnim.GetBool("ShouldOpenMouth")) + { + _emotionCancelled = true; + } if (PlayerInput.GetIsAction(InputAction_Left) && !IsExpectingInputNow(InputAction_Left.inputLockCategory)) { + SoundByte.PlayOneShotGame("blueBear/whiff", -1, SoundByte.GetPitchFromSemiTones(UnityEngine.Random.Range(-1, 2), false)); Bite(true); } else if (PlayerInput.GetIsAction(InputAction_Right) && !IsExpectingInputNow(InputAction_Right.inputLockCategory)) { + SoundByte.PlayOneShotGame("blueBear/whiff", -1, SoundByte.GetPitchFromSemiTones(UnityEngine.Random.Range(-1, 2), false)); Bite(false); } - Conductor cond = Conductor.instance; + UpdateEmotions(); - if (cond.isPlaying && !cond.isPaused) + UpdateStory(); + headAndBodyAnim.SetScaledAnimationSpeed(); + bagsAnim.SetScaledAnimationSpeed(); + cakeBagAnim.SetScaledAnimationSpeed(); + donutBagAnim.SetScaledAnimationSpeed(); + windAnim.SetScaledAnimationSpeed(); + } + + private bool _emotionCancelled = false; + private int _emotionIndex = 0; + private List _allEmotionsStretch = new(); + private EmotionStretchType _lastEmotion = EmotionStretchType.LookUp; + + private void UpdateEmotions() + { + var cond = Conductor.instance; + if (_allEmotionsStretch.Count == 0 || _emotionIndex >= _allEmotionsStretch.Count) return; + + var beat = cond.songPositionInBeatsAsDouble; + + var e = _allEmotionsStretch[_emotionIndex]; + + if (beat > e.beat + e.length) { - float normalizedBeat = cond.GetPositionFromBeat(emotionStartBeat, emotionLength); - if (normalizedBeat >= 0 && normalizedBeat <= 1f) + _emotionIndex++; + _lastEmotion = (EmotionStretchType)_allEmotionsStretch[_emotionIndex - 1]["type"]; + crying = _lastEmotion == EmotionStretchType.StartCrying; + _emotionCancelled = false; + UpdateEmotions(); + return; + } + + if (beat >= e.beat && beat < e.beat + e.length && !_emotionCancelled) + { + _lastEmotion = (EmotionStretchType)e["type"]; + crying = _lastEmotion == EmotionStretchType.StartCrying; + float normalizedBeat = cond.GetPositionFromBeat(e.beat, e.length); + + string animName = (EmotionStretchType)e["type"] switch { - //headAndBodyAnim.DoNormalizedAnimation(emotionAnimName, normalizedBeat); + EmotionStretchType.LookUp => "OpenEyes", + EmotionStretchType.Smile => "Smile", + EmotionStretchType.StartCrying => "Sad", + _ => throw new NotImplementedException(), + }; + headAndBodyAnim.DoNormalizedAnimation(animName, normalizedBeat); + } + } + + private void HandleEmotions(double beat) + { + _allEmotionsStretch = EventCaller.GetAllInGameManagerList("blueBear", new string[] { "stretchEmotion" }); + if (_allEmotionsStretch.Count == 0) return; + UpdateEmotions(); + var allEmosBeforeBeat = EventCaller.GetAllInGameManagerList("blueBear", new string[] { "stretchEmotion" }).FindAll(x => x.beat < beat); + + if ((EmotionStretchType)allEmosBeforeBeat[^1]["type"] == EmotionStretchType.StartCrying) + { + headAndBodyAnim.DoScaledAnimationAsync("CryIdle", 0.5f); + } + else if ((EmotionStretchType)allEmosBeforeBeat[^1]["type"] == EmotionStretchType.Smile) + { + headAndBodyAnim.DoScaledAnimationAsync("SmileIdle", 0.5f); + } + } + + public override void OnPlay(double beat) + { + HandleTreatsOnStart(beat); + HandleEmotions(beat); + HandleCrumbs(beat); + } + + public override void OnGameSwitch(double beat) + { + HandleTreatsOnStart(beat); + HandleEmotions(beat); + HandleCrumbs(beat); + } + + private void HandleTreatsOnStart(double gameswitchBeat) + { + var allTreatEvents = EventCaller.GetAllInGameManagerList("blueBear", new string[] { "donut", "cake" }); + + foreach (var e in allTreatEvents) + { + if (e.beat + e.length - 1 > gameswitchBeat && e.beat < gameswitchBeat) + { + SpawnTreat(e.beat, e.datamodel == "blueBear/cake", gameswitchBeat); } } } public void Wind() { - windAnim.Play("Wind", 0, 0); + windAnim.DoScaledAnimationAsync("Wind", 0.5f); } public void Bite(bool left) { + _emotionCancelled = true; if (crying) { - headAndBodyAnim.Play(left ? "CryBiteL" : "CryBiteR", 0, 0); + headAndBodyAnim.DoScaledAnimationAsync(left ? "CryBiteL" : "CryBiteR", 0.5f); } else { - headAndBodyAnim.Play(left ? "BiteL" : "BiteR", 0, 0); + headAndBodyAnim.DoScaledAnimationAsync(left ? "BiteL" : "BiteR", 0.5f); } } + private void HandleCrumbs(double beat) + { + var allEventsBeforeBeat = EventCaller.GetAllInGameManagerList("blueBear", new string[] { "crumb" }).FindAll(x => x.beat < beat); + if (allEventsBeforeBeat.Count == 0) return; + var lastCrumbEvent = allEventsBeforeBeat[^1]; + SetCrumbThreshold(lastCrumbEvent["right"], lastCrumbEvent["left"], lastCrumbEvent["reset"]); + EatTreat(false); + } + public void SetCrumbThreshold(int rightThreshold, int leftThreshold, bool reset) { rightCrumbAppearThreshold = rightThreshold; @@ -234,9 +429,9 @@ namespace HeavenStudio.Games if (reset) eatenTreats = 0; } - public void EatTreat(bool onlyCheck = false) + public void EatTreat(bool appendTreats = true) { - if (!onlyCheck) eatenTreats++; + if (appendTreats) eatenTreats++; if (eatenTreats >= leftCrumbAppearThreshold) { leftCrumb.SetActive(true); @@ -268,58 +463,31 @@ namespace HeavenStudio.Games if (noDonutSquash && noCakeSquash) { squashing = false; - bagsAnim.Play("Idle", 0, 0); + bagsAnim.DoScaledAnimationAsync("Idle", 0.5f); } } } - public void SetEmotion(double beat, float length, int emotion) + public void SetEmotion(int emotion) { + _emotionCancelled = true; switch (emotion) { case (int)EmotionType.Neutral: - if (emotionAnimName == "Smile") - { - headAndBodyAnim.Play("StopSmile", 0, 0); - emotionAnimName = ""; - } - else - { - headAndBodyAnim.Play("Idle", 0, 0); - } + //check if smiling then play "StopSmile" + headAndBodyAnim.DoScaledAnimationAsync("Idle", 0.5f); crying = false; break; case (int)EmotionType.ClosedEyes: - headAndBodyAnim.Play("EyesClosed", 0, 0); + headAndBodyAnim.DoScaledAnimationAsync("EyesClosed", 0.5f); crying = false; break; - case (int)EmotionType.LookUp: - emotionStartBeat = beat; - emotionLength = length; - emotionAnimName = "OpenEyes"; - headAndBodyAnim.Play(emotionAnimName, 0, 0); - crying = false; - break; - case (int)EmotionType.Smile: - emotionStartBeat = beat; - emotionLength = length; - emotionAnimName = "Smile"; - headAndBodyAnim.Play(emotionAnimName, 0, 0); - crying = false; - break; - case (int)EmotionType.Sad: - emotionStartBeat = beat; - emotionLength = length; - emotionAnimName = "Sad"; - headAndBodyAnim.Play(emotionAnimName, 0, 0); - crying = true; - break; - case (int)EmotionType.InstaSad: - headAndBodyAnim.Play("CryIdle", 0, 0); + case (int)EmotionType.Cry: + headAndBodyAnim.DoScaledAnimationAsync("CryIdle", 0.5f); crying = true; break; case (int)EmotionType.Sigh: - headAndBodyAnim.Play("Sigh", 0, 0); + headAndBodyAnim.DoScaledAnimationAsync("Sigh", 0.5f); crying = false; break; default: @@ -327,36 +495,38 @@ namespace HeavenStudio.Games } } - public void SpawnTreat(double beat, bool isCake) + public void SpawnTreat(double beat, bool isCake, double gameSwitchBeat) { var objectToSpawn = isCake ? cakeBase : donutBase; var newTreat = GameObject.Instantiate(objectToSpawn, foodHolder); var treatComp = newTreat.GetComponent(); treatComp.startBeat = beat; - treatComp.curve = isCake ? cakeCurve : donutCurve; newTreat.SetActive(true); - SoundByte.PlayOneShotGame(isCake ? "blueBear/cake" : "blueBear/donut"); + if (beat >= gameSwitchBeat) SquashBag(isCake); + } - SquashBag(isCake); + public static void TreatSound(double beat, bool isCake) + { + SoundByte.PlayOneShot(isCake ? "games/blueBear/cake" : "games/blueBear/donut", beat); } public void SquashBag(bool isCake) { squashing = true; - bagsAnim.Play("Squashing", 0, 0); + bagsAnim.DoScaledAnimationAsync("Squashing", 0.5f); individualBagHolder.SetActive(true); if (isCake) { - cakeBagAnim.Play("CakeSquash", 0, 0); + cakeBagAnim.DoScaledAnimationAsync("CakeSquash", 0.5f); } else { - donutBagAnim.Play("DonutSquash", 0, 0); + donutBagAnim.DoScaledAnimationAsync("DonutSquash", 0.5f); } } } diff --git a/Assets/Scripts/Games/BlueBear/Treat.cs b/Assets/Scripts/Games/BlueBear/Treat.cs index dcc981892..5d5e3f872 100644 --- a/Assets/Scripts/Games/BlueBear/Treat.cs +++ b/Assets/Scripts/Games/BlueBear/Treat.cs @@ -8,17 +8,18 @@ using HeavenStudio.Util; namespace HeavenStudio.Games.Scripts_BlueBear { - public class Treat : MonoBehaviour + public class Treat : SuperCurveObject { - const float rotSpeed = 360f; + const float barelyDistX = 1.5f; + const float barelyDistY = -6f; + const float barelyHeight = 4f; + const float rotSpeed = 360f * 3; public bool isCake; public double startBeat; - - bool flying = true; double flyBeats; - [NonSerialized] public BezierCurve3D curve; + private Path path; private BlueBear game; @@ -30,33 +31,34 @@ namespace HeavenStudio.Games.Scripts_BlueBear private void Start() { flyBeats = isCake ? 3f : 2f; + Path pathToCopy = isCake ? game.GetPath("Cake") : game.GetPath("Donut"); + path = new(); + path.positions = new PathPos[2]; + path.positions[0].pos = pathToCopy.positions[0].pos; + path.positions[0].duration = pathToCopy.positions[0].duration; + path.positions[0].height = pathToCopy.positions[0].height; + path.positions[1].pos = pathToCopy.positions[1].pos; game.ScheduleInput(startBeat, flyBeats, isCake ? BlueBear.InputAction_Left : BlueBear.InputAction_Right, Just, Out, Out); + Update(); } private void Update() { - if (flying) + var cond = Conductor.instance; + transform.localPosition = GetPathPositionFromBeat(path, cond.songPositionInBeatsAsDouble, startBeat); + + float flyPos = cond.GetPositionFromBeat(startBeat, flyBeats); + if (flyPos > 2f) { - var cond = Conductor.instance; - - float flyPos = cond.GetPositionFromBeat(startBeat, flyBeats); - flyPos *= isCake ? 0.75f : 0.6f; - transform.position = curve.GetPoint(flyPos); - - if (flyPos > 1f) - { - Destroy(gameObject); - return; - } - - float rot = isCake ? rotSpeed : -rotSpeed; - transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + (rot * Time.deltaTime)); + Destroy(gameObject); + return; } + + float rot = isCake ? rotSpeed : -rotSpeed; + transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + (rot * Time.deltaTime * cond.pitchedSecPerBeat)); } void EatFood() { - flying = false; - if (isCake) { SoundByte.PlayOneShotGame("blueBear/chompCake"); @@ -71,28 +73,33 @@ namespace HeavenStudio.Games.Scripts_BlueBear SpawnCrumbs(); - GameObject.Destroy(gameObject); + Destroy(gameObject); } private void Just(PlayerActionEvent caller, float state) { if (state >= 1f || state <= -1f) - { //todo: proper near miss feedback + { + SoundByte.PlayOneShot("miss"); if (isCake) { - game.headAndBodyAnim.Play("BiteL", 0, 0); + game.headAndBodyAnim.DoScaledAnimationAsync("BiteL", 0, 0); } else { - game.headAndBodyAnim.Play("BiteR", 0, 0); + game.headAndBodyAnim.DoScaledAnimationAsync("BiteR", 0, 0); } + path.positions[0].pos = transform.localPosition; + path.positions[0].height = barelyHeight; + path.positions[0].duration = 1; + path.positions[1].pos = new Vector3(path.positions[0].pos.x + (isCake ? -barelyDistX : barelyDistX), path.positions[0].pos.y + barelyDistY); + startBeat = Conductor.instance.songPositionInBeatsAsDouble; + Update(); return; } EatFood(); } - private void Miss(PlayerActionEvent caller) { } - private void Out(PlayerActionEvent caller) { } void SpawnCrumbs() @@ -106,7 +113,7 @@ namespace HeavenStudio.Games.Scripts_BlueBear var newGradient = new ParticleSystem.MinMaxGradient(isCake ? game.cakeGradient : game.donutGradient); newGradient.mode = ParticleSystemGradientMode.RandomColor; main.startColor = newGradient; - ps.Play(); + ps.PlayScaledAsync(1); } } } diff --git a/Assets/Scripts/Games/BoardMeeting/BMExecutive.cs b/Assets/Scripts/Games/BoardMeeting/BMExecutive.cs index 560180489..6e4577760 100644 --- a/Assets/Scripts/Games/BoardMeeting/BMExecutive.cs +++ b/Assets/Scripts/Games/BoardMeeting/BMExecutive.cs @@ -22,6 +22,14 @@ namespace HeavenStudio.Games.Scripts_BoardMeeting game = BoardMeeting.instance; } + private void OnDestroy() + { + if (rollLoop != null) + { + rollLoop.Stop(); + } + } + public void Prepare() { if (spinning) return; @@ -78,7 +86,7 @@ namespace HeavenStudio.Games.Scripts_BoardMeeting public void Bop() { - if (!canBop || spinning || !anim.IsAnimationNotPlaying() || preparing) return; + if (!canBop || spinning || preparing) return; if (smileCounter > 0) { anim.DoScaledAnimationAsync("SmileBop", 0.5f); diff --git a/Assets/Scripts/Games/BoardMeeting/BoardMeeting.cs b/Assets/Scripts/Games/BoardMeeting/BoardMeeting.cs index 24c150a86..845e6d2c1 100644 --- a/Assets/Scripts/Games/BoardMeeting/BoardMeeting.cs +++ b/Assets/Scripts/Games/BoardMeeting/BoardMeeting.cs @@ -92,8 +92,8 @@ namespace HeavenStudio.Games public BMExecutive firstSpinner; [SerializeField] float shakeIntensity = 0.5f; public bool shouldBop = true; - bool assistantCanBop = true; - bool executivesCanBop = true; + private bool assistantCanBop = true; + private bool executivesCanBop = true; public GameEvent bop = new GameEvent(); [NonSerialized] public Sound chairLoopSound = null; int missCounter = 0; @@ -126,10 +126,6 @@ namespace HeavenStudio.Games if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1) && shouldBop) - { - SingleBop(); - } if (PlayerInput.GetIsAction(InputAction_BasicPressing) && !IsExpectingInputNow(InputAction_BasicPress.inputLockCategory)) { if (executives[executiveCount - 1].spinning) @@ -147,6 +143,12 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (!shouldBop) return; + SingleBop(); + } + void SingleBop() { if (assistantCanBop) @@ -431,7 +433,7 @@ namespace HeavenStudio.Games if (shakeTween != null) shakeTween.Kill(true); - DOTween.Punch(() => GameCamera.additionalPosition, x => GameCamera.additionalPosition = x, new Vector3(shakeIntensity, 0, 0), + DOTween.Punch(() => GameCamera.AdditionalPosition, x => GameCamera.AdditionalPosition = x, new Vector3(shakeIntensity, 0, 0), Conductor.instance.pitchedSecPerBeat * 0.5f, 18, 1f); executives[executiveCount - 1].Stop(); assistantAnim.DoScaledAnimationAsync("Stop", 0.5f); diff --git a/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs b/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs index 1cae968bf..74ffa8391 100644 --- a/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs +++ b/Assets/Scripts/Games/BuiltToScaleDS/BuiltToScaleDS.cs @@ -128,6 +128,10 @@ namespace HeavenStudio.Games { instance = this; + GameCamera.AdditionalPosition = camPos.position + (Quaternion.Euler(camPos.eulerAngles) * Vector3.forward * 10f); + GameCamera.AdditionalRotEuler = camPos.eulerAngles; + GameCamera.AdditionalFoV = cameraFoV; + environmentMaterials = environmentRenderer.materials; elevatorMaterials = elevatorRenderer.materials; beltMaterial = Instantiate(environmentMaterials[8]); @@ -191,13 +195,6 @@ namespace HeavenStudio.Games } } - private void Start() - { - GameCamera.additionalPosition = camPos.position + (Quaternion.Euler(camPos.eulerAngles) * Vector3.forward * 10f); - GameCamera.additionalRotEluer = camPos.eulerAngles; - GameCamera.additionalFoV = cameraFoV; - } - public void UpdateMappingColors(Color objectColor, Color shooterColor, Color environmentColor) { currentObjectColor = objectColor; diff --git a/Assets/Scripts/Games/CatchyTune/CatchyTune.cs b/Assets/Scripts/Games/CatchyTune/CatchyTune.cs index 9fca5387c..5f2503024 100644 --- a/Assets/Scripts/Games/CatchyTune/CatchyTune.cs +++ b/Assets/Scripts/Games/CatchyTune/CatchyTune.cs @@ -208,13 +208,13 @@ namespace HeavenStudio.Games // print("current beat: " + conductor.songPositionInBeatsAsDouble); if (stopCatchLeft > 0 && stopCatchLeft <= cond.songPositionInBeatsAsDouble) { - plalinAnim.Play("idle", 0, 0); + plalinAnim.DoScaledAnimationAsync("idle", 0.5f); stopCatchLeft = 0; } if (stopCatchRight > 0 && stopCatchRight <= cond.songPositionInBeatsAsDouble) { - alalinAnim.Play("idle", 0, 0); + alalinAnim.DoScaledAnimationAsync("idle", 0.5f); stopCatchRight = 0; } @@ -236,19 +236,6 @@ namespace HeavenStudio.Games heartMessage.SetActive(false); } - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (bopLeft && stopCatchLeft == 0) - { - plalinAnim.Play("bop", 0, 0); - } - - if (bopRight && stopCatchRight == 0) - { - alalinAnim.Play("bop", 0, 0); - } - } - if (PlayerInput.GetIsAction(InputAction_Left) && !IsExpectingInputNow(InputAction_Left.inputLockCategory)) { catchWhiff(false); @@ -260,6 +247,19 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (bopLeft && stopCatchLeft == 0) + { + plalinAnim.DoScaledAnimationAsync("bop", 0.5f); + } + + if (bopRight && stopCatchRight == 0) + { + alalinAnim.DoScaledAnimationAsync("bop", 0.5f); + } + } + public void DropFruit(double beat, int side, bool smile, bool isPineapple, float endSmile) { var objectToSpawn = isPineapple ? pineappleBase : orangeBase; @@ -344,23 +344,23 @@ namespace HeavenStudio.Games case (int)WhoBops.Plalin: if (stopCatchLeft == 0) { - plalinAnim.Play("bop", 0, 0); + plalinAnim.DoScaledAnimationAsync("bop", 0.5f); } break; case (int)WhoBops.Alalin: if (stopCatchRight == 0) { - alalinAnim.Play("bop", 0, 0); + alalinAnim.DoScaledAnimationAsync("bop", 0.5f); } break; case (int)WhoBops.Both: if (stopCatchRight == 0) { - alalinAnim.Play("bop", 0, 0); + alalinAnim.DoScaledAnimationAsync("bop", 0.5f); } if (stopCatchLeft == 0) { - plalinAnim.Play("bop", 0, 0); + plalinAnim.DoScaledAnimationAsync("bop", 0.5f); } break; default: @@ -374,12 +374,12 @@ namespace HeavenStudio.Games if (side) { - alalinAnim.Play(anim, 0, 0); + alalinAnim.DoScaledAnimationAsync(anim, 0.5f); stopCatchRight = beat + 0.9f; } else { - plalinAnim.Play(anim, 0, 0); + plalinAnim.DoScaledAnimationAsync(anim, 0.5f); stopCatchLeft = beat + 0.9f; } @@ -402,12 +402,12 @@ namespace HeavenStudio.Games if (side) { - alalinAnim.Play("miss" + fruitType, 0, 0); + alalinAnim.DoScaledAnimationAsync("miss" + fruitType, 0.5f); stopCatchRight = beat + 0.7f; } else { - plalinAnim.Play("miss" + fruitType, 0, 0); + plalinAnim.DoScaledAnimationAsync("miss" + fruitType, 0.5f); stopCatchLeft = beat + 0.7f; } } @@ -438,12 +438,12 @@ namespace HeavenStudio.Games if (side) { - alalinAnim.Play("whiff", 0, 0); + alalinAnim.DoScaledAnimationAsync("whiff", 0.5f); stopCatchRight = beat + 0.5f; } else { - plalinAnim.Play("whiff", 0, 0); + plalinAnim.DoScaledAnimationAsync("whiff", 0.5f); stopCatchLeft = beat + 0.5f; } } diff --git a/Assets/Scripts/Games/CheerReaders/CheerReaders.cs b/Assets/Scripts/Games/CheerReaders/CheerReaders.cs index 30ba378ad..0af61ec29 100644 --- a/Assets/Scripts/Games/CheerReaders/CheerReaders.cs +++ b/Assets/Scripts/Games/CheerReaders/CheerReaders.cs @@ -262,13 +262,15 @@ namespace HeavenStudio.Games UpdateCameraZoom(); } + public override void OnBeatPulse(double beat) + { + if (!shouldBop) return; + BopSingle(); + } + void Update() { var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1) && shouldBop) - { - BopSingle(); - } if (cond.isPlaying && !cond.isPaused) { @@ -290,39 +292,39 @@ namespace HeavenStudio.Games { if (normalizedZoomOutAgainBeat > 1) { - GameCamera.additionalPosition = new Vector3(0, 0, 0); + GameCamera.AdditionalPosition = new Vector3(0, 0, 0); } else { Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseInOutQuint); float newZoom = func(shouldDoSuccessZoom ? 4f : 1.5f, 0, normalizedZoomOutAgainBeat); - GameCamera.additionalPosition = new Vector3(0, 0, newZoom); + GameCamera.AdditionalPosition = new Vector3(0, 0, newZoom); } } else if (normalizedZoomInBeat >= 0) { if (normalizedZoomInBeat > 1) { - GameCamera.additionalPosition = new Vector3(0, 0, shouldDoSuccessZoom ? 4f : 1.5f); + GameCamera.AdditionalPosition = new Vector3(0, 0, shouldDoSuccessZoom ? 4f : 1.5f); } else { Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuint); float newZoom = func(-1, shouldDoSuccessZoom ? 4f : 1.5f, normalizedZoomInBeat); - GameCamera.additionalPosition = new Vector3(0, 0, newZoom); + GameCamera.AdditionalPosition = new Vector3(0, 0, newZoom); } } else if (normalizedZoomOutBeat >= 0) { if (normalizedZoomOutBeat > 1) { - GameCamera.additionalPosition = new Vector3(0, 0, -1); + GameCamera.AdditionalPosition = new Vector3(0, 0, -1); } else { Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuint); float newZoom = func(0f, 1f, normalizedZoomOutBeat); - GameCamera.additionalPosition = new Vector3(0, 0, newZoom * -1); + GameCamera.AdditionalPosition = new Vector3(0, 0, newZoom * -1); } } } diff --git a/Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs b/Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs index b78cc9eb3..a3906fec2 100644 --- a/Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs +++ b/Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs @@ -135,13 +135,14 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (shouldBop) Bop(Conductor.instance.songPositionInBeatsAsDouble); + } + void Update() { var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (shouldBop) Bop(cond.songPositionInBeatsAsDouble); - } if (cond.isPlaying && !cond.isPaused) { float normalizedBeat = cond.GetPositionFromBeat(signStartBeat, signLength); diff --git a/Assets/Scripts/Games/CropStomp/CropStomp.cs b/Assets/Scripts/Games/CropStomp/CropStomp.cs index f1bdf9628..5295b10d1 100644 --- a/Assets/Scripts/Games/CropStomp/CropStomp.cs +++ b/Assets/Scripts/Games/CropStomp/CropStomp.cs @@ -425,7 +425,7 @@ namespace HeavenStudio.Games if (shakeTween != null) shakeTween.Kill(true); - DOTween.Punch(() => GameCamera.additionalPosition, x => GameCamera.additionalPosition = x, new Vector3(0, 0.75f, 0), + DOTween.Punch(() => GameCamera.AdditionalPosition, x => GameCamera.AdditionalPosition = x, new Vector3(0, 0.75f, 0), Conductor.instance.pitchedSecPerBeat*0.5f, 18, 1f); isStepping = true; diff --git a/Assets/Scripts/Games/DJSchool/DJSchool.cs b/Assets/Scripts/Games/DJSchool/DJSchool.cs index fdc3dcb6e..953c5239d 100644 --- a/Assets/Scripts/Games/DJSchool/DJSchool.cs +++ b/Assets/Scripts/Games/DJSchool/DJSchool.cs @@ -165,95 +165,48 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (!goBop) return; + if (student.isHolding) + { + student.anim.DoScaledAnimationAsync("HoldBop", 0.5f); + } + else if (!student.swiping && student.anim.IsAnimationNotPlaying()) + { + student.anim.DoScaledAnimationAsync("IdleBop", 0.5f); + } + + var yellowState = djYellowAnim.GetCurrentAnimatorStateInfo(0); + if (yellowState.IsName("Hey")) + { + //PostScratchoFace(); + } + if (!andStop && !djYellowHolding) + { + float normalizedSmileBeat = Conductor.instance.GetPositionFromBeat(smileBeat, 3f); + if (normalizedSmileBeat >= 0 && normalizedSmileBeat <= 1f) djYellowScript.ChangeHeadSprite(DJYellow.DJExpression.Happy); + else if (!djYellowScript.HeadSpriteCheck(DJYellow.DJExpression.CrossEyed)) djYellowScript.ChangeHeadSprite(DJYellow.DJExpression.NeutralLeft); + djYellowScript.Reverse(djYellowScript.HeadSpriteCheck(DJYellow.DJExpression.CrossEyed)); + if (djYellowBopLeft) + { + djYellowAnim.DoScaledAnimationAsync("IdleBop2", 0.5f); + } + else + { + djYellowAnim.DoScaledAnimationAsync("IdleBop", 0.5f); + } + djYellowBopLeft = !djYellowBopLeft; + + } + else if (djYellowHolding) + { + djYellowAnim.DoScaledAnimationAsync("HoldBop", 0.5f); + } + } + private void Update() { - #region old script - //var cond = Conductor.instance; - - //if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - //{ - // if (cond.songPositionInBeatsAsDouble >= bop.startBeat && cond.songPositionInBeatsAsDouble < bop.startBeat + bop.length) - // { - // if (student.anim.IsAnimationNotPlaying()) - // { - // if (student.isHolding) - // { - // student.anim.Play("HoldBop", 0, 0); - // } - // else - // { - // student.anim.Play("IdleBop", 0, 0); - // } - // } - // if (djYellowAnim.IsAnimationNotPlaying()) - // { - // var yellowState = djYellowAnim.GetCurrentAnimatorStateInfo(0); - // if (yellowState.IsName("Hey")) - // { - // PostScratchoFace(); - // } - - // if (djYellowHolding) - // { - // djYellowAnim.Play("HoldBop", 0, 0); - // } - // else - // { - // // todo: split between left and right bop based on beat - // djYellowAnim.Play("IdleBop", 0, 0); - // } - // } - // } - //} - #endregion - - if (Conductor.instance.ReportBeat(ref lastReportedBeat)) - { - if (goBop) - { - if (student.isHolding) - { - student.anim.DoScaledAnimationAsync("HoldBop", 0.5f); - } - else if (!student.swiping && student.anim.IsAnimationNotPlaying()) - { - student.anim.DoScaledAnimationAsync("IdleBop", 0.5f); - } - - var yellowState = djYellowAnim.GetCurrentAnimatorStateInfo(0); - if (yellowState.IsName("Hey")) - { - //PostScratchoFace(); - } - if (!andStop && !djYellowHolding) - { - float normalizedSmileBeat = Conductor.instance.GetPositionFromBeat(smileBeat, 3f); - if (normalizedSmileBeat >= 0 && normalizedSmileBeat <= 1f) djYellowScript.ChangeHeadSprite(DJYellow.DJExpression.Happy); - else if (!djYellowScript.HeadSpriteCheck(DJYellow.DJExpression.CrossEyed)) djYellowScript.ChangeHeadSprite(DJYellow.DJExpression.NeutralLeft); - djYellowScript.Reverse(djYellowScript.HeadSpriteCheck(DJYellow.DJExpression.CrossEyed)); - if (djYellowBopLeft) - { - djYellowAnim.DoScaledAnimationAsync("IdleBop2", 0.5f); - } - else - { - djYellowAnim.DoScaledAnimationAsync("IdleBop", 0.5f); - } - djYellowBopLeft = !djYellowBopLeft; - - } - else if (djYellowHolding) - { - djYellowAnim.DoScaledAnimationAsync("HoldBop", 0.5f); - } - } - - } - else if (Conductor.instance.songPositionInBeatsAsDouble < lastReportedBeat) - { - lastReportedBeat = Math.Round(Conductor.instance.songPositionInBeatsAsDouble); - } - if(PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress) && !student.isHolding) //Start hold miss { student.OnMissHoldForPlayerInput(); diff --git a/Assets/Scripts/Games/DogNinja/DogNinja.cs b/Assets/Scripts/Games/DogNinja/DogNinja.cs index b14379f2b..388d8a62a 100644 --- a/Assets/Scripts/Games/DogNinja/DogNinja.cs +++ b/Assets/Scripts/Games/DogNinja/DogNinja.cs @@ -17,11 +17,12 @@ namespace HeavenStudio.Games.Loaders { new GameAction("Bop", "Bop") { - function = delegate { DogNinja.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity["toggle"]); }, - defaultLength = 0.5f, + function = delegate { DogNinja.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, eventCaller.currentEntity["auto"], eventCaller.currentEntity["toggle"]); }, + resizable = true, parameters = new List() { - new Param("toggle", false, "Enable Bopping", "Whether to bop to the beat or not"), + new Param("toggle", true, "Enable Bopping", "Whether to bop to the beat or not"), + new Param("auto", false, "Enable Bopping (Auto)", "Whether to bop to the beat or not automatically"), } }, new GameAction("Prepare", "Prepare") @@ -141,7 +142,7 @@ namespace HeavenStudio.Games private double lastReportedBeat = 0f; private bool birdOnScreen = false; - static bool dontBop = false; + bool dontBop = false; private const string sfxNum = "dogNinja/"; public static DogNinja instance; @@ -213,6 +214,12 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (dontBop) return; + DogAnim.DoScaledAnimationAsync("Bop", 0.5f); + } + private void Update() { if (DogAnim.GetBool("needPrepare") && DogAnim.IsAnimationNotPlaying()) @@ -258,17 +265,18 @@ namespace HeavenStudio.Games } } - private void LateUpdate() + public void Bop(double beat, float length, bool auto, bool bop) { - if (Conductor.instance.ReportBeat(ref lastReportedBeat) && DogAnim.IsAnimationNotPlaying() && !dontBop) - { - DogAnim.DoScaledAnimationAsync("Bop", 0.5f); - } - } + dontBop = !auto; + if (!bop) return; + List actions = new(); - public void Bop(double beat, bool bop) - { - dontBop = !bop; + for (int i = 0; i < length; i++) + { + actions.Add(new(beat + i, delegate { DogAnim.DoScaledAnimationAsync("Bop", 0.5f); })); + } + + if (actions.Count > 0) BeatAction.New(this, actions); } public static void QueueObject(double beat, int direction, int typeL, int typeR, bool prepare, bool muteThrow) diff --git a/Assets/Scripts/Games/DoubleDate/DoubleDate.cs b/Assets/Scripts/Games/DoubleDate/DoubleDate.cs index e1f50fb7d..e82f6aa52 100644 --- a/Assets/Scripts/Games/DoubleDate/DoubleDate.cs +++ b/Assets/Scripts/Games/DoubleDate/DoubleDate.cs @@ -138,6 +138,11 @@ namespace HeavenStudio.Games clouds.transform.position = Vector3.left * ((Time.realtimeSinceStartup * cloudSpeed) % cloudDistance); } + public override void OnBeatPulse(double beat) + { + if (shouldBop) SingleBop(); + } + void Update() { var cond = Conductor.instance; @@ -162,10 +167,6 @@ namespace HeavenStudio.Games } queuedBalls.Clear(); } - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1) && shouldBop) - { - SingleBop(); - } } else { diff --git a/Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs b/Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs index 7ae3ddd66..071711e07 100644 --- a/Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs +++ b/Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs @@ -144,16 +144,17 @@ namespace HeavenStudio.Games PersistColor(beat); } + public override void OnBeatPulse(double beat) + { + if (goBop) + { + Bop(); + } + } + private void Update() { var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBop) - { - Bop(); - } - } if (isMoving && cond.isPlaying && !cond.isPaused) { diff --git a/Assets/Scripts/Games/FanClub/FanClub.cs b/Assets/Scripts/Games/FanClub/FanClub.cs index 6defe4d95..bdadd7419 100644 --- a/Assets/Scripts/Games/FanClub/FanClub.cs +++ b/Assets/Scripts/Games/FanClub/FanClub.cs @@ -204,8 +204,6 @@ namespace HeavenStudio.Games private List Spectators; //bop-type animations - private GameEvent bop = new GameEvent(); - private GameEvent specBop = new GameEvent(); private GameEvent noBop = new GameEvent(); private GameEvent noResponse = new GameEvent(); private GameEvent noCall = new GameEvent(); @@ -356,30 +354,28 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + var cond = Conductor.instance; + if (goBopIdol) + { + if (!(cond.songPositionInBeatsAsDouble >= noBop.startBeat && cond.songPositionInBeatsAsDouble < noBop.startBeat + noBop.length)) + { + idolAnimator.Play("IdolBeat" + GetPerformanceSuffix(), 0, 0); + Blue.PlayAnimState("Beat"); + Orange.PlayAnimState("Beat"); + } + } + if (goBopSpec) + { + if (!(cond.songPositionInBeatsAsDouble >= noSpecBop.startBeat && cond.songPositionInBeatsAsDouble < noSpecBop.startBeat + noSpecBop.length)) + BopAll(); + } + } + private void Update() { var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBopIdol) - { - if (!(cond.songPositionInBeatsAsDouble >= noBop.startBeat && cond.songPositionInBeatsAsDouble < noBop.startBeat + noBop.length)) - { - idolAnimator.Play("IdolBeat" + GetPerformanceSuffix(), 0, 0); - Blue.PlayAnimState("Beat"); - Orange.PlayAnimState("Beat"); - } - } - } - - if (cond.ReportBeat(ref specBop.lastReportedBeat, specBop.startBeat % 1)) - { - if (goBopSpec) - { - if (!(cond.songPositionInBeatsAsDouble >= noSpecBop.startBeat && cond.songPositionInBeatsAsDouble < noSpecBop.startBeat + noSpecBop.length)) - BopAll(); - } - } //idol jumping physics float jumpPos = cond.GetPositionFromBeat(idolJumpStartTime, 1f); diff --git a/Assets/Scripts/Games/FlipperFlop/FlipperFlop.cs b/Assets/Scripts/Games/FlipperFlop/FlipperFlop.cs index 1fc02f673..3af0b6a5a 100644 --- a/Assets/Scripts/Games/FlipperFlop/FlipperFlop.cs +++ b/Assets/Scripts/Games/FlipperFlop/FlipperFlop.cs @@ -230,16 +230,17 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (goBopFlip) SingleBop((int)WhoBops.Flippers); + if (goBopTuck) SingleBop((int)WhoBops.CaptainTuck); + } + private void Update() { var cond = Conductor.instance; if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBopFlip) SingleBop((int)WhoBops.Flippers); - if (goBopTuck) SingleBop((int)WhoBops.CaptainTuck); - } if (isWalking) { float normalizedBeat = cond.GetPositionFromBeat(walkStartBeat, walkLength); @@ -287,7 +288,7 @@ namespace HeavenStudio.Games { currentXPos = flippersMovement.position.x + (moveLeft ? -rollDistance : rollDistance); isMoving = true; - currentCameraXPos = GameCamera.additionalPosition.x + (moveLeft ? -rollDistance : rollDistance); + currentCameraXPos = GameCamera.AdditionalPosition.x + (moveLeft ? -rollDistance : rollDistance); if (moveLeft) { rightSnow.Play(); @@ -310,7 +311,7 @@ namespace HeavenStudio.Games { EasingFunction.Function funcCam = EasingFunction.GetEasingFunction(EasingFunction.Ease.EaseInOutQuad); float newCameraPosX = funcCam(lastCameraXPos, currentCameraXPos, normalizedCamBeat); - GameCamera.additionalPosition = new Vector3(newCameraPosX, 0, 0); + GameCamera.AdditionalPosition = new Vector3(newCameraPosX, 0, 0); } if (1f >= normalizedBeat) { diff --git a/Assets/Scripts/Games/ForkLifter/ForkLifter.cs b/Assets/Scripts/Games/ForkLifter/ForkLifter.cs index 26e904d00..b615576ab 100644 --- a/Assets/Scripts/Games/ForkLifter/ForkLifter.cs +++ b/Assets/Scripts/Games/ForkLifter/ForkLifter.cs @@ -69,16 +69,6 @@ namespace HeavenStudio.Games.Loaders }, resizable = true }, - new GameAction("bop", "Bop") - { - function = delegate { var e = eventCaller.currentEntity; ForkLifter.instance.Bop(e.beat, e.length, e["bop"], e["autoBop"]); }, - parameters = new List() - { - new Param("bop", true, "Keep Bopping", "Should Fork bop for the duration of the block?"), - new Param("autoBop", false, "Keep Bopping (Auto)", "Should Fork bop indefinitely?"), - }, - resizable = true, - }, }, new List() {"rvl", "normal"}, "rvlfork", "en", diff --git a/Assets/Scripts/Games/ForkLifter/ForkLifterPlayer.cs b/Assets/Scripts/Games/ForkLifter/ForkLifterPlayer.cs index d3eed38de..ec2a95818 100644 --- a/Assets/Scripts/Games/ForkLifter/ForkLifterPlayer.cs +++ b/Assets/Scripts/Games/ForkLifter/ForkLifterPlayer.cs @@ -27,7 +27,6 @@ namespace HeavenStudio.Games.Scripts_ForkLifter public int currentEarlyPeasOnFork; public int currentPerfectPeasOnFork; public int currentLatePeasOnFork; - private double lastReportedBeat; private bool isEating = false; @@ -49,16 +48,6 @@ namespace HeavenStudio.Games.Scripts_ForkLifter { Stab(null); } - - if (Conductor.instance.ReportBeat(ref lastReportedBeat) && anim.IsAnimationNotPlaying() && shouldBop) - { - SingleBop(); - } - } - - public void SingleBop() - { - anim.DoScaledAnimationAsync("Player_Bop", 0.5f); } public void Eat() diff --git a/Assets/Scripts/Games/Global/Filter.cs b/Assets/Scripts/Games/Global/Filter.cs index b409a80e1..3f0683d57 100644 --- a/Assets/Scripts/Games/Global/Filter.cs +++ b/Assets/Scripts/Games/Global/Filter.cs @@ -86,6 +86,12 @@ namespace HeavenStudio.Games.Global GameManager.instance.onBeatChanged += OnBeatChanged; + for (int i = 0; i < 10; i++) + { + var newAmplify = GameManager.instance.GameCamera.gameObject.AddComponent(); + amplifies.Add(newAmplify); + } + // Don't use this because of serialization, add to the "FilterType" enum above manually. // GenerateFilterTypeEnum(); } @@ -97,77 +103,30 @@ namespace HeavenStudio.Games.Global private void OnBeatChanged(double beat) { allFilterEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "filter" }); + allFilterEvents.Sort((x, y) => x.beat.CompareTo(y.beat)); + foreach (var a in amplifies) + { + a.LutTexture = null; + a.BlendAmount = 1; + } } private void Update() { var songPosBeat = Conductor.instance.songPositionInBeatsAsDouble; - var filterIndexes = new List(); - for (int i = 0; i < allFilterEvents.Count; i++) + foreach (var e in allFilterEvents) { - var filter = allFilterEvents[i]; + if (e.beat > songPosBeat) continue; + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + int track = (int)e["track"]; + float normalizedBeat = Mathf.Clamp01(Conductor.instance.GetPositionFromBeat(e.beat, e.length)); - if (filter.beat > songPosBeat) - break; - if (filter.beat + filter.length < songPosBeat) - continue; + float intensity = func(1 - e["start"], 1 - e["end"], normalizedBeat); - filterIndexes.Add(i); + amplifies[track - 1].LutTexture = amplifyTextures[(int)e["filter"]]; + amplifies[track - 1].BlendAmount = intensity; } - - bool indexCountChanged = filterIndexes.Count != lastFilterIndexesCount; - - if (indexCountChanged) - { - for (int i = 0; i < amplifies.Count; i++) - { - Destroy(amplifies[i]); - } - amplifies.Clear(); - } - - for (int i = 0; i < filterIndexes.Count; i++) - { - var filter = allFilterEvents[filterIndexes[i]]; - - if (filter.beat <= songPosBeat && filter.beat + filter.length >= songPosBeat) - { - var fadeInTime = filter["fadein"] * 0.01f; - var fadeOutTime = filter["fadeout"] * 0.01f; - - var intensity = filter["inten"]; - intensity = Mathf.Lerp(1, 0, Mathp.Normalize(intensity, 0, 100)); - var blendAmount = intensity; - - var endFadeInTime = Mathf.Lerp((float) filter.beat, (float) filter.beat + filter.length, fadeInTime); - var startFadeOutTime = (float) filter.beat + (Mathf.Lerp(0, filter.length, Mathf.Lerp(1, 0, fadeOutTime))); - - if (songPosBeat < endFadeInTime) - { - var normalizedFadeIn = Mathp.Normalize((float) songPosBeat, (float) filter.beat, endFadeInTime); - blendAmount = Mathf.Lerp(1f, intensity, normalizedFadeIn); - } - else if (songPosBeat >= startFadeOutTime) - { - var normalizedFadeOut = Mathf.Clamp01(Mathp.Normalize((float) songPosBeat, startFadeOutTime, (float) filter.beat + filter.length)); - blendAmount = Mathf.Lerp(intensity, 1f, normalizedFadeOut); - } - - var newAmplify = - (indexCountChanged) ? - GameManager.instance.GameCamera.gameObject.AddComponent() : - (AmplifyColorEffect)GameManager.instance.GameCamera.GetComponents(typeof(AmplifyColorEffect))[i]; - - var texIndex = (int)filter["filter"]; - newAmplify.LutTexture = amplifyTextures[texIndex]; - newAmplify.BlendAmount = blendAmount; - - amplifies.Add(newAmplify); - } - } - - lastFilterIndexesCount = filterIndexes.Count; } /// diff --git a/Assets/Scripts/Games/KarateMan/KarateMan.cs b/Assets/Scripts/Games/KarateMan/KarateMan.cs index abbcf072c..9fca97f8b 100644 --- a/Assets/Scripts/Games/KarateMan/KarateMan.cs +++ b/Assets/Scripts/Games/KarateMan/KarateMan.cs @@ -839,7 +839,7 @@ namespace HeavenStudio.Games } BackgroundColorUpdate(); - GameCamera.additionalPosition = cameraPosition - GameCamera.defaultPosition; + GameCamera.AdditionalPosition = cameraPosition - GameCamera.defaultPosition; BGEffect.transform.position = new Vector3(GameCamera.instance.transform.position.x, GameCamera.instance.transform.position.y, 0); } @@ -1166,6 +1166,11 @@ namespace HeavenStudio.Games Wind.windMain = windStrength; } + public override void OnBeatPulse(double beat) + { + Joe.RequestBop(); + } + public void ToggleBop(double beat, float length, bool toggle, bool autoBop) { Joe.bop.length = autoBop ? float.MaxValue : 0; diff --git a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs index 75f163641..dbc543d38 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs @@ -51,6 +51,12 @@ namespace HeavenStudio.Games.Scripts_KarateMan } public bool inNuriLock { get { return (Conductor.instance.songPositionInBeatsAsDouble >= noNuriJabTime && Conductor.instance.songPositionInBeatsAsDouble < noNuriJabTime + 1f); } } + public void RequestBop() + { + var cond = Conductor.instance; + if (cond.songPositionInBeatsAsDouble > bop.startBeat && cond.songPositionInBeatsAsDouble < bop.startBeat + bop.length && cond.songPositionInBeatsAsDouble >= unPrepareTime && !inCombo) Bop(); + } + private void Update() { var cond = Conductor.instance; @@ -95,11 +101,6 @@ namespace HeavenStudio.Games.Scripts_KarateMan anim.Play("Beat", -1, 0); } - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1, false) && cond.songPositionInBeatsAsDouble > bop.startBeat && cond.songPositionInBeatsAsDouble < bop.startBeat + bop.length && cond.songPositionInBeatsAsDouble >= unPrepareTime && !inCombo) - { - Bop(); - } - if (inCombo && shouldComboId == -2) { float missProg = cond.GetPositionFromBeat(lastComboMissTime, 3f); diff --git a/Assets/Scripts/Games/Lockstep/Lockstep.cs b/Assets/Scripts/Games/Lockstep/Lockstep.cs index 784726798..fad8de7ff 100644 --- a/Assets/Scripts/Games/Lockstep/Lockstep.cs +++ b/Assets/Scripts/Games/Lockstep/Lockstep.cs @@ -336,18 +336,19 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (goBop) + { + PlayStepperAnim("Bop", true, 0.5f); + } + } + private void Update() { var cond = Conductor.instance; if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBop) - { - PlayStepperAnim("Bop", true, 0.5f); - } - } if (queuedInputs.Count > 0) { foreach (var input in queuedInputs) @@ -392,7 +393,7 @@ namespace HeavenStudio.Games public void SetZoom(int zoom) { - GameCamera.additionalPosition = new Vector3(0, 0, (ZoomPresets)zoom switch + GameCamera.AdditionalPosition = new Vector3(0, 0, (ZoomPresets)zoom switch { ZoomPresets.Regular => 0, ZoomPresets.NotThatFar => -4.5f, diff --git a/Assets/Scripts/Games/MeatGrinder/MeatGrinder.cs b/Assets/Scripts/Games/MeatGrinder/MeatGrinder.cs index 934b2eab9..f03d79db6 100644 --- a/Assets/Scripts/Games/MeatGrinder/MeatGrinder.cs +++ b/Assets/Scripts/Games/MeatGrinder/MeatGrinder.cs @@ -157,10 +157,9 @@ namespace HeavenStudio.Games } } - private void LateUpdate() + public override void OnBeatPulse(double beat) { - if (Conductor.instance.ReportBeat(ref lastReportedBeat) - && !BossAnim.IsPlayingAnimationName("BossCall") + if (!BossAnim.IsPlayingAnimationName("BossCall") && !BossAnim.IsPlayingAnimationName("BossSignal") && bossBop) { diff --git a/Assets/Scripts/Games/Minigame.cs b/Assets/Scripts/Games/Minigame.cs index 24cc4c8bf..632bb8810 100644 --- a/Assets/Scripts/Games/Minigame.cs +++ b/Assets/Scripts/Games/Minigame.cs @@ -412,6 +412,12 @@ namespace HeavenStudio.Games } } + // mainly for bopping logic + public virtual void OnBeatPulse(double beat) + { + + } + public static MultiSound PlaySoundSequence(string game, string name, double startBeat, params SoundSequence.SequenceParams[] args) { Minigames.Minigame gameInfo = GameManager.instance.GetGameInfo(game); diff --git a/Assets/Scripts/Games/MunchyMonk/MunchyMonk.cs b/Assets/Scripts/Games/MunchyMonk/MunchyMonk.cs index 699ab5bd2..9de0976dc 100644 --- a/Assets/Scripts/Games/MunchyMonk/MunchyMonk.cs +++ b/Assets/Scripts/Games/MunchyMonk/MunchyMonk.cs @@ -349,24 +349,24 @@ namespace HeavenStudio.Games } } - private void LateUpdate() + public override void OnBeatPulse(double beat) { - if (Conductor.instance.ReportBeat(ref lastReportedBeat)) { - if ((MonkAnim.IsAnimationNotPlaying() || MonkAnim.IsPlayingAnimationName("Bop") || MonkAnim.IsPlayingAnimationName("Idle")) + if ((MonkAnim.IsAnimationNotPlaying() || MonkAnim.IsPlayingAnimationName("Bop") || MonkAnim.IsPlayingAnimationName("Idle")) && monkBop - && !isStaring) - { - MonkAnim.DoScaledAnimationAsync("Bop", 0.5f); - } + && !isStaring) + { + MonkAnim.DoScaledAnimationAsync("Bop", 0.5f); + } - if (!MonkAnim.IsPlayingAnimationName("Blush") || !MonkAnim.IsPlayingAnimationName("Stare")) { - if (growLevel == 4) BrowAnim.DoScaledAnimationAsync("Bop", 0.5f); - if (growLevel > 0) StacheAnim.DoScaledAnimationAsync($"Bop{growLevel}", 0.5f); - } + if (!MonkAnim.IsPlayingAnimationName("Blush") || !MonkAnim.IsPlayingAnimationName("Stare")) + { + if (growLevel == 4) BrowAnim.DoScaledAnimationAsync("Bop", 0.5f); + if (growLevel > 0) StacheAnim.DoScaledAnimationAsync($"Bop{growLevel}", 0.5f); + } - if (CloudMonkey.activeInHierarchy) { - CloudMonkey.GetComponent().DoScaledAnimationAsync("Bop", 0.5f); - } + if (CloudMonkey.activeInHierarchy) //Why activeInHierarchy? - Rasmus + { + CloudMonkey.GetComponent().DoScaledAnimationAsync("Bop", 0.5f); //DONT DO THIS!!! GetComponent is a really expensive operation - Rasmus } } diff --git a/Assets/Scripts/Games/OctopusMachine/Octopus.cs b/Assets/Scripts/Games/OctopusMachine/Octopus.cs index 532a4bfd5..b00e04977 100644 --- a/Assets/Scripts/Games/OctopusMachine/Octopus.cs +++ b/Assets/Scripts/Games/OctopusMachine/Octopus.cs @@ -17,7 +17,6 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine public bool isSqueezed; public bool isPreparing; public double queuePrepare; - public double lastReportedBeat = 0f; double lastSqueezeBeat; bool isActive = true; @@ -65,10 +64,9 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine } } - void LateUpdate() + public void RequestBop() { - if (Conductor.instance.ReportBeat(ref lastReportedBeat) - && !anim.IsPlayingAnimationName("Bop") + if (!anim.IsPlayingAnimationName("Bop") && !anim.IsPlayingAnimationName("Happy") && !anim.IsPlayingAnimationName("Angry") && !anim.IsPlayingAnimationName("Oops") diff --git a/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs b/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs index 2127d53d0..18fdf4eeb 100644 --- a/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs +++ b/Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs @@ -206,7 +206,6 @@ namespace HeavenStudio.Games bool autoAction; double intervalStartBeat; float beatInterval = 1f; - double lastReportedBeat; static List queuedSqueezes = new(); static List queuedReleases = new(); @@ -253,6 +252,23 @@ namespace HeavenStudio.Games } } + public override void OnBeatPulse(double beat) + { + if (bopIterate >= 3) + { + bopStatus = + bopIterate = 0; + autoAction = false; + } + + if (autoAction) bopIterate++; + + foreach (var octo in octopodes) + { + octo.RequestBop(); + } + } + private void Update() { BackgroundColorUpdate(); @@ -261,17 +277,6 @@ namespace HeavenStudio.Games if (Text.text is "Wrong! Try Again!" or "Good!") Text.text = ""; queuePrepare = double.MaxValue; } - - if (Conductor.instance.ReportBeat(ref lastReportedBeat)) - { - if (bopIterate >= 3) { - bopStatus = - bopIterate = 0; - autoAction = false; - } - - if (autoAction) bopIterate++; - } } public void ChangeText(string text, string youText) diff --git a/Assets/Scripts/Games/RhythmRally/RhythmRally.cs b/Assets/Scripts/Games/RhythmRally/RhythmRally.cs index 2a114fa65..0b808c355 100644 --- a/Assets/Scripts/Games/RhythmRally/RhythmRally.cs +++ b/Assets/Scripts/Games/RhythmRally/RhythmRally.cs @@ -152,13 +152,15 @@ namespace HeavenStudio.Games public Paddlers paddlers; - public GameEvent bop = new GameEvent(); private bool goBop = true; public static RhythmRally instance; private void Awake() { + GameCamera.AdditionalPosition = cameraPos.position + (Quaternion.Euler(cameraPos.rotation.eulerAngles) * Vector3.forward * 10f); + GameCamera.AdditionalRotEuler = cameraPos.rotation.eulerAngles; + GameCamera.AdditionalFoV = cameraFOV; instance = this; paddlers.Init(); @@ -354,22 +356,20 @@ namespace HeavenStudio.Games } } - - // Paddler bop animation. - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBop && !inPose) - { - BopSingle(); - } - } - opponentServing = false; //update camera - GameCamera.additionalPosition = cameraPos.position + (Quaternion.Euler(cameraPos.rotation.eulerAngles) * Vector3.forward * 10f); - GameCamera.additionalRotEluer = cameraPos.rotation.eulerAngles; - GameCamera.additionalFoV = cameraFOV; + GameCamera.AdditionalPosition = cameraPos.position + (Quaternion.Euler(cameraPos.rotation.eulerAngles) * Vector3.forward * 10f); + GameCamera.AdditionalRotEuler = cameraPos.rotation.eulerAngles; + GameCamera.AdditionalFoV = cameraFOV; + } + + public override void OnBeatPulse(double beat) + { + if (goBop && !inPose) + { + BopSingle(); + } } public void Bop(double beat, float length, bool bop, bool bopAuto) diff --git a/Assets/Scripts/Games/RhythmSomen/RhythmSomen.cs b/Assets/Scripts/Games/RhythmSomen/RhythmSomen.cs index 71b453230..ec54051b5 100644 --- a/Assets/Scripts/Games/RhythmSomen/RhythmSomen.cs +++ b/Assets/Scripts/Games/RhythmSomen/RhythmSomen.cs @@ -84,22 +84,20 @@ namespace HeavenStudio.Games instance = this; } - // Update is called once per frame + public override void OnBeatPulse(double beat) + { + if (shouldBop) SomenPlayer.DoScaledAnimationAsync("HeadBob", 0.5f); + } + void Update() { - var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1) && shouldBop) - { - SomenPlayer.Play("HeadBob", -1, 0); - } - if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) { SoundByte.PlayOneShotGame("rhythmSomen/somen_mistake"); - FrontArm.Play("ArmPluck", -1, 0); - backArm.Play("BackArmNothing", 0, 0); + FrontArm.DoScaledAnimationAsync("ArmPluck", 0.5f); + backArm.DoScaledAnimationAsync("BackArmNothing", 0.5f); hasSlurped = false; - EffectSweat.Play("BlobSweating", -1, 0); + EffectSweat.DoScaledAnimationAsync("BlobSweating", 0.5f); ScoreMiss(); } } @@ -108,7 +106,7 @@ namespace HeavenStudio.Games { if (!missed) { - backArm.Play("BackArmLift", 0, 0); + backArm.DoScaledAnimationAsync("BackArmLift", 0.5f); FrontArm.DoScaledAnimationAsync("ArmSlurp", 0.5f); hasSlurped = true; BeatAction.New(instance, new List() @@ -117,8 +115,8 @@ namespace HeavenStudio.Games { if (hasSlurped) { - backArm.Play("BackArmNothing", 0, 0); - FrontArm.Play("ArmNothing", 0, 0); + backArm.DoScaledAnimationAsync("BackArmNothing", 0.5f); + FrontArm.DoScaledAnimationAsync("ArmNothing", 0.5f); } }) }); @@ -136,7 +134,7 @@ namespace HeavenStudio.Games { new BeatAction.Action(beat + i, delegate { - SomenPlayer.Play("HeadBob", -1, 0); + SomenPlayer.DoScaledAnimationAsync("HeadBob", 0.5f); }) }); } @@ -155,9 +153,9 @@ namespace HeavenStudio.Games BeatAction.New(instance, new List() { - new BeatAction.Action(beat, delegate { FarCrane.Play("Drop", -1, 0);}), - new BeatAction.Action(beat + 1.0f, delegate { FarCrane.Play("Open", -1, 0);}), - new BeatAction.Action(beat + 1.5f, delegate { FarCrane.Play("Lift", -1, 0);}), + new BeatAction.Action(beat, delegate { FarCrane.DoScaledAnimationAsync("Drop", 0.5f);}), + new BeatAction.Action(beat + 1.0f, delegate { FarCrane.DoScaledAnimationAsync("Open", 0.5f);}), + new BeatAction.Action(beat + 1.5f, delegate { FarCrane.DoScaledAnimationAsync("Lift", 0.5f);}), }); } @@ -174,9 +172,9 @@ namespace HeavenStudio.Games BeatAction.New(instance, new List() { - new BeatAction.Action(beat, delegate { CloseCrane.Play("DropClose", -1, 0);}), - new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.Play("OpenClose", -1, 0);}), - new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.Play("LiftClose", -1, 0);}), + new BeatAction.Action(beat, delegate { CloseCrane.DoScaledAnimationAsync("DropClose", 0.5f);}), + new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.DoScaledAnimationAsync("OpenClose", 0.5f);}), + new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.DoScaledAnimationAsync("LiftClose", 0.5f);}), }); } @@ -195,12 +193,12 @@ namespace HeavenStudio.Games BeatAction.New(instance, new List() { - new BeatAction.Action(beat, delegate { CloseCrane.Play("DropClose", -1, 0);}), - new BeatAction.Action(beat, delegate { FarCrane.Play("Drop", -1, 0);}), - new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.Play("OpenClose", -1, 0);}), - new BeatAction.Action(beat + 1.0f, delegate { FarCrane.Play("Open", -1, 0);}), - new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.Play("LiftClose", -1, 0);}), - new BeatAction.Action(beat + 1.5f, delegate { FarCrane.Play("Lift", -1, 0);}), + new BeatAction.Action(beat, delegate { CloseCrane.DoScaledAnimationAsync("DropClose", 0.5f);}), + new BeatAction.Action(beat, delegate { FarCrane.DoScaledAnimationAsync("Drop", 0.5f);}), + new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.DoScaledAnimationAsync("OpenClose", 0.5f);}), + new BeatAction.Action(beat + 1.0f, delegate { FarCrane.DoScaledAnimationAsync("Open", 0.5f);}), + new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.DoScaledAnimationAsync("LiftClose", 0.5f);}), + new BeatAction.Action(beat + 1.5f, delegate { FarCrane.DoScaledAnimationAsync("Lift", 0.5f);}), }); } @@ -212,35 +210,35 @@ namespace HeavenStudio.Games BeatAction.New(instance, new List() { - new BeatAction.Action(beat, delegate { EffectExclam.Play("ExclamAppear", -1, 0);}), + new BeatAction.Action(beat, delegate { EffectExclam.DoScaledAnimationAsync("ExclamAppear", 0.5f);}), }); } public void CatchSuccess(PlayerActionEvent caller, float state) { - backArm.Play("BackArmNothing", 0, 0); + backArm.DoScaledAnimationAsync("BackArmNothing", 0, 0); hasSlurped = false; splashEffect.Play(); if (state >= 1f || state <= -1f) { SoundByte.PlayOneShotGame("rhythmSomen/somen_splash"); - FrontArm.Play("ArmPluckNG", -1, 0); - EffectSweat.Play("BlobSweating", -1, 0); + FrontArm.DoScaledAnimationAsync("ArmPluckNG", 0.5f); + EffectSweat.DoScaledAnimationAsync("BlobSweating", 0.5f); missed = true; return; } SoundByte.PlayOneShotGame("rhythmSomen/somen_catch"); SoundByte.PlayOneShotGame("rhythmSomen/somen_catch_old", volume: 0.25f); - FrontArm.Play("ArmPluckOK", -1, 0); - EffectHit.Play("HitAppear", -1, 0); + FrontArm.DoScaledAnimationAsync("ArmPluckOK", 0.5f); + EffectHit.DoScaledAnimationAsync("HitAppear", 0.5f); missed = false; } public void CatchMiss(PlayerActionEvent caller) { missed = true; - EffectShock.Play("ShockAppear", -1, 0); + EffectShock.DoScaledAnimationAsync("ShockAppear", 0.5f); } public void CatchEmpty(PlayerActionEvent caller) diff --git a/Assets/Scripts/Games/Ringside/Ringside.cs b/Assets/Scripts/Games/Ringside/Ringside.cs index 58b1e72f8..5da8b759b 100644 --- a/Assets/Scripts/Games/Ringside/Ringside.cs +++ b/Assets/Scripts/Games/Ringside/Ringside.cs @@ -218,26 +218,27 @@ namespace HeavenStudio.Games ReporterBlink(); } + public override void OnBeatPulse(double beat) + { + if (shouldBop && canBop) + { + if (UnityEngine.Random.Range(1, 18) == 1) + { + wrestlerAnim.DoScaledAnimationAsync("BopPec"); + } + else + { + wrestlerAnim.DoScaledAnimationAsync("Bop"); + } + } + } + void Update() { var cond = Conductor.instance; if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (shouldBop && canBop) - { - if (UnityEngine.Random.Range(1, 18) == 1) - { - wrestlerAnim.DoScaledAnimationAsync("BopPec"); - } - else - { - wrestlerAnim.DoScaledAnimationAsync("Bop"); - } - } - } if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress) && !shouldNotInput) { if ((PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch) @@ -293,11 +294,11 @@ namespace HeavenStudio.Games { if (normalizedShouldStopBeat > 1 && !keepZoomOut) { - GameCamera.additionalPosition = new Vector3(0, 0, 0); + GameCamera.AdditionalPosition = new Vector3(0, 0, 0); } else if (normalizedBeat > 1) { - GameCamera.additionalPosition = new Vector3(currentCamPos.x, currentCamPos.y, currentCamPos.z + 10); + GameCamera.AdditionalPosition = new Vector3(currentCamPos.x, currentCamPos.y, currentCamPos.z + 10); } else { @@ -305,7 +306,7 @@ namespace HeavenStudio.Games float newPosX = func(lastCamPos.x, currentCamPos.x, normalizedBeat); float newPosY = func(lastCamPos.y, currentCamPos.y, normalizedBeat); float newPosZ = func(lastCamPos.z + 10, currentCamPos.z + 10, normalizedBeat); - GameCamera.additionalPosition = new Vector3(newPosX, newPosY, newPosZ); + GameCamera.AdditionalPosition = new Vector3(newPosX, newPosY, newPosZ); } } } diff --git a/Assets/Scripts/Games/Rockers/Rockers.cs b/Assets/Scripts/Games/Rockers/Rockers.cs index 865897d44..ed180b9b8 100644 --- a/Assets/Scripts/Games/Rockers/Rockers.cs +++ b/Assets/Scripts/Games/Rockers/Rockers.cs @@ -670,7 +670,7 @@ namespace HeavenStudio.Games Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseInOutQuad); float newX = func(lastTargetCameraX, targetCameraX, normalizedBeat); - GameCamera.additionalPosition = new Vector3(newX, 0, 0); + GameCamera.AdditionalPosition = new Vector3(newX, 0, 0); } } } @@ -680,7 +680,7 @@ namespace HeavenStudio.Games SoundByte.PlayOneShotGame("rockers/lastOne"); if (moveCamera) { - lastTargetCameraX = GameCamera.additionalPosition.x; + lastTargetCameraX = GameCamera.AdditionalPosition.x; targetCameraX = 0; cameraMoveBeat = beat + 2; } @@ -736,7 +736,7 @@ namespace HeavenStudio.Games SoundByte.PlayOneShotGame("rockers/cmon"); if (moveCamera) { - lastTargetCameraX = GameCamera.additionalPosition.x; + lastTargetCameraX = GameCamera.AdditionalPosition.x; targetCameraX = 0; cameraMoveBeat = beat + 2; } @@ -806,7 +806,7 @@ namespace HeavenStudio.Games List actions = new List(); if (moveCamera) { - lastTargetCameraX = GameCamera.additionalPosition.x; + lastTargetCameraX = GameCamera.AdditionalPosition.x; targetCameraX = 0; cameraMoveBeat = beat + goToMiddleBeat; } @@ -896,7 +896,7 @@ namespace HeavenStudio.Games private void MoveCamera(double beat) { - lastTargetCameraX = GameCamera.additionalPosition.x; + lastTargetCameraX = GameCamera.AdditionalPosition.x; targetCameraX = JJ.transform.localPosition.x; cameraMoveBeat = beat; @@ -1058,7 +1058,7 @@ namespace HeavenStudio.Games { if (moveCamera) { - lastTargetCameraX = GameCamera.additionalPosition.x; + lastTargetCameraX = GameCamera.AdditionalPosition.x; targetCameraX = Soshi.transform.localPosition.x; cameraMoveBeat = beat - 1; } diff --git a/Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs b/Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs index e50fe1559..13d41c7e2 100644 --- a/Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs +++ b/Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs @@ -169,16 +169,14 @@ namespace HeavenStudio.Games instance = this; } - // Update is called once per frame + public override void OnBeatPulse(double beat) + { + if (goBopSamurai) player.Bop(); + if (goBopChild) childParent.GetComponent().Bop(); + } + void Update() { - var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (goBopSamurai) player.Bop(); - if (goBopChild) childParent.GetComponent().Bop(); - } - if (PlayerInput.GetIsAction(InputAction_AltDown)) DoStep(); if (PlayerInput.GetIsAction(InputAction_AltUp) && player.isStepping()) diff --git a/Assets/Scripts/Games/SeeSaw/SeeSawGuy.cs b/Assets/Scripts/Games/SeeSaw/SeeSawGuy.cs index ae98ef43f..773995168 100644 --- a/Assets/Scripts/Games/SeeSaw/SeeSawGuy.cs +++ b/Assets/Scripts/Games/SeeSaw/SeeSawGuy.cs @@ -188,7 +188,7 @@ namespace HeavenStudio.Games.Scripts_SeeSaw public void Land(LandType landType, bool getUpOut) { transform.rotation = Quaternion.Euler(0, 0, 0); - GameCamera.additionalPosition = Vector3.zero; + GameCamera.AdditionalPosition = Vector3.zero; bool landedOut = false; switch (currentState) { diff --git a/Assets/Scripts/Games/SpaceDance/SpaceDance.cs b/Assets/Scripts/Games/SpaceDance/SpaceDance.cs index 978a4d3eb..45668df13 100644 --- a/Assets/Scripts/Games/SpaceDance/SpaceDance.cs +++ b/Assets/Scripts/Games/SpaceDance/SpaceDance.cs @@ -228,6 +228,18 @@ namespace HeavenStudio.Games colorEnd = defaultBGColor; } + public override void OnBeatPulse(double beat) + { + if (shouldBop) + { + Bop(); + } + if (spaceGrampsShouldBop) + { + GrampsBop(); + } + } + // Update is called once per frame void Update() { @@ -237,17 +249,6 @@ namespace HeavenStudio.Games { scroll.NormalizedX -= xBaseSpeed * xScrollMultiplier * Time.deltaTime; scroll.NormalizedY -= yBaseSpeed * yScrollMultiplier * Time.deltaTime; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (shouldBop) - { - Bop(); - } - if (spaceGrampsShouldBop) - { - GrampsBop(); - } - } if (isShootingStar) { float normalizedBeat = cond.GetPositionFromBeat(shootingStarStartBeat, shootingStarLength); diff --git a/Assets/Scripts/Games/Spaceball/Spaceball.cs b/Assets/Scripts/Games/Spaceball/Spaceball.cs index 2b7cde0b0..9ddd18c06 100644 --- a/Assets/Scripts/Games/Spaceball/Spaceball.cs +++ b/Assets/Scripts/Games/Spaceball/Spaceball.cs @@ -165,27 +165,27 @@ namespace HeavenStudio.Games { if (normalizedBeat > 1) { - GameCamera.additionalPosition = new Vector3(0, 0, currentZoomCamDistance + 10); + GameCamera.AdditionalPosition = new Vector3(0, 0, currentZoomCamDistance + 10); } else { if (currentZoomCamLength < 0) { - GameCamera.additionalPosition = new Vector3(0, 0, currentZoomCamDistance + 10); + GameCamera.AdditionalPosition = new Vector3(0, 0, currentZoomCamDistance + 10); } else { Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(lastEase); float newPosZ = func(lastCamDistance + 10, currentZoomCamDistance + 10, normalizedBeat); - GameCamera.additionalPosition = new Vector3(0, 0, newPosZ); + GameCamera.AdditionalPosition = new Vector3(0, 0, newPosZ); } } } else { // ? - GameCamera.additionalPosition = new Vector3(0, 0, 0); + GameCamera.AdditionalPosition = new Vector3(0, 0, 0); } } } diff --git a/Assets/Scripts/Games/TapTrial/TapTrial.cs b/Assets/Scripts/Games/TapTrial/TapTrial.cs index dd69a99a6..0d43147b5 100644 --- a/Assets/Scripts/Games/TapTrial/TapTrial.cs +++ b/Assets/Scripts/Games/TapTrial/TapTrial.cs @@ -123,15 +123,16 @@ namespace HeavenStudio.Games instance = this; } + public override void OnBeatPulse(double beat) + { + if (shouldBop) SingleBop(); + } + private void Update() { var cond = Conductor.instance; if (cond.isPlaying && !cond.isPaused) { - if (shouldBop && cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - SingleBop(); - } GiraffeUpdate(cond); JumpUpdate(cond); ScrollUpdate(cond); diff --git a/Assets/Scripts/Games/TapTroupe/TapTroupe.cs b/Assets/Scripts/Games/TapTroupe/TapTroupe.cs index b377b8881..22af931c1 100644 --- a/Assets/Scripts/Games/TapTroupe/TapTroupe.cs +++ b/Assets/Scripts/Games/TapTroupe/TapTroupe.cs @@ -281,19 +281,19 @@ namespace HeavenStudio.Games { if (!keepZoomOut) { - GameCamera.additionalPosition = new Vector3(0, 0, 0); + GameCamera.AdditionalPosition = new Vector3(0, 0, 0); zoomOutAnim.Play("NoZoomOut", 0, 0); } else { Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction(lastEase); if (normalizedBeat > 1) - GameCamera.additionalPosition = new Vector3(0, 30, -100); + GameCamera.AdditionalPosition = new Vector3(0, 30, -100); else { float newPosY = func(0, 30, normalizedBeat); float newPosZ = func(0, -100, normalizedBeat); - GameCamera.additionalPosition = new Vector3(0, newPosY, newPosZ); + GameCamera.AdditionalPosition = new Vector3(0, newPosY, newPosZ); } if (normalizedAnimBeat > 1) { diff --git a/Assets/Scripts/Games/TapTroupe/TapTroupeZoomOut.cs b/Assets/Scripts/Games/TapTroupe/TapTroupeZoomOut.cs index 612b9d276..ca278e418 100644 --- a/Assets/Scripts/Games/TapTroupe/TapTroupeZoomOut.cs +++ b/Assets/Scripts/Games/TapTroupe/TapTroupeZoomOut.cs @@ -17,7 +17,7 @@ namespace HeavenStudio.Games.Scripts_TapTroupe void Update() { - transform.localPosition = new Vector3(transform.localPosition.x, GameCamera.additionalPosition.y + yOffset, GameCamera.additionalPosition.z + zoomOffset); + transform.localPosition = new Vector3(transform.localPosition.x, GameCamera.AdditionalPosition.y + yOffset, GameCamera.AdditionalPosition.z + zoomOffset); } } } diff --git a/Assets/Scripts/Games/TheDazzles/TheDazzles.cs b/Assets/Scripts/Games/TheDazzles/TheDazzles.cs index b1ef7e9a6..2a35b7e28 100644 --- a/Assets/Scripts/Games/TheDazzles/TheDazzles.cs +++ b/Assets/Scripts/Games/TheDazzles/TheDazzles.cs @@ -257,23 +257,24 @@ namespace HeavenStudio.Games instance = this; } + public override void OnBeatPulse(double beat) + { + if (shouldBop) + { + foreach (var girl in npcGirls) + { + girl.Bop(); + } + player.Bop(); + } + } + void Update() { var cond = Conductor.instance; if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (shouldBop) - { - foreach (var girl in npcGirls) - { - girl.Bop(); - } - player.Bop(); - } - } if (queuedPoses.Count > 0) { foreach (var pose in queuedPoses) diff --git a/Assets/Scripts/Games/TossBoys/TossBoys.cs b/Assets/Scripts/Games/TossBoys/TossBoys.cs index 92ba26420..31c46cd3e 100644 --- a/Assets/Scripts/Games/TossBoys/TossBoys.cs +++ b/Assets/Scripts/Games/TossBoys/TossBoys.cs @@ -262,20 +262,20 @@ namespace HeavenStudio.Games return default(SuperCurveObject.Path); } + public override void OnBeatPulse(double beat) + { + if (shouldBop) + { + SingleBop(); + } + } + private void Update() { var cond = Conductor.instance; BackgroundColorUpdate(); if (cond.isPlaying && !cond.isPaused) { - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) - { - if (shouldBop) - { - SingleBop(); - } - } - if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch) { TossKid next = GetCurrentReceiver(); diff --git a/Assets/Scripts/Games/TossBoys/TossKid.cs b/Assets/Scripts/Games/TossBoys/TossKid.cs index deba5d36c..d7d6a4f79 100644 --- a/Assets/Scripts/Games/TossBoys/TossKid.cs +++ b/Assets/Scripts/Games/TossBoys/TossKid.cs @@ -41,7 +41,7 @@ namespace HeavenStudio.Games.Scripts_TossBoys public void Bop() { - if (!anim.IsAnimationNotPlaying() || crouch || preparing) return; + if (crouch || preparing) return; DoAnimationScaledAsync("Bop", 0.5f); } diff --git a/Assets/Scripts/Games/TrickClass/TrickClass.cs b/Assets/Scripts/Games/TrickClass/TrickClass.cs index 4fb962988..31dda092e 100644 --- a/Assets/Scripts/Games/TrickClass/TrickClass.cs +++ b/Assets/Scripts/Games/TrickClass/TrickClass.cs @@ -116,18 +116,20 @@ namespace HeavenStudio.Games instance = this; } + public override void OnBeatPulse(double beat) + { + var cond = Conductor.instance; + if (!goBop) return; + if ((!playerReady) && cond.songPositionInBeatsAsDouble > playerBopStart) + playerAnim.DoScaledAnimationAsync("Bop"); + + if (cond.songPositionInBeatsAsDouble > girlBopStart) + girlAnim.DoScaledAnimationAsync("Bop"); + } + private void Update() { var cond = Conductor.instance; - if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1) && goBop) - { - if ((!playerReady) && cond.songPositionInBeatsAsDouble > playerBopStart) - playerAnim.DoScaledAnimationAsync("Bop"); - - if (cond.songPositionInBeatsAsDouble > girlBopStart) - girlAnim.DoScaledAnimationAsync("Bop"); - } - if (cond.isPlaying && !cond.isPaused) { if (queuedInputs.Count > 0) diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 756041281..4afe66aaa 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -781,9 +781,17 @@ namespace HeavenStudio new List() { new Param("filter", Games.Global.Filter.FilterType.grayscale, "Filter"), - new Param("inten", new EntityTypes.Float(0, 100, 100), "Intensity"), + // old + + /*new Param("inten", new EntityTypes.Float(0, 100, 100), "Intensity"), new Param("fadein", new EntityTypes.Float(0, 100, 0), "Fade In"), - new Param("fadeout", new EntityTypes.Float(0, 100, 0), "Fade Out") + new Param("fadeout", new EntityTypes.Float(0, 100, 0), "Fade Out")*/ + + // new + + new Param("start", new EntityTypes.Float(0, 1, 1), "Start Intensity"), + new Param("end", new EntityTypes.Float(0, 1, 1), "End Intensity"), + new Param("ease", Util.EasingFunction.Ease.Linear, "Ease"), } ), new GameAction("move camera", "Move Camera", 1f, true, new List() diff --git a/Assets/Scripts/StaticCamera.cs b/Assets/Scripts/StaticCamera.cs index c3f4b7b32..c92a1bc99 100644 --- a/Assets/Scripts/StaticCamera.cs +++ b/Assets/Scripts/StaticCamera.cs @@ -86,6 +86,10 @@ namespace HeavenStudio UpdatePan(); UpdateRotation(); UpdateScale(); + + canvas.localPosition = pan; + canvas.eulerAngles = new Vector3(0, 0, rotation); + canvas.localScale = scale; } // Update is called once per frame diff --git a/Assets/Scripts/Util/AnimationHelpers.cs b/Assets/Scripts/Util/AnimationHelpers.cs index 72351355a..093c9329d 100644 --- a/Assets/Scripts/Util/AnimationHelpers.cs +++ b/Assets/Scripts/Util/AnimationHelpers.cs @@ -90,6 +90,11 @@ namespace HeavenStudio.Util anim.speed = (1f / Conductor.instance.pitchedSecPerBeat) * timeScale; } + public static void SetScaledAnimationSpeed(this Animator anim, float timeScale = 0.5f) + { + anim.speed = (1f / Conductor.instance.pitchedSecPerBeat) * timeScale; + } + /// /// Plays animation on animator, at default speed /// this is the least nessecary function here lol