diff --git a/Assets/Resources/Games/dogNinja.prefab b/Assets/Resources/Games/dogNinja.prefab index 8a38c146..f265f975 100644 --- a/Assets/Resources/Games/dogNinja.prefab +++ b/Assets/Resources/Games/dogNinja.prefab @@ -97,7 +97,17 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5ac06902fd6630045a550c76211fcc63, type: 3} m_Name: m_EditorClassIdentifier: - game: {fileID: 4542966729274958099} + inList: 0 + state: + gameObject: {fileID: 119991411479083905} + early: 0 + perfect: 0 + late: 0 + createBeat: 0 + eligibleHitsList: [] + aceTimes: 0 + isEligible: 0 + triggersAutoplay: 1 startBeat: 0 type: 0 fromLeft: 0 @@ -105,12 +115,12 @@ MonoBehaviour: direction: 0 sfxNum: curve: {fileID: 0} - LeftCurve: {fileID: 2592536718110886033} - RightCurve: {fileID: 8538313959133990924} + barelyCurve: {fileID: 0} BarelyLeftCurve: {fileID: 5959598018215963193} BarelyRightCurve: {fileID: 4156529297438955755} - HalvesLeftBase: {fileID: 3507681361263350449} - HalvesRightBase: {fileID: 5646879835731180444} + HalvesLeftBase: {fileID: 8462363345267808632} + HalvesRightBase: {fileID: 997672822965154321} + ObjectParent: {fileID: 0} objectLeftHalves: - {fileID: -5050977528292827191, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} - {fileID: -6734710479057769413, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} @@ -534,13 +544,24 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6f3ef60f47c093b45a623a707f33c877, type: 3} m_Name: m_EditorClassIdentifier: + inList: 0 + state: + gameObject: {fileID: 0} + early: 0 + perfect: 0 + late: 0 + createBeat: 0 + eligibleHitsList: [] + aceTimes: 0 + isEligible: 0 + triggersAutoplay: 1 startBeat: 0 objPos: {x: 0, y: 0, z: 0} lefty: 0 rotSpeed: 140 fallLeftCurve: {fileID: 7764367815067799206} fallRightCurve: {fileID: 7122240029612248645} - sr: {fileID: 7206843505938361017} + halvesParent: {fileID: 2078672318315355962} --- !u!1 &1203023033644261752 GameObject: m_ObjectHideFlags: 0 @@ -1271,7 +1292,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 9090671386772390765} - - component: {fileID: 7679373660039658227} m_Layer: 0 m_Name: Bird m_TagString: Untagged @@ -1287,65 +1307,15 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2345899427382000280} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0} - m_LocalScale: {x: 1.17, y: 1.17, z: 1.17} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 6141650836764449341} + - {fileID: 3508355828836896233} m_Father: {fileID: 6570085815560366024} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &7679373660039658227 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2345899427382000280} - 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: 10 - m_Sprite: {fileID: -6878904103022551539, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 6.69, y: 6.3} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 --- !u!1 &2488711815545919274 GameObject: m_ObjectHideFlags: 0 @@ -1699,38 +1669,45 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: SoundSequences: - - name: here_we_go + - name: hereWeGo sequence: game: 1 - force: 1 + force: 0 clips: - - clip: dogNinja/here + - clip: here beat: 0 pitch: 0 volume: 0 looping: 0 offset: 0 parameters: [] - - clip: dogNinja/we + - clip: we beat: 0.5 pitch: 0 volume: 0 looping: 0 offset: 0 parameters: [] - - clip: dogNinja/go + - clip: go beat: 1 pitch: 0 volume: 0 looping: 0 offset: 0 parameters: [] + EligibleHits: [] scheduledInputs: [] + firstEnable: 0 DogAnim: {fileID: 1770250701376598399} BirdAnim: {fileID: 4964290445827434540} - ObjectBase: {fileID: 4494871422713187218} + ObjectBase: {fileID: 119991411479083905} + FullBird: {fileID: 3439822116337821266} WhichObject: {fileID: 1780506401517458247} - CutEverythingText: {fileID: 8405214087581042494} + WhichLeftHalf: {fileID: 8550182553065708291} + WhichRightHalf: {fileID: 7206843505938361017} + cutEverythingText: {fileID: 8405214087581042494} + CurveFromLeft: {fileID: 2592536718110886033} + CurveFromRight: {fileID: 8538313959133990924} ObjectTypes: - {fileID: 0} - {fileID: -2307065246004786754, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} @@ -1751,8 +1728,6 @@ MonoBehaviour: - {fileID: 2196219148037962045, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3} - {fileID: -6292424158522327523, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3} - {fileID: 2053246660185171032, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3} - queuePrepare: 0 - preparing: 0 --- !u!1 &3156757135167865752 GameObject: m_ObjectHideFlags: 0 @@ -1913,7 +1888,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &6570085815560366024 Transform: m_ObjectHideFlags: 0 @@ -1922,7 +1897,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3439822116337821266} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 69, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -4190,13 +4165,108 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6f3ef60f47c093b45a623a707f33c877, type: 3} m_Name: m_EditorClassIdentifier: + inList: 0 + state: + gameObject: {fileID: 0} + early: 0 + perfect: 0 + late: 0 + createBeat: 0 + eligibleHitsList: [] + aceTimes: 0 + isEligible: 0 + triggersAutoplay: 1 startBeat: 0 objPos: {x: 0, y: 0, z: 0} lefty: 1 rotSpeed: -140 fallLeftCurve: {fileID: 7191847337805905266} fallRightCurve: {fileID: 5028931464679965393} - sr: {fileID: 8550182553065708291} + halvesParent: {fileID: 2078672318315355962} +--- !u!1 &8597163618617364548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3508355828836896233} + - component: {fileID: 5092057247171099703} + m_Layer: 0 + m_Name: Bird1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3508355828836896233 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8597163618617364548} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0} + m_LocalScale: {x: 1.17, y: 1.17, z: 1.17} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9090671386772390765} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5092057247171099703 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8597163618617364548} + 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: 10 + m_Sprite: {fileID: -6837453462447269357, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 6.69, y: 6.3} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &8691542995859896262 GameObject: m_ObjectHideFlags: 0 @@ -4385,6 +4455,90 @@ MonoBehaviour: handleType: 0 leftHandleLocalPosition: {x: 2.6498117, y: 0.019104965, z: 0} rightHandleLocalPosition: {x: -2.6498117, y: -0.019104965, z: -0} +--- !u!1 &9014789612631171718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6141650836764449341} + - component: {fileID: 4708541773062853748} + m_Layer: 0 + m_Name: Bird2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6141650836764449341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9014789612631171718} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0} + m_LocalScale: {x: 1.17, y: 1.17, z: 1.17} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9090671386772390765} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4708541773062853748 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9014789612631171718} + 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: 10 + m_Sprite: {fileID: -6878904103022551539, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 6.69, y: 6.3} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &9069277017458690841 GameObject: m_ObjectHideFlags: 0 @@ -4576,17 +4730,15 @@ MonoBehaviour: m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 + m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 - m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 0 m_isCullingEnabled: 0 diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller index 3726c843..21472a0f 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller @@ -28,6 +28,31 @@ AnimatorStateMachine: m_ExitPosition: {x: 640, y: 180, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 320149015002627566} +--- !u!1101 &-57611587176777246 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: birdOnScreen + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 1 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.5833334 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -76,7 +101,7 @@ AnimatorState: m_MirrorParameterActive: 0 m_CycleOffsetParameterActive: 0 m_TimeParameterActive: 0 - m_Motion: {fileID: 0} + m_Motion: {fileID: 7400000, guid: 3319f492700f97544b948589e4e54ca0, type: 2} m_Tag: m_SpeedParameter: m_MirrorParameter: @@ -92,7 +117,8 @@ AnimatorState: m_Name: FlyOut m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -57611587176777246} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller.meta index 009b0a09..abbdbe0a 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/BirdAnim.controller.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 9100000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim index 52f71132..21a3c4f6 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim @@ -54,18 +54,8 @@ AnimationClip: weightedMode: 0 inWeight: 0 outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_IsActive - path: Bird - classID: 1 - script: {fileID: 0} - - curve: - serializedVersion: 2 - m_Curve: - serializedVersion: 3 - time: 0 + time: 0.15 value: 1 inSlope: Infinity outSlope: Infinity @@ -77,7 +67,35 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: CutEverythingSign + path: Bird/Bird2 + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.15 + value: 0 + 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: Bird/Bird1 classID: 1 script: {fileID: 0} m_PPtrCurves: [] @@ -96,14 +114,14 @@ AnimationClip: customType: 0 isPPtrCurve: 0 - serializedVersion: 2 - path: 8978736 + path: 341651793 attribute: 2086281974 script: {fileID: 0} typeID: 1 customType: 0 isPPtrCurve: 0 - serializedVersion: 2 - path: 2588901114 + path: 2371117291 attribute: 2086281974 script: {fileID: 0} typeID: 1 @@ -218,18 +236,8 @@ AnimationClip: weightedMode: 0 inWeight: 0 outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_IsActive - path: Bird - classID: 1 - script: {fileID: 0} - - curve: - serializedVersion: 2 - m_Curve: - serializedVersion: 3 - time: 0 + time: 0.15 value: 1 inSlope: Infinity outSlope: Infinity @@ -241,7 +249,35 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: CutEverythingSign + path: Bird/Bird2 + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.15 + value: 0 + 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: Bird/Bird1 classID: 1 script: {fileID: 0} m_EulerEditorCurves: [] diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim.meta index a28831a6..997497ca 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyIn.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim index 09832704..ca63aae2 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim @@ -56,7 +56,7 @@ AnimationClip: outWeight: 0 - serializedVersion: 3 time: 0.6 - value: 0 + value: 1 inSlope: Infinity outSlope: Infinity tangentMode: 103 @@ -67,7 +67,7 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: Bird + path: Bird/Bird1 classID: 1 script: {fileID: 0} - curve: @@ -75,7 +75,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: 1 + value: 0 inSlope: Infinity outSlope: Infinity tangentMode: 103 @@ -95,7 +95,7 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: CutEverythingSign + path: Bird/Bird2 classID: 1 script: {fileID: 0} m_PPtrCurves: [] @@ -114,14 +114,14 @@ AnimationClip: customType: 0 isPPtrCurve: 0 - serializedVersion: 2 - path: 8978736 + path: 2371117291 attribute: 2086281974 script: {fileID: 0} typeID: 1 customType: 0 isPPtrCurve: 0 - serializedVersion: 2 - path: 2588901114 + path: 341651793 attribute: 2086281974 script: {fileID: 0} typeID: 1 @@ -247,7 +247,7 @@ AnimationClip: outWeight: 0 - serializedVersion: 3 time: 0.6 - value: 0 + value: 1 inSlope: Infinity outSlope: Infinity tangentMode: 103 @@ -258,7 +258,7 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: Bird + path: Bird/Bird1 classID: 1 script: {fileID: 0} - curve: @@ -266,7 +266,7 @@ AnimationClip: m_Curve: - serializedVersion: 3 time: 0 - value: 1 + value: 0 inSlope: Infinity outSlope: Infinity tangentMode: 103 @@ -286,7 +286,7 @@ AnimationClip: m_PostInfinity: 2 m_RotationOrder: 4 attribute: m_IsActive - path: CutEverythingSign + path: Bird/Bird2 classID: 1 script: {fileID: 0} m_EulerEditorCurves: [] diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim.meta index 230973ff..3820a2a1 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/FlyOut.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim new file mode 100644 index 00000000..4d4382bb --- /dev/null +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim @@ -0,0 +1,133 @@ +%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: Idle + 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: 13.216, y: 8.8714, 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: + 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: + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + 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: 13.216 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 8.8714 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim.meta new file mode 100644 index 00000000..501e8ce5 --- /dev/null +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Bird/Idle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3319f492700f97544b948589e4e54ca0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyGlobal.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyGlobal.anim.meta index aa8ae57e..a28d740d 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyGlobal.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyGlobal.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyLeft.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyLeft.anim.meta index f313d1f8..2b07dad9 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyLeft.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyLeft.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyRight.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyRight.anim.meta index a7acf716..73740ae9 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyRight.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/BarelyRight.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Bop.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Bop.anim.meta index 1d0eec4a..32ab7457 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Bop.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Bop.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller index 30b645fd..6b3abe1a 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller @@ -54,6 +54,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-8879658034113408578 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: needPrepare + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5009988345090580314} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-7628548708072257747 AnimatorState: serializedVersion: 6 @@ -308,6 +333,31 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} +--- !u!1101 &634343083532807637 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: needPrepare + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1628397019354410076} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &1183219720229009387 AnimatorState: serializedVersion: 6 @@ -318,7 +368,9 @@ AnimatorState: m_Name: Prepare m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -8879658034113408578} + - {fileID: 634343083532807637} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -511,6 +563,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: 4106059006902303284} m_Position: {x: 400, y: 90, z: 0} + - serializedVersion: 1 + m_State: {fileID: 5009988345090580314} + m_Position: {x: 620, y: -110, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -521,6 +576,33 @@ AnimatorStateMachine: m_ExitPosition: {x: 420, y: 210, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 1628397019354410076} +--- !u!1102 &5009988345090580314 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PrepareIdle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 7023587105086888360} + 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: f9b4fb8d229e1d840b1663408bebfd18, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &5032805319851727948 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -587,6 +669,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &7023587105086888360 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: needPrepare + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1628397019354410076} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &7232969264737895159 AnimatorState: serializedVersion: 6 @@ -594,10 +701,11 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Unprepare + m_Name: UnPrepare m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 7451574809715408383} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -613,6 +721,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &7451574809715408383 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1628397019354410076} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &8456159042725552206 AnimatorState: serializedVersion: 6 diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller.meta index 0fbe4ea8..73651b4c 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/DogAnim.controller.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 9100000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Idle.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Idle.anim.meta index 9c82a3f1..1f2b5642 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Idle.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Idle.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim index cb8d4785..a4b6e906 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim @@ -450,7 +450,7 @@ AnimationClip: m_Level: 0 m_CycleOffset: 0 m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 + m_LoopTime: 1 m_LoopBlend: 0 m_LoopBlendOrientation: 0 m_LoopBlendPositionY: 0 diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim.meta index 48323703..1a194f7a 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/Prepare.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim new file mode 100644 index 00000000..22cd4f10 --- /dev/null +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim @@ -0,0 +1,1110 @@ +%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: PrepareIdle + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: 20.166666 + value: {x: 0, y: 0, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: DogBody/DogArmRight + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: -1.12, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: 20.166666 + value: {x: 0, y: -1.12, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: -0.07, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: 20.166666 + value: {x: 0, y: -0.07, z: 0} + inSlope: {x: Infinity, y: Infinity, z: Infinity} + outSlope: {x: Infinity, y: Infinity, z: Infinity} + 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: DogBody + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -9.18, y: -2.54, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: 20.166666 + value: {x: -9.18, y: -2.54, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: DogBody/DogArmLeft + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.84, y: -1.93, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: 20.166666 + value: {x: -1.84, y: -1.93, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: DogBody/DogArmRight + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -5.5894957, y: -3.1524081, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: 20.166666 + value: {x: -5.5894957, y: -3.1524081, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: DogBody/DogTorso + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -5.8489957, y: -3.078408, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: 20.166666 + value: {x: -5.8489957, y: -3.078408, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: DogBody/Sword + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -5.568996, y: -1.39, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: 20.166666 + value: {x: -5.568996, y: -1.39, z: 20.748348} + inSlope: {x: Infinity, y: Infinity, z: 0} + outSlope: {x: Infinity, y: Infinity, 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: DogHead + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 2 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20.166666 + value: 2 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SortingOrder + path: DogBody/DogArmRight + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: -7602907453496852081, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + - time: 20.166666 + value: {fileID: -7602907453496852081, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + attribute: m_Sprite + path: DogBody/DogArmRight + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 7849497092207798707, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + - time: 20.166666 + value: {fileID: 7849497092207798707, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + attribute: m_Sprite + path: DogBody/DogArmLeft + classID: 212 + script: {fileID: 0} + m_SampleRate: 30 + 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: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2772886358 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2375568945 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2794087405 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1010313433 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 240240601 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3642564216 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2794087405 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2794087405 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 2375568945 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 2794087405 + attribute: 3762991556 + script: {fileID: 0} + typeID: 212 + customType: 26 + isPPtrCurve: 0 + pptrCurveMapping: + - {fileID: -7602907453496852081, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + - {fileID: -7602907453496852081, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + - {fileID: 7849497092207798707, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + - {fileID: 7849497092207798707, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 20.199999 + 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: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.12 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -1.12 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogBody + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.07 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -0.07 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogBody + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogBody + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -9.18 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -9.18 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogBody/DogArmLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -2.54 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -2.54 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogBody/DogArmLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogBody/DogArmLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.84 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -1.84 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.93 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -1.93 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 2 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20.166666 + value: 2 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SortingOrder + path: DogBody/DogArmRight + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -5.5894957 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -5.5894957 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogBody/DogTorso + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -3.1524081 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -3.1524081 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogBody/DogTorso + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogBody/DogTorso + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -5.8489957 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -5.8489957 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogBody/Sword + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -3.078408 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -3.078408 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogBody/Sword + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogBody/Sword + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -5.568996 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -5.568996 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: DogHead + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.39 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: -1.39 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: DogHead + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.166666 + value: 20.748348 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: DogHead + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: DogBody/DogArmRight + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim.meta new file mode 100644 index 00000000..c0aaf447 --- /dev/null +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/PrepareIdle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9b4fb8d229e1d840b1663408bebfd18 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceBoth.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceBoth.anim.meta index 68558e80..fc9bfc33 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceBoth.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceBoth.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceLeft.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceLeft.anim.meta index 504eeca2..31b5faf0 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceLeft.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceLeft.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceRight.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceRight.anim.meta index f94d5c5e..080a72f1 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceRight.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/SliceRight.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim index ad1aceb8..cee01003 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim @@ -492,7 +492,7 @@ AnimationClip: m_Level: 0 m_CycleOffset: 0 m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 + m_LoopTime: 1 m_LoopBlend: 0 m_LoopBlendOrientation: 0 m_LoopBlendPositionY: 0 diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim.meta index e8afa9c3..995c9619 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/UnPrepare.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffGlobal.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffGlobal.anim.meta index 4977fbd5..de358332 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffGlobal.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffGlobal.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffLeft.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffLeft.anim.meta index ff841b0f..3254ca4c 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffLeft.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffLeft.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffRight.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffRight.anim.meta index 69e71753..1eba1e4e 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffRight.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Dog/WhiffRight.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/Idle.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/Idle.anim.meta index 7d6a9620..c3a0a3a1 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/Idle.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/Idle.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfAnim.controller.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfAnim.controller.meta index 2bef7315..4167596f 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfAnim.controller.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfAnim.controller.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 9100000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallLeft.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallLeft.anim.meta index dd82eac4..abe410c1 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallLeft.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallLeft.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallRight.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallRight.anim.meta index 931c8ca0..892db1a8 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallRight.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/LeftHalfFallRight.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfAnim.controller.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfAnim.controller.meta index 8495dae3..ac48afa4 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfAnim.controller.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfAnim.controller.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 9100000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallLeft.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallLeft.anim.meta index 967bae6e..eb4e20e9 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallLeft.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallLeft.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 7400000 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallRight.anim.meta b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallRight.anim.meta index cf3d070a..20624a75 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallRight.anim.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/Animation/Halves/RightHalfFallRight.anim.meta @@ -4,5 +4,5 @@ NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: - assetBundleName: ntrninja/common + assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/DogNinja/DogNinja_OtherObjects.png.meta b/Assets/Resources/Sprites/Games/DogNinja/DogNinja_OtherObjects.png.meta index 06caa9ae..4b6f86db 100644 --- a/Assets/Resources/Sprites/Games/DogNinja/DogNinja_OtherObjects.png.meta +++ b/Assets/Resources/Sprites/Games/DogNinja/DogNinja_OtherObjects.png.meta @@ -689,7 +689,7 @@ TextureImporter: width: 110 height: 201 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: [] @@ -710,7 +710,7 @@ TextureImporter: width: 103 height: 198 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: [] @@ -731,7 +731,7 @@ TextureImporter: width: 78 height: 199 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: [] @@ -743,27 +743,6 @@ TextureImporter: indices: edges: [] weights: [] - - serializedVersion: 2 - name: oh it's the little guy. you found him - rect: - serializedVersion: 2 - x: 1143 - y: 1591 - width: 16 - height: 49 - alignment: 0 - pivot: {x: 0, y: 0} - border: {x: 0, y: 0, z: 0, w: 0} - outline: [] - physicsShape: [] - tessellationDetail: 0 - bones: [] - spriteID: 4cd68dea3c30b1f48bcd6dd5ad0fffa5 - internalID: 1314131981 - vertices: [] - indices: - edges: [] - weights: [] outline: [] physicsShape: [] bones: [] @@ -784,7 +763,6 @@ TextureImporter: Ball_Full: 8158683621920566786 Ball_Left: -5925680740112638021 Ball_Right: -5567381644477528568 - DogNinja_OtherObjects_0: -1593653543 Idol_Full: 2196219148037962045 Idol_Left: -130797512336752496 Idol_Right: 8490305602720712907 @@ -805,7 +783,6 @@ TextureImporter: WildBreath_Full: 2053246660185171032 WildBreath_Left: -7594402133338608887 WildBreath_Right: 3508372842914876614 - oh it's the little guy. you found him: 1314131981 spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/Scripts/Games/DogNinja/DogNinja.cs b/Assets/Scripts/Games/DogNinja/DogNinja.cs index dc115d9d..5bba6860 100644 --- a/Assets/Scripts/Games/DogNinja/DogNinja.cs +++ b/Assets/Scripts/Games/DogNinja/DogNinja.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using UnityEngine; using TMPro; -using Jukebox; namespace HeavenStudio.Games.Loaders { @@ -14,46 +13,11 @@ namespace HeavenStudio.Games.Loaders { public static Minigame AddGame(EventCaller eventCaller) { - RiqEntity ObjectUpdater(string datamodel, RiqEntity e) - { - if (datamodel == "dogNinja/ThrowObject" && e.version == 0) - { - e["diffObjs"] = e["direction"] == 2 && e["typeL"] != e["typeR"]; - e["type"] = e["direction"] is 0 or 2 ? (int)e["typeL"] : e["typeR"]; - e.version = 1; - - return e; - } - return null; - } - // // Beatmap.Entities isn't available in a riqentity updater... - // RiqEntity BirdUpdater(string datamodel, RiqEntity e) - // { - // if (datamodel == "dogNinja/CutEverything" && e.version == 0) - // { - // RiqEntity nextBird = eventCaller.gameManager.Beatmap.Entities.Find(c => c.datamodel is "dogNinja/CutEverything" && c.beat > e.beat); - // if (nextBird != null) nextBird.datamodel = "dogNinja/DELETE THIS"; - // e.length = nextBird != null ? (float)(nextBird.beat - e.beat) : 4; - // e.version = 1; - - // return e; - // } - // return null; - // } - - RiqBeatmap.OnUpdateEntity += ObjectUpdater; - // RiqBeatmap.OnUpdateEntity += BirdUpdater; - return new Minigame("dogNinja", "Dog Ninja", "554899", false, false, new List() { new GameAction("Bop", "Bop") { - function = delegate { - var e = eventCaller.currentEntity; - if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) { - instance.Bop(e.beat, e.length, e["auto"], e["toggle"]); - } - }, + function = delegate { DogNinja.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, eventCaller.currentEntity["auto"], eventCaller.currentEntity["toggle"]); }, resizable = true, parameters = new List() { @@ -63,28 +27,17 @@ namespace HeavenStudio.Games.Loaders }, new GameAction("Prepare", "Prepare") { - function = delegate { - if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) { - instance.DoPrepare(); - } - }, + function = delegate { DogNinja.instance.Prepare(eventCaller.currentEntity.beat); }, defaultLength = 0.5f, }, new GameAction("ThrowObject", "Throw Object") { - preFunction = delegate { - var e = eventCaller.currentEntity; - DogNinja.QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], e["muteThrow"], e); - }, + function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, e["direction"], e["typeL"], e["typeR"], e["shouldPrepare"], false); }, + inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, e["direction"], e["typeL"], e["typeR"], e["shouldPrepare"], e["muteThrow"]); }, defaultLength = 2, parameters = new List() { new Param("direction", DogNinja.ObjectDirection.Left, "Which Side", "Choose the side(s) the object(s) should be thrown from."), - new Param("diffObjs", false, "Different Objects", "Toggle if the sides should be different.", new() { - new((x, _) => (bool)x, "typeL", "typeR"), - new((x, _) => !(bool)x, "type"), - }), - new Param("type", DogNinja.ObjectType.Random, "Object", "Choose the object to be thrown."), new Param("typeL", DogNinja.ObjectType.Random, "Left Object", "Choose the object to be thrown from the left."), new Param("typeR", DogNinja.ObjectType.Random, "Right Object", "Choose the object to be thrown from the right."), new Param("shouldPrepare", true, "Prepare", "Toggle if Dog Ninja should automatically prepare for this cue."), @@ -93,26 +46,57 @@ namespace HeavenStudio.Games.Loaders }, new GameAction("CutEverything", "Mister Eagle's Sign") { - function = delegate { - var e = eventCaller.currentEntity; - if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) { - instance.CutEverything(e.beat, e.length, e["toggle"], e["text"]); - } - }, - defaultLength = 4f, - resizable = true, + function = delegate { var e = eventCaller.currentEntity; DogNinja.instance.CutEverything(e.beat, e["toggle"], e["text"]); }, + defaultLength = 0.5f, parameters = new List() { - new Param("toggle", true, "Play Sound", "Toggle if the sound effect should play for flying in."), + new Param("toggle", true, "Play Sound", "Toggle if the sound effect should play for flying in and out."), new Param("text", "Cut everything!", "Sign Text", "Set the text to be displayed on the sign.") } }, new GameAction("HereWeGo", "Here We Go!") { - preFunction = delegate { DogNinja.HereWeGo(eventCaller.currentEntity.beat); }, + function = delegate { DogNinja.instance.HereWeGo(eventCaller.currentEntity.beat); }, defaultLength = 2, + inactiveFunction = delegate { DogNinja.HereWeGoInactive(eventCaller.currentEntity.beat); }, preFunctionLength = 1, }, + + // these are still here for backwards-compatibility but are hidden in the editor + new GameAction("ThrowObjectLeft", "Throw Object Left") + { + function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 0, e["type"], 0, true, false);}, + defaultLength = 2, + hidden = true, + parameters = new List() + { + new Param("type", DogNinja.ObjectType.Random, "Object", "The object to be thrown"), + }, + inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 0, e["type"], 0, true, false);}, + }, + new GameAction("ThrowObjectRight", "Throw Object Right") + { + function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 1, 0, e["type"], true, false);}, + defaultLength = 2, + hidden = true, + parameters = new List() + { + new Param("type", DogNinja.ObjectType.Random, "Object", "The object to be thrown"), + }, + inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 1, 0, e["type"], true, false);}, + }, + new GameAction("ThrowObjectBoth", "Throw Object Both") + { + function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 2, e["typeL"], e["typeR"], true, false);}, + defaultLength = 2, + hidden = true, + parameters = new List() + { + new Param("typeL", DogNinja.ObjectType.Random, "Left Object", "The object on the left to be thrown"), + new Param("typeR", DogNinja.ObjectType.Random, "Right Object", "The object on the right to be thrown"), + }, + inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 2, e["typeL"], e["typeR"], true, false);}, + }, }, new List() { "ntr", "normal" }, "ntrninja", "en", @@ -124,14 +108,18 @@ namespace HeavenStudio.Games.Loaders namespace HeavenStudio.Games { - using Jukebox; using Scripts_DogNinja; public class DogNinja : Minigame { - private struct QueuedThrow + static List queuedThrows = new List(); + struct QueuedThrow { - public int[] types; - public string sfxNumL, sfxNumR; + public double beat; + public int direction; + public int typeL; + public int typeR; + public string sfxNumL; + public string sfxNumR; } [Header("Animators")] @@ -139,15 +127,23 @@ namespace HeavenStudio.Games public Animator BirdAnim; // bird flying in and out [Header("References")] - [SerializeField] ThrowObject ObjectBase; + [SerializeField] GameObject ObjectBase; + [SerializeField] GameObject FullBird; [SerializeField] SpriteRenderer WhichObject; - [SerializeField] TMP_Text CutEverythingText; + public SpriteRenderer WhichLeftHalf; + public SpriteRenderer WhichRightHalf; + [SerializeField] TMP_Text cutEverythingText; + + [Header("Curves")] + [SerializeField] BezierCurve3D CurveFromLeft; + [SerializeField] BezierCurve3D CurveFromRight; [SerializeField] Sprite[] ObjectTypes; - private bool autoBop = true; - public bool queuePrepare; - public bool preparing; + private bool birdOnScreen = false; + private const string sfxNum = "dogNinja/"; + + public static DogNinja instance; public enum ObjectDirection { @@ -156,7 +152,7 @@ namespace HeavenStudio.Games Both, } - public enum ObjectType : int + public enum ObjectType { Random, // random fruit Apple, // fruit @@ -199,172 +195,199 @@ namespace HeavenStudio.Games new("NtrNinjaTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat }, IA_Empty, IA_TouchBasicRelease, IA_Empty); - public override void OnLateBeatPulse(double beat) + private void Awake() { - if (autoBop && !preparing && !queuePrepare && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Idle"))) { + instance = this; + SetupBopRegion("dogNinja", "Bop", "auto"); + } + + void OnDestroy() + { + if (!Conductor.instance.isPlaying || Conductor.instance.isPaused) + { + if (queuedThrows.Count > 0) queuedThrows.Clear(); + } + foreach (var evt in scheduledInputs) + { + evt.Disable(); + } + } + + public override void OnBeatPulse(double beat) + { + if (BeatIsInBopRegion(beat) && DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Idle")) { DogAnim.DoScaledAnimationAsync("Bop", 0.5f); } } - public override void OnPlay(double beat) - { - foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat > e.beat && beat < e.beat + 1)) - { - DogAnim.Play("Prepare", 0, 1); - preparing = true; - QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], true, e); - } - } - - public override void OnGameSwitch(double beat) - { - foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat >= e.beat - 2 && beat < e.beat + 1)) - { - QueuedThrow t = e["throwData"]; - bool shouldPrepare = e["shouldPrepare"]; - if (beat > e.beat) { - shouldPrepare = false; - DogAnim.Play("Prepare", 0, 1); - preparing = true; - } - ThrowObject(e.beat, e["direction"], shouldPrepare, t.types, t.sfxNumL, t.sfxNumR); - } - } - private void Update() { - // prepare queuing stuff - if (queuePrepare && !preparing && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Bop"))) + if (DogAnim.GetBool("needPrepare") && DogAnim.IsAnimationNotPlaying()) { DogAnim.DoScaledAnimationAsync("Prepare", 0.5f); - preparing = true; - queuePrepare = false; + DogAnim.SetBool("needPrepare", true); } - // controls stuff if (PlayerInput.GetIsAction(InputAction_TouchPress) && !GameManager.instance.autoplay) { - // queuePrepare = true; + DogAnim.SetBool("needPrepare", true); DogAnim.DoScaledAnimationAsync("Prepare", 0.5f); - preparing = true; } if (PlayerInput.GetIsAction(InputAction_TouchRelease) && (!IsExpectingInputNow(InputAction_Press)) && (!GameManager.instance.autoplay)) { - StopPrepare(); - DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f); + DogAnim.SetBool("needPrepare", false); + DogAnim.DoScaledAnimationAsync("Bop", 0.5f); } if (PlayerInput.GetIsAction(InputAction_Press) && !IsExpectingInputNow(InputAction_Press)) { - string slice = UnityEngine.Random.Range(0, 1f) < 0.5f ? "WhiffRight" : "WhiffLeft"; - DogAnim.DoScaledAnimationAsync(slice, 0.5f); + System.Random rd = new System.Random(); + string slice; + int LorR = rd.Next(0, 2); + if (LorR < 1) + { + slice = "WhiffRight"; + } + else + { + slice = "WhiffLeft"; + } + DogAnim.DoScaledAnimationAsync(slice, 0.5f); SoundByte.PlayOneShotGame("dogNinja/whiff"); - StopPrepare(); + DogAnim.SetBool("needPrepare", false); + } + + if (queuedThrows.Count > 0) + { + foreach (var obj in queuedThrows) { ThrowObject(obj.beat, obj.direction, obj.typeL, obj.typeR, obj.sfxNumL, obj.sfxNumR); } + queuedThrows.Clear(); } } public void Bop(double beat, float length, bool auto, bool bop) { - autoBop = auto; if (!bop) return; - List actions = new(); - for (int i = 0; i < length; i++) { + + 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, bool diffObjs, int type, int typeL, int typeR, bool prepare, bool muteThrow, RiqEntity e) + public static void QueueObject(double beat, int direction, int typeL, int typeR, bool prepare, bool muteThrow) { - int randomObj = 1; - int[] types = diffObjs ? new[] { typeL, typeR } : new[] { type, type }; - string[] sfxNums = new string[2]; - - for (int i = 0; i < 2; i++) + int ObjSprite = 1; + if (typeL == 0 || typeR == 0) { - if (types[i] == 0 && (diffObjs || i == 0)) randomObj = UnityEngine.Random.Range((int)ObjectType.Apple, (int)ObjectType.Potato + 1); - if (types[i] == 0) types[i] = randomObj; - sfxNums[i] = "dogNinja/" + (types[i] < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), types[i])); + // random object code. it makes a random number from 1-7 and sets that as the sprite + System.Random rd = new System.Random(); + ObjSprite = rd.Next(1, 7); } - if (!muteThrow) { - for (int i = 0; i < (direction == 2 && diffObjs ? 2 : 1); i++) { - SoundByte.PlayOneShotGame(sfxNums[i] + "1", beat, forcePlay: true); - } - } - - if (GameManager.instance.minigame is DogNinja instance) { - instance.ThrowObject(beat, direction, prepare, types, sfxNums[0], sfxNums[1]); - - } else { - var queuedThrow = new QueuedThrow() { - types = types, - sfxNumL = sfxNums[0], - sfxNumR = sfxNums[1], - }; - // funny static variable workaround :) - if (!e.dynamicData.TryAdd("throwData", queuedThrow)) { - e["throwData"] = queuedThrow; - } - } - } - - public void ThrowObject(double beat, int direction, bool prepare, int[] types, string sfxNumL, string sfxNumR) - { - if (prepare) { - BeatAction.New(this, new() { - new(beat, () => queuePrepare = PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay) - }); - } - for (int i = 0; i < (direction == 2 ? 2 : 1); i++) + string sfxNumL = "dogNinja/"; + if (direction is 0 or 2) { - bool l = direction is 2 ? i == 0 : direction == 0; - WhichObject.sprite = ObjectTypes[l ? types[0] : types[1]]; - ThrowObject obj = Instantiate(ObjectBase, transform); - obj.startBeat = beat; - obj.direction = direction; - obj.fromLeft = l; - obj.type = l ? types[0] : types[1]; - obj.sfxNum = l ? sfxNumL : sfxNumR; - if (direction == 2) obj.shouldSfx = l == (types[0] == types[1]); + sfxNumL += typeL < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), typeL); + if (typeL == 0) typeL = ObjSprite; + if (!muteThrow) SoundByte.PlayOneShotGame(sfxNumL + "1", forcePlay: true); } - } - public void CutEverything(double beat, float length, bool sound, string customText) - { - if (sound) SoundByte.PlayOneShotGame("dogNinja/bird_flap"); - BirdAnim.DoScaledAnimationAsync("FlyIn", 0.5f); - CutEverythingText.text = customText; + string sfxNumR = "dogNinja/"; + if (direction is 1 or 2) + { + sfxNumR += typeR < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), typeR); + if (typeR == 0) typeR = ObjSprite; + if (!(direction == 2 && typeL == typeR) && !muteThrow) SoundByte.PlayOneShotGame(sfxNumR + "1", forcePlay: true); + } - BeatAction.New(this, new() { - new(beat + length, () => BirdAnim.Play("FlyOut", 0, 0)) + queuedThrows.Add(new QueuedThrow() + { + beat = beat, + direction = direction, + typeL = typeL, + typeR = typeR, + sfxNumL = sfxNumL, + sfxNumR = sfxNumR, }); + + prepare = prepare && (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay); + if (prepare) DogNinja.instance.DogAnim.SetBool("needPrepare", true); } - public void StopPrepare() + public void ThrowObject(double beat, int direction, int typeL, int typeR, string sfxNumL, string sfxNumR) { - preparing = false; - queuePrepare = false; + // instantiate a game object and give it its variables + if (direction is 0 or 2) + { + WhichObject.sprite = ObjectTypes[typeL]; + ThrowObject ObjectL = Instantiate(ObjectBase, gameObject.transform).GetComponent(); + ObjectL.startBeat = beat; + ObjectL.curve = CurveFromLeft; + ObjectL.fromLeft = true; + ObjectL.direction = direction; + ObjectL.type = typeL; + ObjectL.sfxNum = sfxNumL; + if (direction == 2) ObjectL.shouldSfx = (typeL == typeR); + } + + if (direction is 1 or 2) + { + WhichObject.sprite = ObjectTypes[typeR]; + ThrowObject ObjectR = Instantiate(ObjectBase, gameObject.transform).GetComponent(); + ObjectR.startBeat = beat; + ObjectR.curve = CurveFromRight; + ObjectR.fromLeft = false; + ObjectR.direction = direction; + ObjectR.type = typeR; + ObjectR.sfxNum = sfxNumR; + if (direction == 2) ObjectR.shouldSfx = !(typeL == typeR); + } } - public void DoPrepare() + public void CutEverything(double beat, bool sound, string customText) + { + // plays one anim with sfx when it's not on screen, plays a different anim with no sfx when on screen. ez + if (!birdOnScreen) + { + FullBird.SetActive(true); + if (sound) + { + SoundByte.PlayOneShotGame(sfxNum + "bird_flap"); + } + BirdAnim.Play("FlyIn", 0, 0); + birdOnScreen = true; + cutEverythingText.text = customText; + } + else + { + BirdAnim.Play("FlyOut", 0, 0); + birdOnScreen = false; + } + } + + public void Prepare(double beat) { if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch && PlayerInput.PlayerHasControl()) return; - DogAnim.DoScaledAnimationAsync("Prepare", 0.5f); - preparing = true; + if (!DogAnim.GetBool("needPrepare")) DogAnim.DoScaledAnimationAsync("Prepare", 0.5f); + DogAnim.SetBool("needPrepare", true); } - public static void HereWeGo(double beat) + public void HereWeGo(double beat) { - // // sound sequence isn't working? - // PlaySoundSequence("dogNinja", "here_we_go", beat); - MultiSound.Play(new List() { - new("dogNinja/here", beat + 0), - new("dogNinja/we", beat + 0.5), - new("dogNinja/go", beat + 1), - }, forcePlay: true); + MultiSound.Play(new MultiSound.Sound[] { + new MultiSound.Sound(sfxNum+"here", beat), + new MultiSound.Sound(sfxNum+"we", beat + 0.5f), + new MultiSound.Sound(sfxNum+"go", beat + 1f) + }, forcePlay: true); + } + + public static void HereWeGoInactive(double beat) + { + DogNinja.instance.HereWeGo(beat); } } } diff --git a/Assets/Scripts/Games/DogNinja/SpawnHalves.cs b/Assets/Scripts/Games/DogNinja/SpawnHalves.cs index 094086e9..30c76e4c 100644 --- a/Assets/Scripts/Games/DogNinja/SpawnHalves.cs +++ b/Assets/Scripts/Games/DogNinja/SpawnHalves.cs @@ -4,14 +4,15 @@ using System; using UnityEngine; using NaughtyBezierCurves; +using HeavenStudio.Util; namespace HeavenStudio.Games.Scripts_DogNinja { - // this code sucks but i don't wanna touch it. it works fine enough. sorry! public class SpawnHalves : MonoBehaviour { public double startBeat; public Vector3 objPos; + private Vector3 posModifier; public bool lefty; float bpmModifier; double songPos; @@ -22,20 +23,27 @@ namespace HeavenStudio.Games.Scripts_DogNinja [SerializeField] BezierCurve3D fallLeftCurve; [SerializeField] BezierCurve3D fallRightCurve; BezierCurve3D curve; - public SpriteRenderer sr; + [SerializeField] Transform halvesParent; + + private DogNinja game; + + private void Awake() + { + game = DogNinja.instance; + bpmModifier = Conductor.instance.songBpm / 100; + songPos = Conductor.instance.songPositionInBeatsAsDouble; + } private void Start() { - bpmModifier = Conductor.instance.songBpm / 100; - songPos = Conductor.instance.songPositionInBeatsAsDouble; curve = lefty ? fallRightCurve : fallLeftCurve; } private void Update() { - float flyPosHalves = (Conductor.instance.GetPositionFromBeat(songPos, 3f) * Conductor.instance.GetPositionFromBeat(songPos, 2f)) + Conductor.instance.GetPositionFromBeat(songPos, 1f); - flyPosHalves = (flyPosHalves * 0.2f) + 0.35f; - transform.position = curve.GetPoint(flyPosHalves) + objPos; + float flyPosHalves = (Conductor.instance.GetPositionFromBeat(songPos, 3f)*(Conductor.instance.GetPositionFromBeat(songPos, 2f)))+Conductor.instance.GetPositionFromBeat(songPos, 1f); + flyPosHalves = (flyPosHalves*0.2f)+0.35f; + transform.position = curve.GetPoint(flyPosHalves)+objPos; float rot = rotSpeed; rot *= lefty ? bpmModifier : -1 * bpmModifier; @@ -43,8 +51,13 @@ namespace HeavenStudio.Games.Scripts_DogNinja // clean-up logic if (flyPosHalves > 1f) { - Destroy(gameObject); - } + GameObject.Destroy(gameObject); + }; + + if ((!Conductor.instance.isPlaying && !Conductor.instance.isPaused) + || GameManager.instance.currentGame != "dogNinja") { + GameObject.Destroy(gameObject); + }; } } } diff --git a/Assets/Scripts/Games/DogNinja/ThrowObject.cs b/Assets/Scripts/Games/DogNinja/ThrowObject.cs index 69ef9ffb..8aaf1151 100644 --- a/Assets/Scripts/Games/DogNinja/ThrowObject.cs +++ b/Assets/Scripts/Games/DogNinja/ThrowObject.cs @@ -10,8 +10,6 @@ namespace HeavenStudio.Games.Scripts_DogNinja { public class ThrowObject : MonoBehaviour { - [SerializeField] DogNinja game; - public double startBeat; public int type; public bool fromLeft; @@ -28,84 +26,120 @@ namespace HeavenStudio.Games.Scripts_DogNinja [Header("References")] public BezierCurve3D curve; - [SerializeField] BezierCurve3D LeftCurve; - [SerializeField] BezierCurve3D RightCurve; - private BezierCurve3D barelyCurve; + [SerializeField] BezierCurve3D barelyCurve; [SerializeField] BezierCurve3D BarelyLeftCurve; [SerializeField] BezierCurve3D BarelyRightCurve; - [SerializeField] SpawnHalves HalvesLeftBase; - [SerializeField] SpawnHalves HalvesRightBase; + [SerializeField] GameObject HalvesLeftBase; + [SerializeField] GameObject HalvesRightBase; + [SerializeField] Transform ObjectParent; public Sprite[] objectLeftHalves; public Sprite[] objectRightHalves; + private DogNinja game; + + private void Awake() + { + game = DogNinja.instance; + DogAnim = game.DogAnim; + } + private void Start() { - DogAnim = game.DogAnim; - curve = fromLeft ? LeftCurve : RightCurve; barelyCurve = fromLeft ? BarelyRightCurve : BarelyLeftCurve; - - game.ScheduleInput(startBeat, 1f, DogNinja.InputAction_Press, Hit, Miss, null); + + game.ScheduleInput(startBeat, 1f, DogNinja.InputAction_Press, Hit, Miss, Out); } private void Update() { + float flyPos = Conductor.instance.GetPositionFromBeat(startBeat, 1f)+1.1f; + float flyPosBarely = Conductor.instance.GetPositionFromBeat(barelyTime, 1f)+1f; if (isActive) { - float flyPos = game.conductor.GetPositionFromBeat(startBeat, 1f)+1.1f; flyPos *= 0.31f; transform.position = curve.GetPoint(flyPos); objPos = curve.GetPoint(flyPos); // destroy object when it's off-screen if (flyPos > 1f) { - Destroy(gameObject); + GameObject.Destroy(gameObject); } } else { - float flyPosBarely = game.conductor.GetPositionFromBeat(barelyTime, 1f)+1f; flyPosBarely *= 0.3f; transform.position = barelyCurve.GetPoint(flyPosBarely) + objPos; float rot = fromLeft ? 200f : -200f; transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + (rot * Time.deltaTime)); if (flyPosBarely > 1f) { - Destroy(gameObject); + GameObject.Destroy(gameObject); } } + + if ((!Conductor.instance.isPlaying && !Conductor.instance.isPaused) + || GameManager.instance.currentGame != "dogNinja") { + GameObject.Destroy(gameObject); + } } - private void Hit(PlayerActionEvent caller, float state) + private void SuccessSlice() { - game.StopPrepare(); - string dir = direction switch { + string slice = "Slice" + direction switch + { 0 => "Left", 1 => "Right", _ => "Both", }; - if (state >= 1f || state <= -1f) { - isActive = false; - barelyTime = game.conductor.songPositionInBeatsAsDouble; - DogAnim.DoScaledAnimationAsync("Barely" + dir, 0.5f); - if (shouldSfx) SoundByte.PlayOneShotGame("dogNinja/barely"); - } else { - DogAnim.DoScaledAnimationAsync("Slice" + dir, 0.5f); - if (shouldSfx) SoundByte.PlayOneShotGame(sfxNum + "2"); + DogAnim.DoScaledAnimationAsync(slice, 0.5f); + if (shouldSfx) SoundByte.PlayOneShotGame(sfxNum+"2"); - HalvesLeftBase.sr.sprite = objectLeftHalves[type - 1]; - HalvesRightBase.sr.sprite = objectRightHalves[type - 1]; - for (int i = 0; i < 2; i++) { - SpawnHalves half = Instantiate(i == 0 ? HalvesLeftBase : HalvesRightBase, game.transform); - half.startBeat = startBeat; - half.lefty = fromLeft; - half.objPos = objPos; - } + game.WhichLeftHalf.sprite = objectLeftHalves[type-1]; + game.WhichRightHalf.sprite = objectRightHalves[type-1]; - Destroy(gameObject); - } + SpawnHalves LeftHalf = Instantiate(HalvesLeftBase, game.gameObject.transform).GetComponent(); + LeftHalf.startBeat = startBeat; + LeftHalf.lefty = fromLeft; + LeftHalf.objPos = objPos; + + SpawnHalves RightHalf = Instantiate(HalvesRightBase, game.gameObject.transform).GetComponent(); + RightHalf.startBeat = startBeat; + RightHalf.lefty = fromLeft; + RightHalf.objPos = objPos; + + GameObject.Destroy(gameObject); + } + + private void JustSlice() + { + isActive = false; + barelyTime = Conductor.instance.songPositionInBeatsAsDouble; + + string barely = "Barely" + direction switch + { + 0 => "Left", + 1 => "Right", + 2 => "Both", + _ => "Both", + }; + + DogAnim.DoScaledAnimationAsync(barely, 0.5f); + SoundByte.PlayOneShotGame("dogNinja/barely"); + } + + private void Hit(PlayerActionEvent caller, float state) + { + game.DogAnim.SetBool("needPrepare", false); + if (state >= 1f || state <= -1f) JustSlice(); + else SuccessSlice(); } private void Miss(PlayerActionEvent caller) { - if (!game.preparing) return; - DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f); - game.StopPrepare(); + if (!DogAnim.GetBool("needPrepare")) return; + DogAnim.DoScaledAnimationAsync("UnPrepare", 0.5f); + DogAnim.SetBool("needPrepare", false); + } + + private void Out(PlayerActionEvent caller) + { + DogAnim.SetBool("needPrepare", false); } } }