diff --git a/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller b/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller
deleted file mode 100644
index 31104a1..0000000
--- a/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller
+++ /dev/null
@@ -1,875 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!91 &9100000
-AnimatorController:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player
- serializedVersion: 5
- m_AnimatorParameters:
- - m_Name: velocityX
- m_Type: 1
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: velocityY
- m_Type: 1
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: grounded
- m_Type: 4
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: hurt
- m_Type: 9
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: dead
- m_Type: 4
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: victory
- m_Type: 9
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- m_AnimatorLayers:
- - serializedVersion: 5
- m_Name: Base Layer
- m_StateMachine: {fileID: 110773768}
- m_Mask: {fileID: 0}
- m_Motions: []
- m_Behaviours: []
- m_BlendingMode: 0
- m_SyncedLayerIndex: -1
- m_DefaultWeight: 0
- m_IKPass: 0
- m_SyncedLayerAffectsTiming: 0
- m_Controller: {fileID: 9100000}
---- !u!114 &11480606
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b1bd5d5f27229ad4591209fc9dbc571d, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!206 &20673490
-BlendTree:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Blend Tree
- m_Childs: []
- m_BlendParameter: velocityX
- m_BlendParameterY: velocityX
- m_MinThreshold: 0
- m_MaxThreshold: 1
- m_UseAutomaticThresholds: 1
- m_NormalizedBlendValues: 0
- m_BlendType: 0
---- !u!1101 &110119416
-AnimatorStateTransition:
- m_ObjectHideFlags: 3
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityY
- m_EventTreshold: -0.001
- - m_ConditionMode: 4
- m_ConditionEvent: velocityY
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &110135224
-AnimatorStateTransition:
- m_ObjectHideFlags: 3
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityY
- m_EventTreshold: -0.001
- - m_ConditionMode: 4
- m_ConditionEvent: velocityY
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1107 &110773768
-AnimatorStateMachine:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Base Layer
- m_ChildStates:
- - serializedVersion: 1
- m_State: {fileID: 1102433169737779366}
- m_Position: {x: 180, y: -300, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102080591485173368}
- m_Position: {x: -180, y: -300, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102635880149297478}
- m_Position: {x: -180, y: -384, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102893087117896476}
- m_Position: {x: -180, y: -468, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102567981102962784}
- m_Position: {x: 624, y: -240, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102799505466558240}
- m_Position: {x: 444, y: -552, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102728030185773884}
- m_Position: {x: 180, y: -612, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102101735027427872}
- m_Position: {x: 408, y: -360, z: 0}
- m_ChildStateMachines: []
- m_AnyStateTransitions:
- - {fileID: 1101020438278029396}
- - {fileID: 1101979291509282352}
- m_EntryTransitions: []
- m_StateMachineTransitions: {}
- m_StateMachineBehaviours: []
- m_AnyStatePosition: {x: -156, y: -600, z: 0}
- m_EntryPosition: {x: -108, y: 96, z: 0}
- m_ExitPosition: {x: 168, y: 96, z: 0}
- m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
- m_DefaultState: {fileID: 1102433169737779366}
---- !u!114 &114426900495757286
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0
- modulus: 1
- clip: {fileID: 8300000, guid: bdb49257b73be764a8c04e4f37302e0e, type: 3}
---- !u!114 &114742276622948332
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0.5
- modulus: 0
- clip: {fileID: 8300000, guid: dd6057fd464f77942a0bf39c54651b32, type: 3}
---- !u!114 &114792792654640044
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0.5
- modulus: 1
- clip: {fileID: 8300000, guid: 3318e557ea5714340abb5376ce7fb8c6, type: 3}
---- !u!1101 &1101000010127028388
-AnimatorStateTransition:
- m_ObjectHideFlags: 3
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 2
- m_ConditionEvent: isOnLadder
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101000013044116430
-AnimatorStateTransition:
- m_ObjectHideFlags: 3
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 1
- m_ConditionEvent: isOnLadder
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101020438278029396
-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: hurt
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102893087117896476}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.75
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101097057239182888
-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: 1102433169737779366}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101194753123747068
-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: grounded
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.755102
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101206675116842120
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102080591485173368}
- 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!1101 &1101250821993438118
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.01
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101271946134355888
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 4
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102433169737779366}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.8965517
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101338692065465862
-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: grounded
- m_EventTreshold: 0
- - m_ConditionMode: 4
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.1
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102101735027427872}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.93877554
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 2
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101496968763563110
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.92105263
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101527113532506290
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102635880149297478}
- 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!1101 &1101650061105857342
-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: grounded
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102567981102962784}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.92105263
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101753958007847430
-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: 1102433169737779366}
- 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!1101 &1101838301506065048
-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: 1102635880149297478}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0.5862069
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101889979270789454
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102433169737779366}
- 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!1101 &1101909242155072592
-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: grounded
- m_EventTreshold: 0.01
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102567981102962784}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.8965517
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101979291509282352
-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: victory
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102728030185773884}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 1
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1102 &1102080591485173368
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Spawn
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101753958007847430}
- 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: f382f645d530b48e2a2137bfbf095647, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102101735027427872
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Land
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101097057239182888}
- - {fileID: 1101250821993438118}
- m_StateMachineBehaviours:
- - {fileID: 114742276622948332}
- 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: 9d77f2a0966c94ef3b13bd6bdac0da40, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102433169737779366
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Idle
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101496968763563110}
- - {fileID: 1101650061105857342}
- 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: 712f4510fc9b249348d4d8e97b12dc45, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102567981102962784
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Jump
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101338692065465862}
- - {fileID: 1101194753123747068}
- 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: 1d7e02f8cf5ba47a78bc1e19cc378478, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102635880149297478
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Death
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101206675116842120}
- 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: e0e8baec160e44e1bb74ca8e08777453, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102728030185773884
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Victory
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions: []
- m_StateMachineBehaviours: []
- m_Position: {x: 50, y: 50, z: 0}
- m_IKOnFeet: 0
- m_WriteDefaultValues: 1
- m_Mirror: 0
- m_SpeedParameterActive: 0
- m_MirrorParameterActive: 0
- m_CycleOffsetParameterActive: 0
- m_TimeParameterActive: 0
- m_Motion: {fileID: 7400000, guid: e4a08f6d2d50b4e65b8dc54c2429f307, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102799505466558240
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Run
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101271946134355888}
- - {fileID: 1101909242155072592}
- m_StateMachineBehaviours:
- - {fileID: 114426900495757286}
- - {fileID: 114792792654640044}
- 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: 56811a918221743d69fe84599f43c740, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102893087117896476
-AnimatorState:
- serializedVersion: 5
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Hurt
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101889979270789454}
- - {fileID: 1101527113532506290}
- 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: acd3fdc6781e749908cec8f29cbac75f, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
diff --git a/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller.meta b/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller.meta
deleted file mode 100644
index fdbef93..0000000
--- a/Assets/Character/Animations/Player.controller.bak_20260424_0003.controller.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f4327fd0671a5b54789bda766002f2a2
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller b/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller
deleted file mode 100644
index ee4d581..0000000
--- a/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller
+++ /dev/null
@@ -1,959 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!91 &9100000
-AnimatorController:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player
- serializedVersion: 5
- m_AnimatorParameters:
- - m_Name: velocityX
- m_Type: 1
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: velocityY
- m_Type: 1
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: grounded
- m_Type: 4
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: hurt
- m_Type: 9
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: dead
- m_Type: 4
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: victory
- m_Type: 9
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- - m_Name: attack
- m_Type: 9
- m_DefaultFloat: 0
- m_DefaultInt: 0
- m_DefaultBool: 0
- m_Controller: {fileID: 9100000}
- m_AnimatorLayers:
- - serializedVersion: 5
- m_Name: Base Layer
- m_StateMachine: {fileID: 110773768}
- m_Mask: {fileID: 0}
- m_Motions: []
- m_Behaviours: []
- m_BlendingMode: 0
- m_SyncedLayerIndex: -1
- m_DefaultWeight: 0
- m_IKPass: 0
- m_SyncedLayerAffectsTiming: 0
- m_Controller: {fileID: 9100000}
---- !u!114 &11480606
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b1bd5d5f27229ad4591209fc9dbc571d, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!206 &20673490
-BlendTree:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Blend Tree
- m_Childs: []
- m_BlendParameter: velocityX
- m_BlendParameterY: velocityX
- m_MinThreshold: 0
- m_MaxThreshold: 1
- m_UseAutomaticThresholds: 1
- m_NormalizedBlendValues: 0
- m_BlendType: 0
---- !u!1101 &110119416
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityY
- m_EventTreshold: -0.001
- - m_ConditionMode: 4
- m_ConditionEvent: velocityY
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &110135224
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityY
- m_EventTreshold: -0.001
- - m_ConditionMode: 4
- m_ConditionEvent: velocityY
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1107 &110773768
-AnimatorStateMachine:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Base Layer
- m_ChildStates:
- - serializedVersion: 1
- m_State: {fileID: 1102433169737779366}
- m_Position: {x: 180, y: -300, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102080591485173368}
- m_Position: {x: -180, y: -300, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102635880149297478}
- m_Position: {x: -180, y: -384, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102893087117896476}
- m_Position: {x: -180, y: -468, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102567981102962784}
- m_Position: {x: 624, y: -240, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102799505466558240}
- m_Position: {x: 444, y: -552, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102728030185773884}
- m_Position: {x: 180, y: -612, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102101735027427872}
- m_Position: {x: 410, y: -360, z: 0}
- - serializedVersion: 1
- m_State: {fileID: 1102700000000000001}
- m_Position: {x: 680, y: -480, z: 0}
- m_ChildStateMachines: []
- m_AnyStateTransitions:
- - {fileID: 1101020438278029396}
- - {fileID: 1101979291509282352}
- - {fileID: 1101700000000000001}
- m_EntryTransitions: []
- m_StateMachineTransitions: {}
- m_StateMachineBehaviours: []
- m_AnyStatePosition: {x: -156, y: -600, z: 0}
- m_EntryPosition: {x: -108, y: 96, z: 0}
- m_ExitPosition: {x: 168, y: 96, z: 0}
- m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
- m_DefaultState: {fileID: 1102433169737779366}
---- !u!114 &114426900495757286
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0
- modulus: 1
- clip: {fileID: 8300000, guid: bdb49257b73be764a8c04e4f37302e0e, type: 3}
---- !u!114 &114742276622948332
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0.5
- modulus: 0
- clip: {fileID: 8300000, guid: dd6057fd464f77942a0bf39c54651b32, type: 3}
---- !u!114 &114792792654640044
-MonoBehaviour:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1715bf1b7a5e8480aba89c75b75ce7cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- t: 0.5
- modulus: 1
- clip: {fileID: 8300000, guid: 3318e557ea5714340abb5376ce7fb8c6, type: 3}
---- !u!1101 &1101000010127028388
-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: isOnLadder
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101000013044116430
-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: isOnLadder
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 0}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101020438278029396
-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: hurt
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102893087117896476}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.75
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101097057239182888
-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: 1102433169737779366}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101194753123747068
-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: grounded
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.755102
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101206675116842120
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102080591485173368}
- 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!1101 &1101250821993438118
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.01
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101271946134355888
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 4
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102433169737779366}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.8965517
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101338692065465862
-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: grounded
- m_EventTreshold: 0
- - m_ConditionMode: 4
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.1
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102101735027427872}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.93877554
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 2
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101496968763563110
-AnimatorStateTransition:
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name:
- m_Conditions:
- - m_ConditionMode: 3
- m_ConditionEvent: velocityX
- m_EventTreshold: 0.001
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102799505466558240}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.92105263
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101527113532506290
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102635880149297478}
- 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!1101 &1101650061105857342
-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: grounded
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102567981102962784}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.92105263
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101700000000000001
-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: attack
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102700000000000001}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 0
---- !u!1101 &1101700000000000002
-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: 1102433169737779366}
- 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: 0
---- !u!1101 &1101753958007847430
-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: 1102433169737779366}
- 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!1101 &1101838301506065048
-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: 1102635880149297478}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0.25
- m_TransitionOffset: 0
- m_ExitTime: 0.5862069
- m_HasExitTime: 1
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101889979270789454
-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: dead
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102433169737779366}
- 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!1101 &1101909242155072592
-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: grounded
- m_EventTreshold: 0.01
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102567981102962784}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 0.8965517
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1101 &1101979291509282352
-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: victory
- m_EventTreshold: 0
- m_DstStateMachine: {fileID: 0}
- m_DstState: {fileID: 1102728030185773884}
- m_Solo: 0
- m_Mute: 0
- m_IsExit: 0
- serializedVersion: 3
- m_TransitionDuration: 0
- m_TransitionOffset: 0
- m_ExitTime: 1
- m_HasExitTime: 0
- m_HasFixedDuration: 1
- m_InterruptionSource: 0
- m_OrderedInterruption: 1
- m_CanTransitionToSelf: 1
---- !u!1102 &1102080591485173368
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Spawn
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101753958007847430}
- 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: f382f645d530b48e2a2137bfbf095647, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102101735027427872
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Land
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101097057239182888}
- - {fileID: 1101250821993438118}
- m_StateMachineBehaviours:
- - {fileID: 114742276622948332}
- 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: 9d77f2a0966c94ef3b13bd6bdac0da40, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102433169737779366
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Idle
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101496968763563110}
- - {fileID: 1101650061105857342}
- 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: 712f4510fc9b249348d4d8e97b12dc45, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102567981102962784
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Jump
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101338692065465862}
- - {fileID: 1101194753123747068}
- 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: 1d7e02f8cf5ba47a78bc1e19cc378478, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102635880149297478
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Death
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101206675116842120}
- 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: e0e8baec160e44e1bb74ca8e08777453, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102700000000000001
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Attack
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101700000000000002}
- 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: c8d7e5a1f9b24e63a7f5d2c8e1b9a4f7, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102728030185773884
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Victory
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions: []
- m_StateMachineBehaviours: []
- m_Position: {x: 50, y: 50, z: 0}
- m_IKOnFeet: 0
- m_WriteDefaultValues: 1
- m_Mirror: 0
- m_SpeedParameterActive: 0
- m_MirrorParameterActive: 0
- m_CycleOffsetParameterActive: 0
- m_TimeParameterActive: 0
- m_Motion: {fileID: 7400000, guid: e4a08f6d2d50b4e65b8dc54c2429f307, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102799505466558240
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Run
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101271946134355888}
- - {fileID: 1101909242155072592}
- m_StateMachineBehaviours:
- - {fileID: 114426900495757286}
- - {fileID: 114792792654640044}
- 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: 56811a918221743d69fe84599f43c740, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
---- !u!1102 &1102893087117896476
-AnimatorState:
- serializedVersion: 6
- m_ObjectHideFlags: 1
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Player-Hurt
- m_Speed: 1
- m_CycleOffset: 0
- m_Transitions:
- - {fileID: 1101889979270789454}
- - {fileID: 1101527113532506290}
- 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: acd3fdc6781e749908cec8f29cbac75f, type: 2}
- m_Tag:
- m_SpeedParameter:
- m_MirrorParameter:
- m_CycleOffsetParameter:
- m_TimeParameter:
diff --git a/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller.meta b/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller.meta
deleted file mode 100644
index 59684b1..0000000
--- a/Assets/Character/Animations/Player.controller.bak_20260507_1253.controller.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 716cc6be34bdbaf4091c51461cc08e7e
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim b/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim
deleted file mode 100644
index 0855d5b..0000000
--- a/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim
+++ /dev/null
@@ -1,77 +0,0 @@
-%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: PlayerAttack
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: -3268567323430263305, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.12
- value: {fileID: -4525875448817710236, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.24
- value: {fileID: -8380257067553380390, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.36
- value: {fileID: -1190320539591917301, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 12
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: -3268567323430263305, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -4525875448817710236, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -8380257067553380390, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -1190320539591917301, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 0.48
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 0
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim.meta b/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim.meta
deleted file mode 100644
index 4b35db4..0000000
--- a/Assets/Character/Animations/PlayerAttack.anim.bak_20260507_1253.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 1960dbf061b2541438d076ff8d45feb9
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim b/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim
deleted file mode 100644
index 1b95364..0000000
--- a/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim
+++ /dev/null
@@ -1,113 +0,0 @@
-%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: PlayerDeath
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 21300000, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.083333336
- value: {fileID: 21300002, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.16666667
- value: {fileID: 21300004, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.25
- value: {fileID: 21300006, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.33333334
- value: {fileID: 21300008, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.41666666
- value: {fileID: 21300010, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.5
- value: {fileID: 21300012, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.5833333
- value: {fileID: 21300014, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.6666667
- value: {fileID: 21300016, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.75
- value: {fileID: 21300018, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.8333333
- value: {fileID: 21300020, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 0.9166667
- value: {fileID: 21300022, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 1
- value: {fileID: 21300024, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 1.0833334
- value: {fileID: 21300026, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 1.1666666
- value: {fileID: 21300028, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - time: 1.25
- value: {fileID: 21300030, guid: 75b38086a902846edbae786183b0274d, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 12
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 21300000, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300002, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300004, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300006, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300008, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300010, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300012, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300014, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300016, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300018, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300020, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300022, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300024, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300026, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300028, guid: 75b38086a902846edbae786183b0274d, type: 3}
- - {fileID: 21300030, guid: 75b38086a902846edbae786183b0274d, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 1.3333334
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 0
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim.meta b/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim.meta
deleted file mode 100644
index 4ec85a1..0000000
--- a/Assets/Character/Animations/PlayerDeath.anim.bak_20260507_1253.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2a7f019664ef52c47aa4593ff5a52096
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim b/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim
deleted file mode 100644
index 89fced3..0000000
--- a/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim
+++ /dev/null
@@ -1,179 +0,0 @@
-%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: PlayerIdle
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 21300000, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.083333336
- value: {fileID: 21300002, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.16666667
- value: {fileID: 21300004, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.25
- value: {fileID: 21300006, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.33333334
- value: {fileID: 21300008, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.41666666
- value: {fileID: 21300010, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.5
- value: {fileID: 21300012, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.5833333
- value: {fileID: 21300014, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.6666667
- value: {fileID: 21300016, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.75
- value: {fileID: 21300018, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.8333333
- value: {fileID: 21300020, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 0.9166667
- value: {fileID: 21300022, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1
- value: {fileID: 21300024, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.0833334
- value: {fileID: 21300026, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.1666666
- value: {fileID: 21300028, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.25
- value: {fileID: 21300030, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.3333334
- value: {fileID: 21300032, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.4166666
- value: {fileID: 21300034, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.5
- value: {fileID: 21300036, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.5833334
- value: {fileID: 21300038, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.6666666
- value: {fileID: 21300040, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.75
- value: {fileID: 21300042, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.8333334
- value: {fileID: 21300044, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 1.9166666
- value: {fileID: 21300046, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2
- value: {fileID: 21300048, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.0833333
- value: {fileID: 21300050, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.1666667
- value: {fileID: 21300052, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.25
- value: {fileID: 21300054, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.3333333
- value: {fileID: 21300056, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.4166667
- value: {fileID: 21300058, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.5
- value: {fileID: 21300060, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.5833333
- value: {fileID: 21300062, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.6666667
- value: {fileID: 21300064, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.75
- value: {fileID: 21300066, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.8333333
- value: {fileID: 21300068, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 2.9166667
- value: {fileID: 21300070, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 3
- value: {fileID: 21300072, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - time: 3.0833333
- value: {fileID: 21300074, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 12
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 21300000, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300002, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300004, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300006, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300008, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300010, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300012, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300014, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300016, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300018, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300020, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300022, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300024, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300026, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300028, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300030, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300032, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300034, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300036, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300038, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300040, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300042, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300044, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300046, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300048, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300050, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300052, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300054, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300056, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300058, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300060, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300062, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300064, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300066, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300068, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300070, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300072, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- - {fileID: 21300074, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 3.1666665
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim.meta b/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim.meta
deleted file mode 100644
index 32e8efe..0000000
--- a/Assets/Character/Animations/PlayerIdle.anim.bak_20260424_0003.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 41e9e9cad765777439b6298625e58af4
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim b/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim
deleted file mode 100644
index fbead1b..0000000
--- a/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim
+++ /dev/null
@@ -1,77 +0,0 @@
-%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: PlayerIdle
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 7882920275377484039, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.1
- value: {fileID: 3009725889610630512, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.2
- value: {fileID: -4251554268115048838, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.3
- value: {fileID: -3199447984271602511, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 10
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 7882920275377484039, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: 3009725889610630512, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -4251554268115048838, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -3199447984271602511, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 0.4
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim.meta b/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim.meta
deleted file mode 100644
index c080752..0000000
--- a/Assets/Character/Animations/PlayerIdle.anim.bak_20260507_1253.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 930dac447d29db249ba79c1c17103bf7
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim b/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim
deleted file mode 100644
index 2d66a7e..0000000
--- a/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim
+++ /dev/null
@@ -1,212 +0,0 @@
-%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: PlayerJump
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 21300000, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.020833334
- value: {fileID: 21300002, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.041666668
- value: {fileID: 21300004, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.0625
- value: {fileID: 21300006, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.083333336
- value: {fileID: 21300008, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.104166664
- value: {fileID: 21300010, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.125
- value: {fileID: 21300012, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.14583333
- value: {fileID: 21300014, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.16666667
- value: {fileID: 21300016, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.1875
- value: {fileID: 21300018, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.20833333
- value: {fileID: 21300020, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.22916667
- value: {fileID: 21300022, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.25
- value: {fileID: 21300024, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.27083334
- value: {fileID: 21300026, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.29166666
- value: {fileID: 21300028, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.3125
- value: {fileID: 21300030, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.33333334
- value: {fileID: 21300032, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.35416666
- value: {fileID: 21300034, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.375
- value: {fileID: 21300036, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.39583334
- value: {fileID: 21300038, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.41666666
- value: {fileID: 21300040, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.4375
- value: {fileID: 21300042, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.45833334
- value: {fileID: 21300044, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.47916666
- value: {fileID: 21300046, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.5
- value: {fileID: 21300048, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.5208333
- value: {fileID: 21300050, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.5416667
- value: {fileID: 21300052, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.5625
- value: {fileID: 21300054, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.5833333
- value: {fileID: 21300056, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.6041667
- value: {fileID: 21300058, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.625
- value: {fileID: 21300060, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.6458333
- value: {fileID: 21300062, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.6666667
- value: {fileID: 21300064, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.6875
- value: {fileID: 21300066, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.7083333
- value: {fileID: 21300068, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.7291667
- value: {fileID: 21300070, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.75
- value: {fileID: 21300072, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.7708333
- value: {fileID: 21300074, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.7916667
- value: {fileID: 21300076, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.8125
- value: {fileID: 21300078, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.8333333
- value: {fileID: 21300080, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.8541667
- value: {fileID: 21300082, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.875
- value: {fileID: 21300084, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.8958333
- value: {fileID: 21300086, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.9166667
- value: {fileID: 21300088, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.9375
- value: {fileID: 21300090, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.9583333
- value: {fileID: 21300092, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 0.9791667
- value: {fileID: 21300094, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - time: 1
- value: {fileID: 21300096, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 48
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 21300000, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300002, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300004, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300006, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300008, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300010, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300012, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300014, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300016, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300018, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300020, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300022, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300024, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300026, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300028, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300030, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300032, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300034, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300036, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300038, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300040, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300042, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300044, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300046, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300048, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300050, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300052, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300054, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300056, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300058, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300060, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300062, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300064, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300066, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300068, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300070, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300072, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300074, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300076, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300078, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300080, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300082, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300084, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300086, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300088, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300090, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300092, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300094, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- - {fileID: 21300096, guid: f43044f34a0b7424eb5deb0c04ff27c7, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 1.0208334
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 0
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim.meta b/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim.meta
deleted file mode 100644
index ed33668..0000000
--- a/Assets/Character/Animations/PlayerJump.anim.bak_20260507_1253.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b3081bc16e895984a90d08f2428cf741
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim b/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim
deleted file mode 100644
index 787b369..0000000
--- a/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim
+++ /dev/null
@@ -1,152 +0,0 @@
-%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: PlayerRun
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 21300000, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.020833334
- value: {fileID: 21300002, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.041666668
- value: {fileID: 21300004, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.0625
- value: {fileID: 21300006, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.083333336
- value: {fileID: 21300008, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.104166664
- value: {fileID: 21300010, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.125
- value: {fileID: 21300012, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.14583333
- value: {fileID: 21300014, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.16666667
- value: {fileID: 21300016, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.1875
- value: {fileID: 21300018, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.20833333
- value: {fileID: 21300020, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.22916667
- value: {fileID: 21300022, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.25
- value: {fileID: 21300024, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.27083334
- value: {fileID: 21300026, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.29166666
- value: {fileID: 21300028, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.3125
- value: {fileID: 21300030, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.33333334
- value: {fileID: 21300032, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.35416666
- value: {fileID: 21300034, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.375
- value: {fileID: 21300036, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.39583334
- value: {fileID: 21300038, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.41666666
- value: {fileID: 21300040, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.4375
- value: {fileID: 21300042, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.45833334
- value: {fileID: 21300044, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.47916666
- value: {fileID: 21300046, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.5
- value: {fileID: 21300048, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.5208333
- value: {fileID: 21300050, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.5416667
- value: {fileID: 21300052, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.5625
- value: {fileID: 21300054, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - time: 0.5833333
- value: {fileID: 21300056, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 48
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 21300000, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300002, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300004, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300006, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300008, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300010, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300012, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300014, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300016, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300018, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300020, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300022, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300024, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300026, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300028, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300030, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300032, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300034, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300036, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300038, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300040, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300042, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300044, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300046, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300048, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300050, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300052, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300054, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- - {fileID: 21300056, guid: 225a1eacac9dc41ae9a4d6adf7df8d40, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 0.6041666
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim.meta b/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim.meta
deleted file mode 100644
index 0f27bd6..0000000
--- a/Assets/Character/Animations/PlayerRun.anim.bak_20260424_0003.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f836261f90c2c8c40a3213894f2376a4
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim b/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim
deleted file mode 100644
index f9e584e..0000000
--- a/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim
+++ /dev/null
@@ -1,77 +0,0 @@
-%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: PlayerRun
- serializedVersion: 6
- m_Legacy: 0
- m_Compressed: 0
- m_UseHighQualityCurve: 1
- m_RotationCurves: []
- m_CompressedRotationCurves: []
- m_EulerCurves: []
- m_PositionCurves: []
- m_ScaleCurves: []
- m_FloatCurves: []
- m_PPtrCurves:
- - curve:
- - time: 0
- value: {fileID: 7882920275377484039, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.0625
- value: {fileID: 3009725889610630512, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.125
- value: {fileID: -4251554268115048838, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - time: 0.1875
- value: {fileID: -3199447984271602511, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- attribute: m_Sprite
- path:
- classID: 212
- script: {fileID: 0}
- m_SampleRate: 16
- 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: 0
- script: {fileID: 0}
- typeID: 212
- customType: 23
- isPPtrCurve: 1
- pptrCurveMapping:
- - {fileID: 7882920275377484039, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: 3009725889610630512, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -4251554268115048838, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- - {fileID: -3199447984271602511, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- m_AnimationClipSettings:
- serializedVersion: 2
- m_AdditiveReferencePoseClip: {fileID: 0}
- m_AdditiveReferencePoseTime: 0
- m_StartTime: 0
- m_StopTime: 0.25
- m_OrientationOffsetY: 0
- m_Level: 0
- m_CycleOffset: 0
- m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
- m_LoopBlend: 0
- m_LoopBlendOrientation: 0
- m_LoopBlendPositionY: 0
- m_LoopBlendPositionXZ: 0
- m_KeepOriginalOrientation: 0
- m_KeepOriginalPositionY: 1
- m_KeepOriginalPositionXZ: 0
- m_HeightFromFeet: 0
- m_Mirror: 0
- m_EditorCurves: []
- m_EulerEditorCurves: []
- m_HasGenericRootTransform: 0
- m_HasMotionFloatCurves: 0
- m_Events: []
diff --git a/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim.meta b/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim.meta
deleted file mode 100644
index 40cca8a..0000000
--- a/Assets/Character/Animations/PlayerRun.anim.bak_20260507_1253.anim.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 523b8ac798e73504299dc61922fb5672
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Character/Sprites/Hero1/C1_attack01.png.meta b/Assets/Character/Sprites/Hero1/C1_attack01.png.meta
index 44b4c25..3d20385 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack02.png.meta b/Assets/Character/Sprites/Hero1/C1_attack02.png.meta
index 1894d46..4c7a164 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack03.png.meta b/Assets/Character/Sprites/Hero1/C1_attack03.png.meta
index c35fb04..08fb021 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack03.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack03.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack04.png.meta b/Assets/Character/Sprites/Hero1/C1_attack04.png.meta
index e9a830c..bae57c6 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack04.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack04.png.meta
@@ -54,7 +54,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack05.png.meta b/Assets/Character/Sprites/Hero1/C1_attack05.png.meta
index d7a8635..733b88d 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack05.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack05.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack06.png.meta b/Assets/Character/Sprites/Hero1/C1_attack06.png.meta
index 71fbad3..059fb96 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack06.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack06.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack07.png.meta b/Assets/Character/Sprites/Hero1/C1_attack07.png.meta
index b3df74f..c93b605 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack07.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack07.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_attack08.png.meta b/Assets/Character/Sprites/Hero1/C1_attack08.png.meta
index 0f55d91..82720e6 100644
--- a/Assets/Character/Sprites/Hero1/C1_attack08.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_attack08.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_combatidle01.png.meta b/Assets/Character/Sprites/Hero1/C1_combatidle01.png.meta
index 7ad44f2..bdc26c1 100644
--- a/Assets/Character/Sprites/Hero1/C1_combatidle01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_combatidle01.png.meta
@@ -54,7 +54,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@@ -186,8 +186,8 @@ TextureImporter:
spriteCustomMetadata:
entries: []
nameFileIdTable:
- C1_combatidle01_0: 7334759246762886148
C1_combat idle01_1: -5420154985999671108
+ C1_combatidle01_0: 7334759246762886148
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
diff --git a/Assets/Character/Sprites/Hero1/C1_combatidle02.png.meta b/Assets/Character/Sprites/Hero1/C1_combatidle02.png.meta
index 9a520a9..2a54bcf 100644
--- a/Assets/Character/Sprites/Hero1/C1_combatidle02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_combatidle02.png.meta
@@ -54,7 +54,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@@ -186,8 +186,8 @@ TextureImporter:
spriteCustomMetadata:
entries: []
nameFileIdTable:
- C1_combatidle02_0: 1631018840342386814
C1_combat idle02_1: 8161108774985514213
+ C1_combatidle02_0: 1631018840342386814
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
diff --git a/Assets/Character/Sprites/Hero1/C1_combatidle03.png.meta b/Assets/Character/Sprites/Hero1/C1_combatidle03.png.meta
index 410b42e..c223105 100644
--- a/Assets/Character/Sprites/Hero1/C1_combatidle03.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_combatidle03.png.meta
@@ -54,7 +54,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@@ -186,8 +186,8 @@ TextureImporter:
spriteCustomMetadata:
entries: []
nameFileIdTable:
- C1_combatidle03_0: -2656351156315586805
C1_combat idle03_1: 8831742422412373924
+ C1_combatidle03_0: -2656351156315586805
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
diff --git a/Assets/Character/Sprites/Hero1/C1_combatidle04.png.meta b/Assets/Character/Sprites/Hero1/C1_combatidle04.png.meta
index 0751d1b..01ab8ef 100644
--- a/Assets/Character/Sprites/Hero1/C1_combatidle04.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_combatidle04.png.meta
@@ -54,7 +54,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@@ -186,8 +186,8 @@ TextureImporter:
spriteCustomMetadata:
entries: []
nameFileIdTable:
- C1_combatidle04_0: 6599314604964493718
C1_combat idle04_1: 6400113948926819414
+ C1_combatidle04_0: 6599314604964493718
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
diff --git a/Assets/Character/Sprites/Hero1/C1_death01.png.meta b/Assets/Character/Sprites/Hero1/C1_death01.png.meta
index 0a071b7..1db4617 100644
--- a/Assets/Character/Sprites/Hero1/C1_death01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_death01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_death02.png.meta b/Assets/Character/Sprites/Hero1/C1_death02.png.meta
index d9f62b2..f2c386a 100644
--- a/Assets/Character/Sprites/Hero1/C1_death02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_death02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_hit01.png.meta b/Assets/Character/Sprites/Hero1/C1_hit01.png.meta
index 8a8b7ce..5faba15 100644
--- a/Assets/Character/Sprites/Hero1/C1_hit01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_hit01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_hit02.png.meta b/Assets/Character/Sprites/Hero1/C1_hit02.png.meta
index 35bf923..f41e362 100644
--- a/Assets/Character/Sprites/Hero1/C1_hit02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_hit02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_idle01.png.meta b/Assets/Character/Sprites/Hero1/C1_idle01.png.meta
index cef39e2..7cf37cd 100644
--- a/Assets/Character/Sprites/Hero1/C1_idle01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_idle01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_idle02.png.meta b/Assets/Character/Sprites/Hero1/C1_idle02.png.meta
index e38c408..8fd14a5 100644
--- a/Assets/Character/Sprites/Hero1/C1_idle02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_idle02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_idle03.png.meta b/Assets/Character/Sprites/Hero1/C1_idle03.png.meta
index 3b09a86..e998fef 100644
--- a/Assets/Character/Sprites/Hero1/C1_idle03.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_idle03.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_idle04.png.meta b/Assets/Character/Sprites/Hero1/C1_idle04.png.meta
index 14b7e75..f4ae66e 100644
--- a/Assets/Character/Sprites/Hero1/C1_idle04.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_idle04.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_jump01.png.meta b/Assets/Character/Sprites/Hero1/C1_jump01.png.meta
index 55c77c5..3c50233 100644
--- a/Assets/Character/Sprites/Hero1/C1_jump01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_jump01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection01.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection01.png.meta
index 4c83cad..7650cfd 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection02.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection02.png.meta
index 9906403..2a29fed 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection03.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection03.png.meta
index 1779382..28d3146 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection03.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection03.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection04.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection04.png.meta
index 90bdc24..8b76960 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection04.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection04.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection05.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection05.png.meta
index f49deb7..8b540c9 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection05.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection05.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection06.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection06.png.meta
index e0131d8..75b9026 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection06.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection06.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection07.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection07.png.meta
index adba08a..e0ee422 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection07.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection07.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_resurrection08.png.meta b/Assets/Character/Sprites/Hero1/C1_resurrection08.png.meta
index 464196c..e03b84e 100644
--- a/Assets/Character/Sprites/Hero1/C1_resurrection08.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_resurrection08.png.meta
@@ -57,7 +57,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run01.png.meta b/Assets/Character/Sprites/Hero1/C1_run01.png.meta
index ee9a2dc..41f614a 100644
--- a/Assets/Character/Sprites/Hero1/C1_run01.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run01.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run02.png.meta b/Assets/Character/Sprites/Hero1/C1_run02.png.meta
index e05e430..f8c610d 100644
--- a/Assets/Character/Sprites/Hero1/C1_run02.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run02.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run03.png.meta b/Assets/Character/Sprites/Hero1/C1_run03.png.meta
index 652105b..58bdad8 100644
--- a/Assets/Character/Sprites/Hero1/C1_run03.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run03.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run04.png.meta b/Assets/Character/Sprites/Hero1/C1_run04.png.meta
index 18e3ac2..0bd1947 100644
--- a/Assets/Character/Sprites/Hero1/C1_run04.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run04.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run05.png.meta b/Assets/Character/Sprites/Hero1/C1_run05.png.meta
index 1fd6e51..99cc27e 100644
--- a/Assets/Character/Sprites/Hero1/C1_run05.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run05.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run06.png.meta b/Assets/Character/Sprites/Hero1/C1_run06.png.meta
index 0babbc8..894d5c5 100644
--- a/Assets/Character/Sprites/Hero1/C1_run06.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run06.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run07.png.meta b/Assets/Character/Sprites/Hero1/C1_run07.png.meta
index b40b56b..b8ad9a9 100644
--- a/Assets/Character/Sprites/Hero1/C1_run07.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run07.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Character/Sprites/Hero1/C1_run08.png.meta b/Assets/Character/Sprites/Hero1/C1_run08.png.meta
index 2e4bbd7..49abb54 100644
--- a/Assets/Character/Sprites/Hero1/C1_run08.png.meta
+++ b/Assets/Character/Sprites/Hero1/C1_run08.png.meta
@@ -51,7 +51,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 300
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
diff --git a/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab b/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab
deleted file mode 100644
index c2a8e3e..0000000
--- a/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab
+++ /dev/null
@@ -1,279 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &1661912868639658944
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1658460978237467174}
- - component: {fileID: 1577774018119691272}
- - component: {fileID: 1605217082131907960}
- - component: {fileID: 1702612949800919892}
- - component: {fileID: 1724124757368974630}
- - component: {fileID: 2651140156555518892}
- - component: {fileID: 772289407653213039}
- - component: {fileID: 5843668731025413174}
- m_Layer: 13
- m_Name: Enemy
- m_TagString: Player
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1658460978237467174
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 5.508, y: 1.032, z: 1}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!212 &1577774018119691272
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- 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: 0
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1907945055
- m_SortingLayer: 0
- m_SortingOrder: 5
- m_Sprite: {fileID: 21300000, guid: fe68c6e1242e94a9eab222e1f49440ff, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 1.28, y: 1.26}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!95 &1605217082131907960
-Animator:
- serializedVersion: 4
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 9100000, guid: ed1bbb2dccb7a424a9969f916919f446, type: 2}
- m_CullingMode: 0
- m_UpdateMode: 0
- m_ApplyRootMotion: 0
- m_LinearVelocityBlending: 0
- m_StabilizeFeet: 0
- m_WarningMessage:
- m_HasTransformHierarchy: 1
- m_AllowConstantClipSamplingOptimization: 1
- m_KeepAnimatorControllerStateOnDisable: 0
---- !u!50 &1702612949800919892
-Rigidbody2D:
- serializedVersion: 4
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_BodyType: 1
- m_Simulated: 1
- m_UseFullKinematicContacts: 1
- m_UseAutoMass: 0
- m_Mass: 1
- m_LinearDrag: 0
- m_AngularDrag: 0.05
- m_GravityScale: 1
- m_Material: {fileID: 0}
- m_Interpolate: 1
- m_SleepingMode: 0
- m_CollisionDetection: 1
- m_Constraints: 4
---- !u!70 &1724124757368974630
-CapsuleCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- m_Density: 1
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_UsedByComposite: 0
- m_Offset: {x: 0, y: -0.11}
- m_Size: {x: 0.45, y: 0.09}
- m_Direction: 0
---- !u!114 &2651140156555518892
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: be4d02721cd9d4baa869d3b890cec48f, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minGroundNormalY: 0.65
- gravityModifier: 1
- velocity: {x: 0, y: 0}
- maxSpeed: 7
- jumpTakeOffSpeed: 7
- move: {x: 0, y: 0}
- jump: 0
- stopJump: 0
---- !u!114 &772289407653213039
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: cd654acc1f7894a509f3420e5c9ffea6, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- path: {fileID: 0}
- ouch: {fileID: 8300000, guid: b7f741588644cd64bbee6387cb54a96d, type: 3}
---- !u!82 &5843668731025413174
-AudioSource:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1661912868639658944}
- m_Enabled: 1
- serializedVersion: 4
- OutputAudioMixerGroup: {fileID: 0}
- m_audioClip: {fileID: 0}
- m_PlayOnAwake: 0
- m_Volume: 1
- m_Pitch: 1
- Loop: 0
- Mute: 0
- Spatialize: 0
- SpatializePostEffects: 0
- Priority: 128
- DopplerLevel: 1
- MinDistance: 1
- MaxDistance: 500
- Pan2D: 0
- rolloffMode: 0
- BypassEffects: 0
- BypassListenerEffects: 0
- BypassReverbZones: 0
- rolloffCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- panLevelCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- spreadCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- reverbZoneMixCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
diff --git a/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab.meta b/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab.meta
deleted file mode 100644
index 9281aae..0000000
--- a/Assets/Prefabs/Enemy.prefab.bak_20260423_2334.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 5d1f69485eb8e2b4db40eb9214a5e509
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab
index 6e33da4..5ca5898 100644
--- a/Assets/Prefabs/Player.prefab
+++ b/Assets/Prefabs/Player.prefab
@@ -113,7 +113,7 @@ SpriteRenderer:
m_SortingOrder: 5
m_Sprite: {fileID: -7999245345599557054, guid: 78c7da0e2fc366543ae4ad5e3ceb1b94, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
+ m_FlipX: 1
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.28, y: 1.26}
@@ -318,17 +318,17 @@ BoxCollider2D:
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
- m_Offset: {x: -0.09, y: -0.14}
+ m_Offset: {x: 0, y: 0.1}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
- oldSize: {x: 1.28, y: 1.26}
- newSize: {x: 1.28, y: 1.26}
+ oldSize: {x: 1.43, y: 1.43}
+ newSize: {x: 1.43, y: 1.43}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
- m_Size: {x: 0.32, y: 0.54}
+ m_Size: {x: 0.45, y: 1.15}
m_EdgeRadius: 0
--- !u!114 &7700000000000000001
MonoBehaviour:
diff --git a/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab b/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab
deleted file mode 100644
index fcaa571..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab
+++ /dev/null
@@ -1,327 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &1208144871472054
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4520396350849616}
- - component: {fileID: 114230831923080080}
- - component: {fileID: 212064061491315838}
- - component: {fileID: 95391780594314510}
- - component: {fileID: 50915408107096866}
- - component: {fileID: 8509783501685719824}
- - component: {fileID: 6082575806313374961}
- - component: {fileID: 1824045667}
- m_Layer: 13
- m_Name: Player
- m_TagString: Player
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &4520396350849616
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -4.14, y: 3.39, z: 1}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &114230831923080080
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 709ee11994a2f44658e5fc9887c45081, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minGroundNormalY: 0.9
- gravityModifier: 1
- velocity: {x: 0, y: 0}
- jumpAudio: {fileID: 8300000, guid: 67975c08d56ceb147bad38572d805aa8, type: 3}
- respawnAudio: {fileID: 8300000, guid: e18959d46b63f3c4c8cc020a433cf848, type: 3}
- ouchAudio: {fileID: 8300000, guid: 6c05149e5a2fba64ba172e25a61074b7, type: 3}
- maxSpeed: 3
- jumpTakeOffSpeed: 7
- jumpState: 0
- collider2d: {fileID: 0}
- audioSource: {fileID: 0}
- health: {fileID: 0}
- controlEnabled: 1
- InputAsset: {fileID: -944628639613478452, guid: e56a71532e878ca498ffce08f1e0f519,
- type: 3}
---- !u!212 &212064061491315838
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- 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: 0
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1907945055
- m_SortingLayer: 0
- m_SortingOrder: 5
- m_Sprite: {fileID: 21300020, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- m_Color: {r: 0.18039216, g: 0.8901961, b: 0.99215686, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 1.28, y: 1.26}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!95 &95391780594314510
-Animator:
- serializedVersion: 7
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 9100000, guid: b09e60546065cf9448b36ebb7f759a91, type: 2}
- m_CullingMode: 0
- m_UpdateMode: 0
- m_ApplyRootMotion: 0
- m_LinearVelocityBlending: 0
- m_StabilizeFeet: 0
- m_AnimatePhysics: 0
- m_WarningMessage:
- m_HasTransformHierarchy: 1
- m_AllowConstantClipSamplingOptimization: 1
- m_KeepAnimatorStateOnDisable: 0
- m_WriteDefaultValuesOnDisable: 0
---- !u!50 &50915408107096866
-Rigidbody2D:
- serializedVersion: 5
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_BodyType: 1
- m_Simulated: 1
- m_UseFullKinematicContacts: 1
- m_UseAutoMass: 0
- m_Mass: 1
- m_LinearDamping: 0
- m_AngularDamping: 0.05
- m_GravityScale: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_Interpolate: 1
- m_SleepingMode: 0
- m_CollisionDetection: 1
- m_Constraints: 4
---- !u!82 &8509783501685719824
-AudioSource:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 4
- OutputAudioMixerGroup: {fileID: 0}
- m_audioClip: {fileID: 0}
- m_Resource: {fileID: 0}
- m_PlayOnAwake: 0
- m_Volume: 1
- m_Pitch: 1
- Loop: 0
- Mute: 0
- Spatialize: 0
- SpatializePostEffects: 0
- Priority: 128
- DopplerLevel: 1
- MinDistance: 1
- MaxDistance: 500
- Pan2D: 0
- rolloffMode: 0
- BypassEffects: 0
- BypassListenerEffects: 0
- BypassReverbZones: 0
- rolloffCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- panLevelCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- spreadCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- reverbZoneMixCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
---- !u!114 &6082575806313374961
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ffad43bb006db4856a9c527b89b48db9, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- maxHP: 1
---- !u!61 &1824045667
-BoxCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: -0.09, y: -0.14}
- m_SpriteTilingProperty:
- border: {x: 0, y: 0, z: 0, w: 0}
- pivot: {x: 0.5, y: 0.5}
- oldSize: {x: 1.28, y: 1.26}
- newSize: {x: 1.28, y: 1.26}
- adaptiveTilingThreshold: 0.5
- drawMode: 0
- adaptiveTiling: 0
- m_AutoTiling: 0
- m_Size: {x: 0.32, y: 0.54}
- m_EdgeRadius: 0
diff --git a/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab.meta b/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab.meta
deleted file mode 100644
index 265fdca..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260423_2334.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 3d8b54c71c06ca5459e229a72131fb6d
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab b/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab
deleted file mode 100644
index 9fa8030..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab
+++ /dev/null
@@ -1,347 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &1208144871472054
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4520396350849616}
- - component: {fileID: 114230831923080080}
- - component: {fileID: 212064061491315838}
- - component: {fileID: 95391780594314510}
- - component: {fileID: 50915408107096866}
- - component: {fileID: 8509783501685719824}
- - component: {fileID: 6082575806313374961}
- - component: {fileID: 1824045667}
- - component: {fileID: 7700000000000000001}
- m_Layer: 13
- m_Name: Player
- m_TagString: Player
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &4520396350849616
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -4.14, y: 3.39, z: 1}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &114230831923080080
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 709ee11994a2f44658e5fc9887c45081, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minGroundNormalY: 0.9
- gravityModifier: 1
- velocity: {x: 0, y: 0}
- jumpAudio: {fileID: 8300000, guid: 67975c08d56ceb147bad38572d805aa8, type: 3}
- respawnAudio: {fileID: 8300000, guid: e18959d46b63f3c4c8cc020a433cf848, type: 3}
- ouchAudio: {fileID: 8300000, guid: 6c05149e5a2fba64ba172e25a61074b7, type: 3}
- maxSpeed: 3
- jumpTakeOffSpeed: 7
- jumpState: 0
- collider2d: {fileID: 0}
- audioSource: {fileID: 0}
- health: {fileID: 0}
- controlEnabled: 1
- InputAsset: {fileID: -944628639613478452, guid: e56a71532e878ca498ffce08f1e0f519,
- type: 3}
---- !u!212 &212064061491315838
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- 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: 0
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1907945055
- m_SortingLayer: 0
- m_SortingOrder: 5
- m_Sprite: {fileID: 21300020, guid: ba86c7b200abe499cb750833482830b3, type: 3}
- m_Color: {r: 0.18039216, g: 0.8901961, b: 0.99215686, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 1.28, y: 1.26}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!95 &95391780594314510
-Animator:
- serializedVersion: 7
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 9100000, guid: b09e60546065cf9448b36ebb7f759a91, type: 2}
- m_CullingMode: 0
- m_UpdateMode: 0
- m_ApplyRootMotion: 0
- m_LinearVelocityBlending: 0
- m_StabilizeFeet: 0
- m_AnimatePhysics: 0
- m_WarningMessage:
- m_HasTransformHierarchy: 1
- m_AllowConstantClipSamplingOptimization: 1
- m_KeepAnimatorStateOnDisable: 0
- m_WriteDefaultValuesOnDisable: 0
---- !u!50 &50915408107096866
-Rigidbody2D:
- serializedVersion: 5
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_BodyType: 1
- m_Simulated: 1
- m_UseFullKinematicContacts: 1
- m_UseAutoMass: 0
- m_Mass: 1
- m_LinearDamping: 0
- m_AngularDamping: 0.05
- m_GravityScale: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_Interpolate: 1
- m_SleepingMode: 0
- m_CollisionDetection: 1
- m_Constraints: 4
---- !u!82 &8509783501685719824
-AudioSource:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 4
- OutputAudioMixerGroup: {fileID: 0}
- m_audioClip: {fileID: 0}
- m_Resource: {fileID: 0}
- m_PlayOnAwake: 0
- m_Volume: 1
- m_Pitch: 1
- Loop: 0
- Mute: 0
- Spatialize: 0
- SpatializePostEffects: 0
- Priority: 128
- DopplerLevel: 1
- MinDistance: 1
- MaxDistance: 500
- Pan2D: 0
- rolloffMode: 0
- BypassEffects: 0
- BypassListenerEffects: 0
- BypassReverbZones: 0
- rolloffCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- panLevelCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- spreadCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- reverbZoneMixCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
---- !u!114 &6082575806313374961
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ffad43bb006db4856a9c527b89b48db9, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- maxHP: 1
---- !u!61 &1824045667
-BoxCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: -0.09, y: -0.14}
- m_SpriteTilingProperty:
- border: {x: 0, y: 0, z: 0, w: 0}
- pivot: {x: 0.5, y: 0.5}
- oldSize: {x: 1.28, y: 1.26}
- newSize: {x: 1.28, y: 1.26}
- adaptiveTilingThreshold: 0.5
- drawMode: 0
- adaptiveTiling: 0
- m_AutoTiling: 0
- m_Size: {x: 0.32, y: 0.54}
- m_EdgeRadius: 0
---- !u!114 &7700000000000000001
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b2c3d4e5f60718293a4b5c6d7e8f90a1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- size: {x: 1.2, y: 0.9}
- offsetDistance: 0.7
- activeDuration: 0.12
- damage: 1
- targetLayers:
- serializedVersion: 2
- m_Bits: 4294967295
diff --git a/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab.meta b/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab.meta
deleted file mode 100644
index 901b870..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260424_0003.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 7cd7a83e6afb20b43bd7c3a3c35334e2
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab b/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab
deleted file mode 100644
index 3afaf52..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab
+++ /dev/null
@@ -1,347 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &1208144871472054
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4520396350849616}
- - component: {fileID: 114230831923080080}
- - component: {fileID: 212064061491315838}
- - component: {fileID: 95391780594314510}
- - component: {fileID: 50915408107096866}
- - component: {fileID: 8509783501685719824}
- - component: {fileID: 6082575806313374961}
- - component: {fileID: 1824045667}
- - component: {fileID: 7700000000000000001}
- m_Layer: 13
- m_Name: Player
- m_TagString: Player
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &4520396350849616
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -4.14, y: 3.39, z: 1}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &114230831923080080
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 709ee11994a2f44658e5fc9887c45081, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minGroundNormalY: 0.9
- gravityModifier: 1
- velocity: {x: 0, y: 0}
- jumpAudio: {fileID: 8300000, guid: 67975c08d56ceb147bad38572d805aa8, type: 3}
- respawnAudio: {fileID: 8300000, guid: e18959d46b63f3c4c8cc020a433cf848, type: 3}
- ouchAudio: {fileID: 8300000, guid: 6c05149e5a2fba64ba172e25a61074b7, type: 3}
- maxSpeed: 3
- jumpTakeOffSpeed: 7
- jumpState: 0
- collider2d: {fileID: 0}
- audioSource: {fileID: 0}
- health: {fileID: 0}
- controlEnabled: 1
- InputAsset: {fileID: -944628639613478452, guid: e56a71532e878ca498ffce08f1e0f519,
- type: 3}
---- !u!212 &212064061491315838
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- 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: 0
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1907945055
- m_SortingLayer: 0
- m_SortingOrder: 5
- m_Sprite: {fileID: 7882920275377484039, guid: 44ad58ba82191ca4d818108ab01d3baa, type: 3}
- m_Color: {r: 0.18039216, g: 0.8901961, b: 0.99215686, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 1.28, y: 1.26}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!95 &95391780594314510
-Animator:
- serializedVersion: 7
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 9100000, guid: b09e60546065cf9448b36ebb7f759a91, type: 2}
- m_CullingMode: 0
- m_UpdateMode: 0
- m_ApplyRootMotion: 0
- m_LinearVelocityBlending: 0
- m_StabilizeFeet: 0
- m_AnimatePhysics: 0
- m_WarningMessage:
- m_HasTransformHierarchy: 1
- m_AllowConstantClipSamplingOptimization: 1
- m_KeepAnimatorStateOnDisable: 0
- m_WriteDefaultValuesOnDisable: 0
---- !u!50 &50915408107096866
-Rigidbody2D:
- serializedVersion: 5
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_BodyType: 1
- m_Simulated: 1
- m_UseFullKinematicContacts: 1
- m_UseAutoMass: 0
- m_Mass: 1
- m_LinearDamping: 0
- m_AngularDamping: 0.05
- m_GravityScale: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_Interpolate: 1
- m_SleepingMode: 0
- m_CollisionDetection: 1
- m_Constraints: 4
---- !u!82 &8509783501685719824
-AudioSource:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 4
- OutputAudioMixerGroup: {fileID: 0}
- m_audioClip: {fileID: 0}
- m_Resource: {fileID: 0}
- m_PlayOnAwake: 0
- m_Volume: 1
- m_Pitch: 1
- Loop: 0
- Mute: 0
- Spatialize: 0
- SpatializePostEffects: 0
- Priority: 128
- DopplerLevel: 1
- MinDistance: 1
- MaxDistance: 500
- Pan2D: 0
- rolloffMode: 0
- BypassEffects: 0
- BypassListenerEffects: 0
- BypassReverbZones: 0
- rolloffCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- panLevelCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- spreadCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- reverbZoneMixCustomCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
---- !u!114 &6082575806313374961
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ffad43bb006db4856a9c527b89b48db9, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- maxHP: 1
---- !u!61 &1824045667
-BoxCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: -0.09, y: -0.14}
- m_SpriteTilingProperty:
- border: {x: 0, y: 0, z: 0, w: 0}
- pivot: {x: 0.5, y: 0.5}
- oldSize: {x: 1.28, y: 1.26}
- newSize: {x: 1.28, y: 1.26}
- adaptiveTilingThreshold: 0.5
- drawMode: 0
- adaptiveTiling: 0
- m_AutoTiling: 0
- m_Size: {x: 0.32, y: 0.54}
- m_EdgeRadius: 0
---- !u!114 &7700000000000000001
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1208144871472054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b2c3d4e5f60718293a4b5c6d7e8f90a1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- size: {x: 1.2, y: 0.9}
- offsetDistance: 0.7
- activeDuration: 0.12
- damage: 1
- targetLayers:
- serializedVersion: 2
- m_Bits: 4294967295
diff --git a/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab.meta b/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab.meta
deleted file mode 100644
index 373c702..0000000
--- a/Assets/Prefabs/Player.prefab.bak_20260507_1253.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 2ede33d6b3d047c47a00778a82696193
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Gameplay/PlayerEnemyCollision.cs b/Assets/Scripts/Gameplay/PlayerEnemyCollision.cs
index 8fd9927..89b192e 100644
--- a/Assets/Scripts/Gameplay/PlayerEnemyCollision.cs
+++ b/Assets/Scripts/Gameplay/PlayerEnemyCollision.cs
@@ -9,31 +9,39 @@ namespace Platformer.Gameplay
///
/// Fired when a Player collides with an Enemy.
- /// BT5-Dev 2단계 개정: 기획 04 §3·§5 준수 — "위에서 밟기" 판정 폐기, i-frame 체크된 피격 로직으로 교체.
- /// 적 처치는 PlayerAttack 이벤트 + AttackHitbox 공격 판정 경로로 일원화.
- /// 적과 접촉 시 플레이어는 i-frame 내라면 피해 없음, 아니면 라이프 1 → 사망 체인 발동.
+ /// BT5-Dev 2단계 (2026-04-23): "위에서 밟기" 판정 폐기 → i-frame 체크 피격 로직.
+ /// PD 지시 2026-05-07: 밟기 공격 복원. 위에서 밟으면 적 즉사 + Player Bounce.
+ /// 측면·아래 충돌은 기존 i-frame 피격 로직 유지. 부활 직후 i-frame 동안에도 밟기는 가능.
///
///
public class PlayerEnemyCollision : Simulation.Event
{
public EnemyController enemy;
public PlayerController player;
+ /// BT5-Dev #16 — EnemyController.Update에서 측정한 Player·Enemy y 차 (밟기 판정 영역).
+ public float dyAtCollision;
PlatformerModel model = Simulation.GetModel();
public override void Execute()
{
- if (player == null || player.health == null) return;
+ if (player == null || player.health == null || enemy == null) return;
- // i-frame 내에는 피해 무효 (Health.Decrement가 내부에서 체크)
- // — 접촉 지속 동안 연속 히트되는 것을 방지
+ // BT5-Dev #16 — Distance 기반 밟기 판정. dyAtCollision > stompMinDy = Player가 Enemy 위에서 밟음.
+ bool stomped = dyAtCollision > enemy.stompMinDy;
+
+ Debug.Log($"[PEC] stomped={stomped} dy={dyAtCollision:F2} (threshold>{enemy.stompMinDy}) pInvuln={player.health.IsInvulnerable}");
+
+ if (stomped)
+ {
+ Schedule().enemy = enemy;
+ player.Bounce(player.jumpTakeOffSpeed / 3f);
+ return;
+ }
+
+ // 측면·아래 충돌 — i-frame 적용 피격
if (player.health.IsInvulnerable) return;
-
- // 적과 접촉 → 플레이어 피해 (Health.Decrement가 i-frame 활성화)
player.health.Decrement();
-
- // HP 0 도달 시 HealthIsZero 이벤트가 PlayerDeath 체인을 발동 (기존 경로)
- // 여기서 Schedule 직접 호출은 중복이므로 제거 — Health 이벤트 체인 신뢰
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Mechanics/DeathZone.cs b/Assets/Scripts/Mechanics/DeathZone.cs
index 56b87e9..3cb30a0 100644
--- a/Assets/Scripts/Mechanics/DeathZone.cs
+++ b/Assets/Scripts/Mechanics/DeathZone.cs
@@ -7,19 +7,59 @@ using static Platformer.Core.Simulation;
namespace Platformer.Mechanics
{
///
- /// DeathZone components mark a collider which will schedule a
- /// PlayerEnteredDeathZone event when the player enters the trigger.
+ /// 낙사 영역 — PD 지시 2026-05-07: 즉사 폐기 → HP 감소 + 위치 복귀 + 1초 무적.
+ /// 추가 (#3): 캐릭터가 카메라 영역 밖으로 완전히 사라진 후 위치 복귀 (낙하 자연스러움).
///
public class DeathZone : MonoBehaviour
{
+ public int fallDamage = 1;
+ public float fallInvulnerability = 1f;
+ /// 카메라 영역 외 대기 timeout(초). 안전망 — 카메라 영역 영역 외로 안 사라지는 경우 강제 진행.
+ public float fallTimeout = 3f;
+
+ readonly HashSet falling = new HashSet();
+
void OnTriggerEnter2D(Collider2D collider)
{
var p = collider.gameObject.GetComponent();
- if (p != null)
+ if (p == null || p.health == null) return;
+ if (falling.Contains(p)) return; // 이미 처리 중이면 중복 방지
+
+ falling.Add(p);
+ StartCoroutine(FallSequence(p));
+ }
+
+ IEnumerator FallSequence(PlayerController p)
+ {
+ // 입력 차단 (낙하 중에는 조작 불가)
+ p.controlEnabled = false;
+
+ // 카메라 영역 외 (viewport y < 0)까지 대기 — PD 지시 2026-05-07 #3
+ Camera cam = Camera.main;
+ float deadline = Time.time + fallTimeout;
+ while (Time.time < deadline)
{
- var ev = Schedule();
- ev.deathzone = this;
+ if (cam != null)
+ {
+ Vector3 viewport = cam.WorldToViewportPoint(p.transform.position);
+ if (viewport.y < -0.1f) break;
+ }
+ yield return null;
}
+
+ // 위치 복귀 + HP 감소 + 1초 무적
+ p.transform.position = p.LastGroundedPosition;
+ p.velocity = Vector2.zero;
+ p.health.Decrement(fallDamage);
+
+ if (p.health.IsAlive)
+ {
+ p.health.GrantInvulnerability(fallInvulnerability);
+ p.controlEnabled = true;
+ }
+ // IsAlive == false면 ResurrectPromptUI가 OnDeathEvent로 자동 처리 (controlEnabled false 유지)
+
+ falling.Remove(p);
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Mechanics/EnemyController.cs b/Assets/Scripts/Mechanics/EnemyController.cs
index d99b477..ac41ca3 100644
--- a/Assets/Scripts/Mechanics/EnemyController.cs
+++ b/Assets/Scripts/Mechanics/EnemyController.cs
@@ -15,6 +15,13 @@ namespace Platformer.Mechanics
public PatrolPath path;
public AudioClip ouch;
+ /// BT5-Dev #16 — Distance 기반 감지 영역 X 임계값 (전체 폭). 표준 platformer Enemy 옆 닿음 영역 0.6~0.8.
+ public float hitRangeX = 0.7f;
+ /// Y 임계값. 위/아래 둘 다 인정.
+ public float hitRangeY = 1.0f;
+ /// 밟기 판정 — Player가 Enemy보다 위 거리.
+ public float stompMinDy = 0.5f;
+
internal PatrolPath.Mover mover;
internal AnimationController control;
internal Collider2D _collider;
@@ -23,23 +30,32 @@ namespace Platformer.Mechanics
public Bounds Bounds => _collider.bounds;
+ ///
+ /// PD 지시 2026-05-07 — Enemy 시각(SpriteRenderer) 영역 기반 충돌 감지용. CapsuleCollider2D는 작은 ground sensor 영역(0.45×0.09)이라 감지에 부적합.
+ /// SpriteRenderer 부재 시 Collider Bounds로 fallback.
+ ///
+ public Bounds VisualBounds => spriteRenderer != null ? spriteRenderer.bounds : _collider.bounds;
+
+ PlayerController _cachedPlayer;
+
void Awake()
{
control = GetComponent();
_collider = GetComponent();
_audio = GetComponent();
spriteRenderer = GetComponent();
- }
- void OnCollisionEnter2D(Collision2D collision)
- {
- var player = collision.gameObject.GetComponent();
- if (player != null)
+ // PD 지시 2026-05-07 — Player ↔ Enemy 물리 충돌 무시 (통과 가능). 감지는 Bounds.Intersects 별도.
+ // Enemy Collider 일반 유지 (지면 충돌 영역 보존) → 등장 정합.
+ var playerObj = GameObject.FindGameObjectWithTag("Player");
+ if (playerObj != null && _collider != null)
{
- var ev = Schedule();
- ev.player = player;
- ev.enemy = this;
+ var pc = playerObj.GetComponent();
+ if (pc != null) Physics2D.IgnoreCollision(_collider, pc, true);
}
+
+ // BT5-Dev #15 진단 — spriteRenderer 부착 영역 + VisualBounds 크기 확인
+ Debug.Log($"[EnemyDiag@{name}] sr={(spriteRenderer != null ? "OK" : "NULL")} colliderBounds={_collider?.bounds.size} visualBounds={VisualBounds.size}");
}
void Update()
@@ -49,6 +65,55 @@ namespace Platformer.Mechanics
if (mover == null) mover = path.CreateMover(control.maxSpeed * 0.5f);
control.move.x = Mathf.Clamp(mover.Position.x - transform.position.x, -1, 1);
}
+
+ // PD 지시 2026-05-07 — Player ↔ Enemy 통과 가능이지만 Bounds.Intersects로 매 프레임 감지
+ if (_cachedPlayer == null)
+ {
+ var pgo = GameObject.FindGameObjectWithTag("Player");
+ if (pgo != null) _cachedPlayer = pgo.GetComponent();
+ }
+ if (_cachedPlayer != null && _cachedPlayer.health != null && _cachedPlayer.health.IsAlive)
+ {
+ // BT5-Dev #16 — Distance 기반 단순 감지 (Bounds 영역 산수 영역 의존 X·항상 작동)
+ // dx 0.7·|dy| 1.0 = 표준 platformer Enemy/Player 닿음 영역. dy > 0.5 = Player가 Enemy 위에서 밟음.
+ Vector3 ePos = transform.position;
+ Vector3 pPos = _cachedPlayer.transform.position;
+ float dx = Mathf.Abs(pPos.x - ePos.x);
+ float dy = pPos.y - ePos.y;
+
+ bool inRange = dx < hitRangeX && Mathf.Abs(dy) < hitRangeY;
+
+ if (inRange != _diagWasIntersecting)
+ {
+ Debug.Log($"[EnemyDiag@{name}] inRange={inRange} dx={dx:F2} dy={dy:F2} (thresholds dx<{hitRangeX} |dy|<{hitRangeY}) | ePos={ePos} pPos={pPos}");
+ _diagWasIntersecting = inRange;
+ }
+
+ if (inRange)
+ {
+ var ev = Schedule();
+ ev.player = _cachedPlayer;
+ ev.enemy = this;
+ ev.dyAtCollision = dy;
+ }
+ }
+ }
+
+ bool _diagWasIntersecting;
+
+ void OnDrawGizmos()
+ {
+ // BT5-Dev #15 진단 — Scene 영역 시각화 (Editor에서만 표시)
+ if (Application.isPlaying && spriteRenderer != null)
+ {
+ Gizmos.color = Color.red;
+ Gizmos.DrawWireCube(VisualBounds.center, VisualBounds.size);
+ }
+ if (Application.isPlaying && _collider != null)
+ {
+ Gizmos.color = Color.yellow;
+ Gizmos.DrawWireCube(_collider.bounds.center, _collider.bounds.size);
+ }
}
}
diff --git a/Assets/Scripts/Mechanics/GameOptimizer.cs b/Assets/Scripts/Mechanics/GameOptimizer.cs
new file mode 100644
index 0000000..453def1
--- /dev/null
+++ b/Assets/Scripts/Mechanics/GameOptimizer.cs
@@ -0,0 +1,41 @@
+using UnityEngine;
+using UnityEngine.Tilemaps;
+
+namespace Platformer.Mechanics
+{
+ ///
+ /// 게임 시작 시 프레임·렌더·물리 영역 기본 최적화 + One-Way Platform 자동 적용.
+ /// PD 지시 2026-05-07 — 스크롤 버벅임 보완 + 점프·이동 시 지형 통과(One-Way Platform).
+ ///
+ public static class GameOptimizer
+ {
+ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
+ static void Init()
+ {
+ Application.targetFrameRate = 60;
+ QualitySettings.vSyncCount = 0;
+ Time.fixedDeltaTime = 1f / 60f;
+ }
+
+ ///
+ /// PD 지시 2026-05-07 — 모든 TilemapCollider2D를 One-Way Platform으로 자동 변환.
+ /// 위에서만 착지·측면·아래 통과 = 점프 시 천장 통과 + 이동 시 측면 벽 통과 + 착지/걷기는 지면 위 머무름.
+ ///
+ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
+ static void SetupOneWayPlatforms()
+ {
+ var tilemapColliders = Object.FindObjectsByType(FindObjectsSortMode.None);
+ foreach (var c in tilemapColliders)
+ {
+ c.usedByEffector = true;
+ var effector = c.GetComponent();
+ if (effector == null) effector = c.gameObject.AddComponent();
+ effector.useOneWay = true;
+ effector.surfaceArc = 180f;
+ effector.rotationalOffset = 0f;
+ effector.useSideFriction = false;
+ effector.useSideBounce = false;
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Mechanics/GameOptimizer.cs.meta b/Assets/Scripts/Mechanics/GameOptimizer.cs.meta
new file mode 100644
index 0000000..d41b348
--- /dev/null
+++ b/Assets/Scripts/Mechanics/GameOptimizer.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 9d00e025e60443243ab1529267848a30
\ No newline at end of file
diff --git a/Assets/Scripts/Mechanics/Health.cs b/Assets/Scripts/Mechanics/Health.cs
index aa087c9..ae89918 100644
--- a/Assets/Scripts/Mechanics/Health.cs
+++ b/Assets/Scripts/Mechanics/Health.cs
@@ -46,7 +46,12 @@ namespace Platformer.Mechanics
/// 무적 시간 (i-frame) 지속 초 단위. 기획 04 §3-2 후보 0.4~0.8s.
/// 연속 히트 방지용 (하트 분할 전환 후에도 강한 단일 공격을 한 번에 과도 피해 받지 않도록 유지).
///
- public float invulnerableDuration = 0.6f;
+ public float invulnerableDuration = 0.5f;
+
+ ///
+ /// 부활 직후 무적 지속 (초). PD 지시 2026-05-07 — 부활 후 2초간 충돌 피해 무시(밟기 공격은 가능).
+ ///
+ public float resurrectInvulnerableDuration = 2.0f;
///
/// 현재 무적 상태 여부 (디버그·UX 피드백용 — 깜박임 제어 등에 사용 가능).
@@ -183,12 +188,23 @@ namespace Platformer.Mechanics
/// SOT: 캐릭터_리소스_규칙_v1.md §3.1.4 death → resurrection 시퀀스.
/// BT7-Plan 영역: 부활 시 maxHP 회복 룰 — 현재 전체 회복, 향후 부분 회복 룰 결정 시 Resurrect(int) 오버로드 추가.
///
+ ///
+ /// 외부 시스템이 임시 무적 시간을 부여 (낙사 위치 복귀·체크포인트 등). 기존 i-frame과 비교해 더 긴 시간을 채택.
+ /// PD 지시 2026-05-07 — 낙사 시 1초 무적.
+ ///
+ public void GrantInvulnerability(float duration)
+ {
+ if (duration <= 0f) return;
+ invulnerableUntil = Mathf.Max(invulnerableUntil, Time.time + duration);
+ }
+
public void Resurrect()
{
if (IsAlive) return; // 이미 살아있으면 무시
currentHP = maxHP; // BT7-Plan 영역 — 부활 시 maxHP 회복 룰
- invulnerableUntil = -1f;
+ // PD 지시 2026-05-07 — 부활 직후 2초 무적 (충돌 피해 무시, 밟기는 가능)
+ invulnerableUntil = Time.time + resurrectInvulnerableDuration;
var animator = GetComponent();
if (animator != null)
diff --git a/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs b/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs
deleted file mode 100644
index 8b4b9ce..0000000
--- a/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs
+++ /dev/null
@@ -1,174 +0,0 @@
-using System;
-using Platformer.Gameplay;
-using UnityEngine;
-using static Platformer.Core.Simulation;
-
-namespace Platformer.Mechanics
-{
- ///
- /// Represents the current vital statistics of some game entity.
- ///
- /// BT7-Plan PD 지시 2026-04-24 — 하트 분할 시스템 (젤다 방식). 하트 1개 = 4 쿼터(HP).
- /// 카드(패시브)·성장으로 를 증가시킬 수 있으며, 그에 따라
- /// 가 `maxHearts * QuartersPerHeart`로 자동 산정된다.
- ///
- ///
- /// 적 ATK는 쿼터 단위. 피해 1 = 1 쿼터 감소, 피해 2 = 반조각, 피해 4 = 하트 1개 소멸.
- ///
- ///
- public class Health : MonoBehaviour
- {
- ///
- /// 하트 1개당 HP(쿼터) 수 — 젤다 방식 고정값 4.
- ///
- public const int QuartersPerHeart = 4;
-
- ///
- /// 초기 보유 하트 수. Player는 기본 1(= 4 HP), 카드·성장으로 를 통해 증가.
- /// Enemy는 기본 1(= 4 HP)이나 향후 balance/01 v0.2 수치 테이블에 따라 재설정.
- ///
- [Tooltip("초기 보유 하트 수. 하트 1개 = 4 HP.")]
- public int maxHearts = 1;
-
- ///
- /// 산정된 최대 HP(쿼터 단위). 직접 설정 대신 를 통해 조정한다 (시리얼라이즈 호환 유지).
- /// BT7-Plan 이전에는 1로 고정되어 있었으나, 현재 PD 지시로 하트 분할 시스템 전환.
- ///
- [Tooltip("산정된 최대 HP(쿼터). maxHearts * 4. Inspector에서 직접 수정하지 말 것.")]
- public int maxHP = QuartersPerHeart;
-
- ///
- /// 무적 시간 (i-frame) 지속 초 단위. 기획 04 §3-2 후보 0.4~0.8s.
- /// 연속 히트 방지용 (하트 분할 전환 후에도 강한 단일 공격을 한 번에 과도 피해 받지 않도록 유지).
- ///
- public float invulnerableDuration = 0.6f;
-
- ///
- /// 현재 무적 상태 여부 (디버그·UX 피드백용 — 깜박임 제어 등에 사용 가능).
- ///
- public bool IsInvulnerable => Time.time < invulnerableUntil;
-
- ///
- /// Indicates if the entity should be considered 'alive'.
- ///
- public bool IsAlive => currentHP > 0;
-
- ///
- /// 현재 HP(쿼터). HUD는 이 값과 를 함께 읽어 하트 분할 UI를 그린다.
- ///
- public int CurrentHP => currentHP;
-
- int currentHP;
- float invulnerableUntil = -1f;
-
- ///
- /// Increment the HP of the entity by a single quarter.
- /// 카드·픽업으로 하트 1/4 회복 (기존 API 호환).
- ///
- public void Increment()
- {
- currentHP = Mathf.Clamp(currentHP + 1, 0, maxHP);
- }
-
- ///
- /// 쿼터 단위 회복. 하트 1개 전체 회복은 quarters=4 호출.
- ///
- /// 회복할 쿼터 수 (0 이하면 무시).
- public void Heal(int quarters)
- {
- if (quarters <= 0) return;
- currentHP = Mathf.Clamp(currentHP + quarters, 0, maxHP);
- }
-
- ///
- /// 단일 피해(기본 1 쿼터). 무적 시간 내에는 호출되어도 스킵된다.
- ///
- public void Decrement()
- {
- Decrement(1);
- }
-
- ///
- /// 쿼터 단위 피해 처리. BT7-Plan 2026-04-24 — 적 ATK는 쿼터 단위(`PlayerHP -= EnemyATK`).
- /// 무적 시간 내에는 완전 스킵(부분 히트도 인정하지 않음 — 연타 방지 원칙).
- ///
- /// 피해량(쿼터). 1 이상 값만 유효.
- public void Decrement(int damage)
- {
- if (damage <= 0) return;
-
- // BT5-Dev 2단계: i-frame 보호 — 무적 시간 내 중복 피격 차단
- if (Time.time < invulnerableUntil)
- {
- return;
- }
-
- currentHP = Mathf.Clamp(currentHP - damage, 0, maxHP);
-
- // 피격 성공 시 무적 시간 활성화 (다음 피격 대비)
- if (invulnerableDuration > 0f)
- {
- invulnerableUntil = Time.time + invulnerableDuration;
- }
-
- if (currentHP == 0)
- {
- var ev = Schedule();
- ev.health = this;
- }
- }
-
- ///
- /// 최대 하트 수를 증가시키고 현재 HP도 같은 쿼터만큼 비례 증가.
- /// BT7-Plan 2026-04-24 — 패시브 카드 `[방호]`·`[회복]` 효과 훅.
- ///
- /// 증가시킬 하트 수 (음수 허용하지만 currentHP가 maxHP를 초과하지 않도록 clamp).
- public void IncreaseMaxHearts(int delta)
- {
- if (delta == 0) return;
- int beforeMax = maxHP;
- maxHearts = Mathf.Max(0, maxHearts + delta);
- maxHP = maxHearts * QuartersPerHeart;
-
- if (delta > 0)
- {
- int added = maxHP - beforeMax;
- currentHP = Mathf.Clamp(currentHP + added, 0, maxHP);
- }
- else
- {
- currentHP = Mathf.Clamp(currentHP, 0, maxHP);
- if (currentHP == 0 && maxHP > 0)
- {
- var ev = Schedule();
- ev.health = this;
- }
- }
- }
-
- ///
- /// Decrement the HP of the entity until HP reaches 0.
- /// i-frame 우회하여 즉사 처리 (낙사·승리 이탈 등 시스템 강제 사망).
- ///
- public void Die()
- {
- invulnerableUntil = -1f; // i-frame 무효화
- if (currentHP > 0)
- {
- currentHP = 0;
- var ev = Schedule();
- ev.health = this;
- }
- }
-
- void Awake()
- {
- // maxHearts가 설정되어 있고 maxHP가 구식 값(1)으로 남아있는 프리팹 호환 처리.
- // 정상 흐름: maxHP = maxHearts * 4, currentHP = maxHP로 초기화.
- if (maxHearts <= 0) maxHearts = 1;
- int expected = maxHearts * QuartersPerHeart;
- if (maxHP != expected) maxHP = expected;
- currentHP = maxHP;
- }
- }
-}
diff --git a/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs.meta b/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs.meta
deleted file mode 100644
index 57da8c4..0000000
--- a/Assets/Scripts/Mechanics/Health.cs.bak_20260507_1253.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 39d875bb0528c7c4fa6f457c4a7eca03
\ No newline at end of file
diff --git a/Assets/Scripts/Mechanics/PlayerController.cs b/Assets/Scripts/Mechanics/PlayerController.cs
index aa29289..a8a60c1 100644
--- a/Assets/Scripts/Mechanics/PlayerController.cs
+++ b/Assets/Scripts/Mechanics/PlayerController.cs
@@ -64,13 +64,31 @@ namespace Platformer.Mechanics
public Bounds Bounds => collider2d.bounds;
+ ///
+ /// 마지막 grounded 위치 — 낙사 시 안전 복귀 영역 (PD 지시 2026-05-07).
+ ///
+ public Vector3 LastGroundedPosition { get; private set; }
+
void Awake()
{
health = GetComponent();
audioSource = GetComponent();
collider2d = GetComponent();
spriteRenderer = GetComponent();
+ if (spriteRenderer == null) spriteRenderer = GetComponentInChildren();
animator = GetComponent();
+ if (animator == null) animator = GetComponentInChildren();
+
+ // PD 지시 2026-05-07 — 동반 컴포넌트 자동 부착 (Inspector 부착 불요)
+ if (GetComponent() == null) gameObject.AddComponent();
+ if (GetComponent() == null) gameObject.AddComponent();
+
+ // PD 지시 2026-05-07 — 사망 시 입력 차단 / 부활 시 입력 복원
+ if (health != null)
+ {
+ health.OnDeathEvent += OnHealthDeath;
+ health.OnResurrectEvent += OnHealthResurrect;
+ }
if (attackHitbox == null) attackHitbox = GetComponent();
m_MoveAction = InputSystem.actions.FindAction("Player/Move");
@@ -78,6 +96,28 @@ namespace Platformer.Mechanics
m_MoveAction.Enable();
m_JumpAction.Enable();
+
+ LastGroundedPosition = transform.position;
+ }
+
+ void OnDestroy()
+ {
+ if (health != null)
+ {
+ health.OnDeathEvent -= OnHealthDeath;
+ health.OnResurrectEvent -= OnHealthResurrect;
+ }
+ }
+
+ void OnHealthDeath()
+ {
+ controlEnabled = false;
+ move = Vector2.zero;
+ }
+
+ void OnHealthResurrect()
+ {
+ controlEnabled = true;
}
protected override void Update()
@@ -100,6 +140,9 @@ namespace Platformer.Mechanics
}
UpdateJumpState();
base.Update();
+
+ // PD 지시 2026-05-07 — 낙사 시 복귀할 안전 위치 추적
+ if (IsGrounded) LastGroundedPosition = transform.position;
}
void UpdateJumpState()
@@ -150,12 +193,12 @@ namespace Platformer.Mechanics
if (move.x > 0.01f)
{
- spriteRenderer.flipX = false;
+ spriteRenderer.flipX = true;
facing = Vector2.right;
}
else if (move.x < -0.01f)
{
- spriteRenderer.flipX = true;
+ spriteRenderer.flipX = false;
facing = Vector2.left;
}
diff --git a/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs b/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs
new file mode 100644
index 0000000..5fc7675
--- /dev/null
+++ b/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs
@@ -0,0 +1,47 @@
+using UnityEngine;
+
+namespace Platformer.Mechanics
+{
+ ///
+ /// 무적 상태(Health.IsInvulnerable) 동안 SpriteRenderer를 토글하여 깜빡임 시각 피드백 제공.
+ /// PD 지시 2026-05-07 — 피격 0.5초·부활 2초 무적 시 깜빡거림 의무.
+ /// PlayerController.Awake에서 자동 부착되므로 Inspector 부착 불요.
+ ///
+ [RequireComponent(typeof(Health))]
+ public class PlayerInvulnerabilityFlash : MonoBehaviour
+ {
+ [Tooltip("깜빡임 토글 간격(초). 0.08~0.12 권장.")]
+ public float flashInterval = 0.1f;
+
+ Health health;
+ SpriteRenderer spriteRenderer;
+ float flashTimer;
+
+ void Awake()
+ {
+ health = GetComponent();
+ spriteRenderer = GetComponent();
+ if (spriteRenderer == null) spriteRenderer = GetComponentInChildren();
+ }
+
+ void Update()
+ {
+ if (health == null || spriteRenderer == null) return;
+
+ if (health.IsInvulnerable)
+ {
+ flashTimer -= Time.deltaTime;
+ if (flashTimer <= 0f)
+ {
+ spriteRenderer.enabled = !spriteRenderer.enabled;
+ flashTimer = flashInterval;
+ }
+ }
+ else
+ {
+ spriteRenderer.enabled = true;
+ flashTimer = 0f;
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs.meta b/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs.meta
new file mode 100644
index 0000000..d8418e2
--- /dev/null
+++ b/Assets/Scripts/Mechanics/PlayerInvulnerabilityFlash.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4e08de55e9b4168459917730c615ebb3
\ No newline at end of file
diff --git a/Assets/Scripts/UI/ResurrectPromptUI.cs b/Assets/Scripts/UI/ResurrectPromptUI.cs
new file mode 100644
index 0000000..d87a951
--- /dev/null
+++ b/Assets/Scripts/UI/ResurrectPromptUI.cs
@@ -0,0 +1,77 @@
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using Platformer.Mechanics;
+
+namespace Platformer.UI
+{
+ ///
+ /// Health.OnDeathEvent 수신 시 부활/재시작 팝업 표시.
+ /// PD 지시 2026-05-07:
+ /// - 예 → 제자리 부활 (Health.Resurrect, 부활 직후 2초 무적)
+ /// - 아니오 → 씬 재시작 (SceneManager.LoadScene)
+ /// 임시 OnGUI 영역 — 향후 uGUI Canvas 영역으로 미관 정정 별건.
+ ///
+ [RequireComponent(typeof(Health))]
+ public class ResurrectPromptUI : MonoBehaviour
+ {
+ Health health;
+ bool showPrompt;
+
+ void Awake()
+ {
+ health = GetComponent();
+ if (health != null)
+ {
+ health.OnDeathEvent += OnDeath;
+ health.OnResurrectEvent += OnResurrect;
+ }
+ }
+
+ void OnDestroy()
+ {
+ if (health != null)
+ {
+ health.OnDeathEvent -= OnDeath;
+ health.OnResurrectEvent -= OnResurrect;
+ }
+ }
+
+ void OnDeath()
+ {
+ showPrompt = true;
+ Time.timeScale = 0f;
+ }
+
+ void OnResurrect()
+ {
+ showPrompt = false;
+ Time.timeScale = 1f;
+ }
+
+ void OnGUI()
+ {
+ if (!showPrompt) return;
+
+ float w = 360f, h = 200f;
+ float x = (Screen.width - w) * 0.5f;
+ float y = (Screen.height - h) * 0.5f;
+
+ GUI.Box(new Rect(x, y, w, h), "사망 — 부활하시겠습니까?");
+
+ if (GUI.Button(new Rect(x + 30f, y + 110f, 130f, 60f), "예 (제자리 부활)"))
+ {
+ if (health != null)
+ {
+ health.canResurrect = true;
+ health.Resurrect();
+ }
+ }
+
+ if (GUI.Button(new Rect(x + 200f, y + 110f, 130f, 60f), "아니오 (재시작)"))
+ {
+ Time.timeScale = 1f;
+ SceneManager.LoadScene(SceneManager.GetActiveScene().name);
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/UI/ResurrectPromptUI.cs.meta b/Assets/Scripts/UI/ResurrectPromptUI.cs.meta
new file mode 100644
index 0000000..faaaf4c
--- /dev/null
+++ b/Assets/Scripts/UI/ResurrectPromptUI.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b3146d4d446a75a46aed68269ab33738
\ No newline at end of file
diff --git a/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs b/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs
deleted file mode 100644
index 4e7c7bc..0000000
--- a/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs
+++ /dev/null
@@ -1,261 +0,0 @@
-using System.Linq;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEditor;
-
-///
-/// EerieVillage BT7-Plan 통합 EditMode 테스트 — Player 근거리 공격 체계·하트 분할 HP·자동 발동 타이머·아틀라스 참조.
-/// Prefab/Script 자산의 컴포넌트·필드·YAML 구성이 기획 방향(BT7-Plan 2026-04-24)을 충족하는지 검증.
-/// Play 모드 실행 불요 — prefab/script YAML 직렬화 상태를 직접 검증하여 회귀 방지.
-///
-/// 2026-04-23 BT5-Dev: reflection 기반 전환 (Scripts/ 하위 asmdef 부재 대응).
-/// 2026-04-24 BT7-Plan: VS 순수형 자동 발동 전환에 맞춰 수동 입력(Attack 액션·attackCooldown) 검증 제거 +
-/// PlayerAttackTicker·Health.maxHearts/maxHP·IncreaseMaxHearts·Heal 필드 검증 신규.
-///
-public class PlayerAttackTests
-{
- const string PlayerPrefabPath = "Assets/Prefabs/Player.prefab";
- const string EnemyPrefabPath = "Assets/Prefabs/Enemy.prefab";
-
- const string AttackHitboxType = "Platformer.Mechanics.AttackHitbox";
- const string HealthType = "Platformer.Mechanics.Health";
- const string PlayerControllerType = "Platformer.Mechanics.PlayerController";
- const string EnemyControllerType = "Platformer.Mechanics.EnemyController";
- const string PlayerAttackTickerType = "Platformer.Gameplay.PlayerAttackTicker";
-
- static System.Type FindTypeByFullName(string fullName)
- {
- foreach (var asm in System.AppDomain.CurrentDomain.GetAssemblies())
- {
- var t = asm.GetType(fullName, throwOnError: false);
- if (t != null) return t;
- }
- return null;
- }
-
- static Component FindComponentByFullName(GameObject go, string fullName)
- {
- if (go == null) return null;
- return go.GetComponents()
- .FirstOrDefault(c => c != null && c.GetType().FullName == fullName);
- }
-
- static object GetFieldOrProperty(object obj, string memberName)
- {
- if (obj == null) return null;
- var t = obj.GetType();
- var field = t.GetField(memberName,
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- if (field != null) return field.GetValue(obj);
- var prop = t.GetProperty(memberName,
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- return prop?.GetValue(obj);
- }
-
- // ===== Player/Enemy Prefab 컴포넌트 구성 =====
-
- [Test]
- public void Player_Prefab_Has_AttackHitbox_Component()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- Assert.IsNotNull(prefab, $"Player.prefab not found at {PlayerPrefabPath}");
-
- var hitbox = FindComponentByFullName(prefab, AttackHitboxType);
- Assert.IsNotNull(hitbox,
- "Player.prefab에 AttackHitbox 컴포넌트가 누락. " +
- "BT5-Dev 2단계 재위임 집행분 (2026-04-23) 이 prefab YAML 에 반영되어야 함.");
- }
-
- [Test]
- public void Player_Prefab_Has_Health_Component()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- Assert.IsNotNull(prefab, $"Player.prefab not found at {PlayerPrefabPath}");
-
- var health = FindComponentByFullName(prefab, HealthType);
- Assert.IsNotNull(health, "Player.prefab 에 Health 컴포넌트 누락 (템플릿 기본).");
- }
-
- [Test]
- public void Player_Prefab_Has_PlayerController_Component()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- Assert.IsNotNull(prefab);
-
- var controller = FindComponentByFullName(prefab, PlayerControllerType);
- Assert.IsNotNull(controller, "Player.prefab 에 PlayerController 컴포넌트 누락.");
- }
-
- [Test]
- public void AttackHitbox_Default_Damage_Is_One()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- var hitbox = FindComponentByFullName(prefab, AttackHitboxType);
- Assert.IsNotNull(hitbox);
-
- var damage = GetFieldOrProperty(hitbox, "damage");
- Assert.IsNotNull(damage, "AttackHitbox.damage 필드/프로퍼티 접근 불가");
- Assert.AreEqual(1, System.Convert.ToInt32(damage),
- "기본 대미지 1 (Phase 3-B balance/01 v0.2 튠 전 파일럿 값).");
- }
-
- [Test]
- public void AttackHitbox_Active_Duration_Is_Positive()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- var hitbox = FindComponentByFullName(prefab, AttackHitboxType);
- Assert.IsNotNull(hitbox);
-
- var duration = GetFieldOrProperty(hitbox, "activeDuration");
- Assert.IsNotNull(duration, "AttackHitbox.activeDuration 필드/프로퍼티 접근 불가");
- Assert.Greater(System.Convert.ToSingle(duration), 0f,
- "activeDuration 가 0 이하면 OverlapBox 판정이 즉시 종료되어 공격 무효.");
- }
-
- [Test]
- public void Enemy_Prefab_Has_Health_Component()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(EnemyPrefabPath);
- Assert.IsNotNull(prefab, $"Enemy.prefab not found at {EnemyPrefabPath}");
-
- var health = FindComponentByFullName(prefab, HealthType);
- Assert.IsNotNull(health,
- "Enemy.prefab 에 Health 컴포넌트 누락. " +
- "Health 없으면 AttackHitbox.Update 의 Decrement 호출이 불가 → EnemyDeath 체인 미발동.");
- }
-
- [Test]
- public void Enemy_Prefab_Has_EnemyController_Component()
- {
- var prefab = AssetDatabase.LoadAssetAtPath(EnemyPrefabPath);
- var controller = FindComponentByFullName(prefab, EnemyControllerType);
- Assert.IsNotNull(controller,
- "EnemyDeath 체인에 EnemyController 필수 (AttackHitbox.Update 에서 Schedule().enemy = enemy).");
- }
-
- // ===== BT7-Plan 하트 분할 시스템 검증 (2026-04-24) =====
-
- [Test]
- public void Health_Script_Defines_MaxHearts_And_IncreaseMaxHearts()
- {
- // PlayerAttack.Execute 등에서 Health 타입을 참조할 때의 계약. 필드·메서드 모두 존재해야 함.
- var healthType = FindTypeByFullName(HealthType);
- Assert.IsNotNull(healthType, "Platformer.Mechanics.Health 타입 로드 실패.");
-
- var maxHeartsField = healthType.GetField("maxHearts",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- Assert.IsNotNull(maxHeartsField, "Health.maxHearts 필드 부재 (BT7-Plan 하트 분할 전제).");
-
- var maxHPField = healthType.GetField("maxHP",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- Assert.IsNotNull(maxHPField, "Health.maxHP 필드 부재 (기존 API 호환 유지 필요).");
-
- var increaseMethod = healthType.GetMethod("IncreaseMaxHearts",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- Assert.IsNotNull(increaseMethod, "Health.IncreaseMaxHearts(int) 메서드 부재 — 패시브 카드 훅 필수.");
-
- var healMethod = healthType.GetMethod("Heal",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- Assert.IsNotNull(healMethod, "Health.Heal(int) 메서드 부재 — 쿼터 단위 회복 필수.");
- }
-
- [Test]
- public void Player_Prefab_MaxHP_Reflects_Heart_Quarters()
- {
- // Player.prefab의 Health 직렬화 값: maxHearts와 maxHP의 정합성 확인.
- // maxHP는 maxHearts * 4 또는 0(Awake 재계산 신규 프리팹). 런타임 Awake에서 재산정되지만
- // Inspector 기본값이 "1"인 구식 프리팹이 섞여 있으면 감지 필요.
- var prefab = AssetDatabase.LoadAssetAtPath(PlayerPrefabPath);
- var health = FindComponentByFullName(prefab, HealthType);
- Assert.IsNotNull(health);
-
- var maxHearts = System.Convert.ToInt32(GetFieldOrProperty(health, "maxHearts"));
- var maxHP = System.Convert.ToInt32(GetFieldOrProperty(health, "maxHP"));
- Assert.GreaterOrEqual(maxHearts, 1, "Player 초기 maxHearts는 1 이상 (BT7-Plan 기본 하트 1개).");
- Assert.IsTrue(maxHP == maxHearts * 4 || maxHP == 1,
- $"Player.prefab Health.maxHP({maxHP})는 maxHearts*4({maxHearts * 4}) 또는 구식 기본값 1이어야 함. " +
- "Awake에서 재산정되나 prefab 직렬화 값 점검으로 회귀 방지.");
- }
-
- // ===== BT7-Plan 자동 발동 타이머 검증 (2026-04-24) =====
-
- [Test]
- public void PlayerAttackTicker_Script_Exists_With_AttackInterval()
- {
- // PlayerAttackTicker가 존재하고 attackInterval 필드를 노출하는지 검증.
- // 실제 Player.prefab 부착 여부는 Play 모드 검증 외에 YAML로도 확인 가능하나,
- // 컴포넌트 첨부가 Unity 수동 작업 or 향후 prefab 편집으로 분리되어도 Script 계약만큼은 유지되어야 함.
- var tickerType = FindTypeByFullName(PlayerAttackTickerType);
- Assert.IsNotNull(tickerType,
- "Platformer.Gameplay.PlayerAttackTicker 타입 로드 실패. " +
- "BT7-Plan VS 순수형 자동 발동 전환 전제.");
-
- var intervalField = tickerType.GetField("attackInterval",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
- Assert.IsNotNull(intervalField, "PlayerAttackTicker.attackInterval 필드 부재.");
- Assert.AreEqual(typeof(float), intervalField.FieldType,
- "attackInterval은 float이어야 함 (Time.deltaTime 누적용).");
- }
-
- // ===== BT7-Plan 공격 버튼 제거 검증 =====
-
- [Test]
- public void InputActions_Player_Map_Has_No_Attack_Action()
- {
- // InputSystem_Actions.inputactions의 Player 맵에 Attack 액션이 완전히 제거되었는지 YAML 검증.
- var path = System.IO.Path.GetFullPath("Assets/Settings/InputSystem_Actions.inputactions");
- Assert.IsTrue(System.IO.File.Exists(path), $"InputActions 파일 부재 — {path}");
- var json = System.IO.File.ReadAllText(path);
-
- // Player 맵 내부에 "Attack" 이름의 액션이 없어야 함. UI 맵 범위는 무시.
- var playerMapStart = json.IndexOf("\"name\": \"Player\"", System.StringComparison.Ordinal);
- Assert.Greater(playerMapStart, 0, "Player 맵 식별 실패.");
- var uiMapStart = json.IndexOf("\"name\": \"UI\"", playerMapStart, System.StringComparison.Ordinal);
- Assert.Greater(uiMapStart, playerMapStart, "UI 맵 식별 실패.");
-
- var playerMapSection = json.Substring(playerMapStart, uiMapStart - playerMapStart);
- Assert.IsFalse(
- playerMapSection.Contains("\"name\": \"Attack\""),
- "Player 맵에 Attack 액션 잔존. BT7-Plan VS 순수형 전환으로 제거되어야 함.");
- }
-
- // ===== BT5-Dev 3단계 PlayerTestGirl 아틀라스 적용 검증 (2026-04-24 계승) =====
-
- const string PlayerTestGirlGuid = "44ad58ba82191ca4d818108ab01d3baa";
-
- [Test]
- public void Player_Prefab_SpriteRenderer_References_PlayerTestGirl()
- {
- var path = System.IO.Path.GetFullPath(PlayerPrefabPath);
- Assert.IsTrue(System.IO.File.Exists(path), $"Player.prefab 부재 — {path}");
- var yaml = System.IO.File.ReadAllText(path);
-
- var match = System.Text.RegularExpressions.Regex.Match(
- yaml,
- @"m_Sprite:\s*\{fileID:\s*[-0-9]+,\s*guid:\s*([a-f0-9]{32}),\s*type:\s*3\}");
- Assert.IsTrue(match.Success,
- "Player.prefab YAML 에서 SpriteRenderer.m_Sprite guid 추출 실패.");
- Assert.AreEqual(PlayerTestGirlGuid, match.Groups[1].Value,
- $"Player.prefab SpriteRenderer.m_Sprite guid 가 PlayerTestGirl({PlayerTestGirlGuid}) 이어야 함. 실제: {match.Groups[1].Value}");
- }
-
- [Test]
- public void Player_Controller_Has_Attack_Parameter_And_State()
- {
- var path = System.IO.Path.GetFullPath("Assets/Character/Animations/Player.controller");
- Assert.IsTrue(System.IO.File.Exists(path), $"Player.controller 부재 — {path}");
- var yaml = System.IO.File.ReadAllText(path);
-
- Assert.IsTrue(
- System.Text.RegularExpressions.Regex.IsMatch(
- yaml,
- @"m_Name:\s*attack\s*\r?\n\s*m_Type:\s*9"),
- "Player.controller 에 attack Trigger 파라미터(m_Type:9) 누락. " +
- "자동 발동 PlayerAttack → Animator.SetTrigger 연동 전제.");
-
- Assert.IsTrue(
- yaml.Contains("m_Name: Player-Attack"),
- "Player.controller 에 Player-Attack State 누락. " +
- "PlayerAttack.anim(guid c8d7e5a1f9b24e63a7f5d2c8e1b9a4f7) 모션을 호스트하는 State 가 필요.");
- }
-}
diff --git a/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs.meta b/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs.meta
deleted file mode 100644
index 9513222..0000000
--- a/Assets/Tests/Editor/PlayerAttackTests.cs.bak_20260507_1253.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 3acc987bf6f7cca47a18e551bc785834
\ No newline at end of file