diff --git a/Assets/Resources/Games/totemClimb.prefab b/Assets/Resources/Games/totemClimb.prefab index e84c48a60..337ae88ce 100644 --- a/Assets/Resources/Games/totemClimb.prefab +++ b/Assets/Resources/Games/totemClimb.prefab @@ -332,6 +332,7 @@ GameObject: m_Component: - component: {fileID: 5749667637740173319} - component: {fileID: 9066120161103407552} + - component: {fileID: 5753164903359959533} m_Layer: 0 m_Name: Frog m_TagString: Untagged @@ -375,9 +376,31 @@ MonoBehaviour: _animLeft: {fileID: 6605965118289745055} _animMiddle: {fileID: 9172534905865608619} _animRight: {fileID: 3185233777663390107} + _anim: {fileID: 5753164903359959533} _jumperPointLeft: {fileID: 644641883719781763} _jumperPointMiddle: {fileID: 7994465469293337682} _jumperPointRight: {fileID: 2412478017021253490} +--- !u!95 &5753164903359959533 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240329862653316689} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 218069d8fd8637640bf27eed4bef3fe8, 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 &379825893832054225 GameObject: m_ObjectHideFlags: 0 @@ -5501,6 +5524,174 @@ ParticleSystemRenderer: m_MeshWeighting2: 1 m_MeshWeighting3: 1 m_MaskInteraction: 0 +--- !u!1 &1537096184235609316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5314662740864056966} + - component: {fileID: 8157532271281315151} + m_Layer: 0 + m_Name: wingright (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5314662740864056966 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537096184235609316} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.21, y: -0.17, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3697837675551645759} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8157532271281315151 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537096184235609316} + 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: 3 + m_Sprite: {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 1 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.88, y: 1.61} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1618209334724798015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1906439230429513222} + - component: {fileID: 2671617738590780270} + m_Layer: 0 + m_Name: wingright + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1906439230429513222 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1618209334724798015} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.25, y: 1.12, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2653965045326994221} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2671617738590780270 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1618209334724798015} + 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: 1 + m_Sprite: {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.88, y: 1.61} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &1689777899027513442 GameObject: m_ObjectHideFlags: 0 @@ -5613,7 +5804,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.47, y: 0.47, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1906439230429513222} m_Father: {fileID: 5055052278657109904} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -6172,6 +6364,8 @@ MonoBehaviour: _xDistance: 3.838 _yDistance: 1.45 _totemAmount: 12 + _pillarFirst: {fileID: 9098506625303270995} + _pillarSecond: {fileID: 1586514379553918595} --- !u!1 &3203989406350842060 GameObject: m_ObjectHideFlags: 0 @@ -16923,7 +17117,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.47, y: 0.47, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 5314662740864056966} m_Father: {fileID: 3797884149105897730} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller new file mode 100644 index 000000000..1ceb8fc48 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-113114267534507859 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wings + 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: a107d5e2d593def4090d0efc79908e3c, 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: Frog + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 8172251469754047798} + 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 &521940328353447664 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WingsNoFlap + 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: 84cf529c091037d429c8aa9572babe05, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1333277723710000494 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoWings + 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: ae178ac588d9ac6488b2f1d0f0bdc154, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &8172251469754047798 +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: 1333277723710000494} + m_Position: {x: 200, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: -113114267534507859} + m_Position: {x: 235, y: 65, z: 0} + - serializedVersion: 1 + m_State: {fileID: 521940328353447664} + m_Position: {x: 270, y: 130, 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: 1333277723710000494} diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller.meta b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller.meta new file mode 100644 index 000000000..b64013204 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Frog.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 218069d8fd8637640bf27eed4bef3fe8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.anim b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.anim new file mode 100644 index 000000000..7c5eb95c0 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.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: NoWings + 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: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.anim.meta b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.anim.meta new file mode 100644 index 000000000..339a37303 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/NoWings.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae178ac588d9ac6488b2f1d0f0bdc154 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim new file mode 100644 index 000000000..fed38afa3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim @@ -0,0 +1,221 @@ +%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: Wings + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.25 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: right/frog/wingright (1) + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.25 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: left/frog/wingright + classID: 1 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - time: 0.11666667 + value: {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - time: 0.25 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: right/frog/wingright (1) + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - time: 0.11666667 + value: {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - time: 0.25 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: left/frog/wingright + 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: 2393995638 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2240393736 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2393995638 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 2240393736 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -470877788, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.26666668 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.25 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: right/frog/wingright (1) + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.25 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: left/frog/wingright + classID: 1 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim.meta b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim.meta new file mode 100644 index 000000000..532d9564d --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/Wings.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a107d5e2d593def4090d0efc79908e3c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim new file mode 100644 index 000000000..c180f41f9 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim @@ -0,0 +1,143 @@ +%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: WingsNoFlap + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: left/frog/wingright + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: right/frog/wingright (1) + classID: 1 + script: {fileID: 0} + 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: + - serializedVersion: 2 + path: 2240393736 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2393995638 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0 + 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 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: left/frog/wingright + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: right/frog/wingright (1) + classID: 1 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim.meta b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim.meta new file mode 100644 index 000000000..d5f9f5793 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Frog/WingsNoFlap.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84cf529c091037d429c8aa9572babe05 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jump.anim b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jump.anim index 2130e28c5..f298ff7b2 100644 --- a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jump.anim +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jump.anim @@ -20,7 +20,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: {x: -1.81, y: 0.13, z: 0} + value: {x: -1.81, y: -0.22, z: 0} inSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0} tangentMode: 0 @@ -36,7 +36,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: {x: 1.8, y: 0.13, z: 0} + value: {x: 1.8, y: -0.2199997, z: 0} inSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0} tangentMode: 0 @@ -122,7 +122,7 @@ AnimationClip: m_PPtrCurves: - curve: - time: 0 - value: {fileID: -825022746, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + value: {fileID: -477173263, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} attribute: m_Sprite path: Body classID: 212 @@ -240,7 +240,7 @@ AnimationClip: customType: 0 isPPtrCurve: 0 pptrCurveMapping: - - {fileID: -825022746, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -477173263, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} - {fileID: 2050925680, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} @@ -290,7 +290,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: 0.13 + value: -0.22 inSlope: 0 outSlope: 0 tangentMode: 136 @@ -347,7 +347,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: 0.13 + value: -0.2199997 inSlope: 0 outSlope: 0 tangentMode: 136 diff --git a/Assets/Scripts/Games/TotemClimb/TCFrog.cs b/Assets/Scripts/Games/TotemClimb/TCFrog.cs index a1ef3dae2..9f24b06ea 100644 --- a/Assets/Scripts/Games/TotemClimb/TCFrog.cs +++ b/Assets/Scripts/Games/TotemClimb/TCFrog.cs @@ -13,6 +13,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb [SerializeField] private Animator _animLeft; [SerializeField] private Animator _animMiddle; [SerializeField] private Animator _animRight; + [SerializeField] private Animator _anim; [SerializeField] private Transform _jumperPointLeft; [SerializeField] private Transform _jumperPointMiddle; @@ -22,8 +23,11 @@ namespace HeavenStudio.Games.Scripts_TotemClimb public Transform JumperPointMiddle => _jumperPointMiddle; public Transform JumperPointRight => _jumperPointRight; + private bool _hasWings = false; + public void FallPiece(int part) { + if (_hasWings) _anim.Play("WingsNoFlap", 0, 0); switch (part) { case -1: @@ -37,6 +41,12 @@ namespace HeavenStudio.Games.Scripts_TotemClimb break; } } + + public void SetHasWings() + { + _hasWings = true; + _anim.Play("Wings", 0, 0); + } } } diff --git a/Assets/Scripts/Games/TotemClimb/TCPillarManager.cs b/Assets/Scripts/Games/TotemClimb/TCPillarManager.cs index 0e247e4a6..78b0f2b32 100644 --- a/Assets/Scripts/Games/TotemClimb/TCPillarManager.cs +++ b/Assets/Scripts/Games/TotemClimb/TCPillarManager.cs @@ -33,8 +33,6 @@ namespace HeavenStudio.Games.Scripts_TotemClimb private float _endDistance = float.MaxValue; private bool _hasReachedEnd = false; - private bool _endDistanceSet = false; - private void Awake() { _scrollTransform = transform.parent; @@ -148,7 +146,6 @@ namespace HeavenStudio.Games.Scripts_TotemClimb var allPillarEnds = EventCaller.GetAllInGameManagerList("totemClimb", new string[] { "above" }).FindAll(x => x.beat >= startBeat && x.beat < nextGameSwitchBeat); if (allPillarEnds.Count == 0) return double.MaxValue; - _endDistanceSet = true; return allPillarEnds[0].beat - startBeat; } } diff --git a/Assets/Scripts/Games/TotemClimb/TCTotemManager.cs b/Assets/Scripts/Games/TotemClimb/TCTotemManager.cs index 1b9fd1501..3ac1ef167 100644 --- a/Assets/Scripts/Games/TotemClimb/TCTotemManager.cs +++ b/Assets/Scripts/Games/TotemClimb/TCTotemManager.cs @@ -14,6 +14,9 @@ namespace HeavenStudio.Games.Scripts_TotemClimb [SerializeField] private float _yDistance; [SerializeField] private int _totemAmount = 12; + [SerializeField] private Transform _pillarFirst; + [SerializeField] private Transform _pillarSecond; + private Transform _scrollTransform; private float _totemStartX; private float _totemStartY; @@ -22,6 +25,9 @@ namespace HeavenStudio.Games.Scripts_TotemClimb private List _dragons = new(); private int _totemIndex = 0; + + private float _pillarEndDistance; + private TotemClimb _game; private void Awake() @@ -31,6 +37,12 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _totemStartX = _totemTransform.localPosition.x; _totemStartY = _totemTransform.localPosition.y; + var pillarYStart = _pillarFirst.localPosition.y; + var pillarYDistance = _pillarSecond.localPosition.y - _pillarFirst.localPosition.y; + var pillarEnd = GetPillarEndBeatDistance(); + + _pillarEndDistance = pillarEnd + pillarYStart + ((pillarEnd + pillarYStart) % pillarYDistance); + _totems.Add(_totemTransform.GetComponent()); for (int i = 1; i < _totemAmount; i++) @@ -56,6 +68,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb double beat = e.beat + i; Transform spawnedFrog = Instantiate(_frogTransform, transform); spawnedFrog.transform.localPosition += new Vector3(_xDistance * (float)(beat - startBeat), _yDistance * (float)(beat - startBeat)); + if (spawnedFrog.transform.localPosition.y >= _pillarEndDistance) spawnedFrog.GetComponent().SetHasWings(); spawnedFrog.gameObject.SetActive(true); spawnedFrog.GetComponent().beat = beat; _frogs.Add(spawnedFrog.GetComponent()); @@ -171,6 +184,29 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _totemIndex++; } } + + private float GetPillarEndBeatDistance() + { + var allGameSwitches = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" }).FindAll(x => x.beat <= Conductor.instance.songPositionInBeatsAsDouble && x.datamodel is "gameManager/switchGame/totemClimb"); + double lastGameSwitchBeat = 0; + if (allGameSwitches.Count > 0) lastGameSwitchBeat = allGameSwitches[^1].beat; + + var nextGameSwitches = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" }).FindAll(x => x.beat > lastGameSwitchBeat && x.datamodel != "gameManager/switchGame/totemClimb"); + double nextGameSwitchBeat = double.MaxValue; + if (nextGameSwitches.Count > 0) + { + nextGameSwitchBeat = nextGameSwitches[0].beat; + } + + var allStarts = EventCaller.GetAllInGameManagerList("totemClimb", new string[] { "start" }).FindAll(x => x.beat >= lastGameSwitchBeat && x.beat < nextGameSwitchBeat); + if (allStarts.Count == 0) return float.MaxValue; + + double startBeat = allStarts[0].beat; + + var allPillarEnds = EventCaller.GetAllInGameManagerList("totemClimb", new string[] { "above" }).FindAll(x => x.beat >= startBeat && x.beat < nextGameSwitchBeat); + if (allPillarEnds.Count == 0) return float.MaxValue; + return (float)(allPillarEnds[0].beat - startBeat) * 1.45f; + } } }