Refactor and reorganize scripts for improved structure and functionality

- Removed obsolete scripts: Chest, BreakableWall, Door, DoorInteract, and UiManager.
- Moved Chest and BreakableWall scripts to EnvironmentObjects folder.
- Introduced HammerThrower class to manage hammer throwing mechanics.
- Updated PlayerController to utilize new InputManager and HammerThrower.
- Refactored PlayerState to manage player state and item collection.
- Enhanced UI management in UiManager to reflect player item collection.
- Updated EnemyAI to remove unused movement logic.
- Adjusted KeyChest to interact with PlayerState instead of Player.
- Cleaned up code and improved event handling for item collection.
This commit is contained in:
2026-06-05 14:33:20 +03:00
parent 39294ec527
commit 7579175d24
33 changed files with 458 additions and 278 deletions
@@ -7,27 +7,23 @@ labels:
- gvhp_targets-editor - gvhp_targets-editor
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 3
iconMap: {} iconMap: {}
executionOrder: {} executionOrder: {}
defineConstraints: []
isPreloaded: 0 isPreloaded: 0
isOverridable: 0 isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 0 validateReferences: 0
platformData: platformData:
- first: Any:
Any:
second:
enabled: 0 enabled: 0
settings: {} settings: {}
- first: Editor:
Editor: Editor enabled: 1
second:
enabled: 0
settings: settings:
DefaultValueInitialized: true DefaultValueInitialized: true
- first: WindowsStoreApps:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
@@ -7,26 +7,23 @@ labels:
- gvhp_targets-editor - gvhp_targets-editor
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 3
iconMap: {} iconMap: {}
executionOrder: {} executionOrder: {}
defineConstraints: []
isPreloaded: 0 isPreloaded: 0
isOverridable: 0 isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData: platformData:
- first: Any:
Any:
second:
enabled: 0 enabled: 0
settings: {} settings: {}
- first: Editor:
Editor: Editor enabled: 1
second:
enabled: 0
settings: settings:
DefaultValueInitialized: true DefaultValueInitialized: true
- first: WindowsStoreApps:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
@@ -7,29 +7,26 @@ labels:
- gvhp_targets-editor - gvhp_targets-editor
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 3
iconMap: {} iconMap: {}
executionOrder: {} executionOrder: {}
defineConstraints: []
isPreloaded: 0 isPreloaded: 0
isOverridable: 0 isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData: platformData:
- first: Any:
Any:
second:
enabled: 0 enabled: 0
settings: {} settings: {}
- first: Editor:
Editor: Editor enabled: 1
second:
enabled: 0
settings: settings:
DefaultValueInitialized: true DefaultValueInitialized: true
- first: WindowsStoreApps:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:
@@ -7,26 +7,23 @@ labels:
- gvhp_targets-editor - gvhp_targets-editor
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 3
iconMap: {} iconMap: {}
executionOrder: {} executionOrder: {}
defineConstraints: []
isPreloaded: 0 isPreloaded: 0
isOverridable: 0 isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData: platformData:
- first: Any:
Any:
second:
enabled: 0 enabled: 0
settings: {} settings: {}
- first: Editor:
Editor: Editor enabled: 1
second:
enabled: 0
settings: settings:
DefaultValueInitialized: true DefaultValueInitialized: true
- first: WindowsStoreApps:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
+202 -72
View File
@@ -38,12 +38,12 @@ RenderSettings:
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0} m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0 m_UseRadianceAmbientProbe: 0
--- !u!157 &3 --- !u!157 &3
LightmapSettings: LightmapSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 12 serializedVersion: 13
m_BakeOnSceneLoad: 0
m_GISettings: m_GISettings:
serializedVersion: 2 serializedVersion: 2
m_BounceScale: 1 m_BounceScale: 1
@@ -206,14 +206,14 @@ MonoBehaviour:
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0 m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0 m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings: m_TaaSettings:
quality: 3 m_Quality: 3
frameInfluence: 0.1 m_FrameInfluence: 0.1
jitterScale: 1 m_JitterScale: 1
mipBias: 0 m_MipBias: 0
varianceClampScale: 0.9 m_VarianceClampScale: 0.9
contrastAdaptiveSharpening: 0 m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!20 &1012724 --- !u!20 &1012724
Camera: Camera:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -794,6 +794,7 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!483693784 &350695916 --- !u!483693784 &350695916
TilemapRenderer: TilemapRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -811,6 +812,9 @@ TilemapRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -832,9 +836,11 @@ TilemapRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -133646357 m_SortingLayerID: -133646357
m_SortingLayer: 2 m_SortingLayer: 2
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_ChunkSize: {x: 32, y: 32, z: 32} m_ChunkSize: {x: 32, y: 32, z: 32}
m_ChunkCullingBounds: {x: 0.038461566, y: 0.015863359, z: 0} m_ChunkCullingBounds: {x: 0.038461566, y: 0.015863359, z: 0}
m_MaxChunkCount: 16 m_MaxChunkCount: 16
@@ -842,7 +848,6 @@ TilemapRenderer:
m_SortOrder: 0 m_SortOrder: 0
m_Mode: 0 m_Mode: 0
m_DetectChunkCullingBounds: 0 m_DetectChunkCullingBounds: 0
m_MaskInteraction: 0
--- !u!1839735485 &350695917 --- !u!1839735485 &350695917
Tilemap: Tilemap:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2144,33 +2149,46 @@ Tilemap:
m_AllTileFlags: 2147483649 m_AllTileFlags: 2147483649
m_AnimatedTiles: {} m_AnimatedTiles: {}
m_TileAssetArray: m_TileAssetArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 82 - serializedVersion: 2
m_RefCount: 82
m_Data: {fileID: 11400000, guid: e0bbf4923ef35474fb2c0d4d207a85a2, type: 2} m_Data: {fileID: 11400000, guid: e0bbf4923ef35474fb2c0d4d207a85a2, type: 2}
- m_RefCount: 47 - serializedVersion: 2
m_RefCount: 47
m_Data: {fileID: 11400000, guid: b7ab33d01119add43b9f50c7d2155349, type: 2} m_Data: {fileID: 11400000, guid: b7ab33d01119add43b9f50c7d2155349, type: 2}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
m_TileSpriteArray: m_TileSpriteArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 47 - serializedVersion: 2
m_RefCount: 47
m_Data: {fileID: 1045964120, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_Data: {fileID: 1045964120, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 82 - serializedVersion: 2
m_RefCount: 82
m_Data: {fileID: 221868806, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_Data: {fileID: 221868806, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
m_TileMatrixArray: m_TileMatrixArray:
- m_RefCount: 129 - serializedVersion: 2
m_RefCount: 129
m_Data: m_Data:
e00: 1 e00: 1
e01: 0 e01: 0
@@ -2189,9 +2207,11 @@ Tilemap:
e32: 0 e32: 0
e33: 1 e33: 1
m_TileColorArray: m_TileColorArray:
- m_RefCount: 129 - serializedVersion: 2
m_RefCount: 129
m_Data: {r: 1, g: 1, b: 1, a: 1} m_Data: {r: 1, g: 1, b: 1, a: 1}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {r: 3.7734e-41, g: 3.7734e-41, b: 3.7734e-41, a: 3.7734e-41} m_Data: {r: 3.7734e-41, g: 3.7734e-41, b: 3.7734e-41, a: 3.7734e-41}
m_TileObjectToInstantiateArray: [] m_TileObjectToInstantiateArray: []
m_AnimationFrameRate: 1 m_AnimationFrameRate: 1
@@ -2653,7 +2673,7 @@ CompositeCollider2D:
m_CompositeGameObject: {fileID: 350695914} m_CompositeGameObject: {fileID: 350695914}
--- !u!50 &350695921 --- !u!50 &350695921
Rigidbody2D: Rigidbody2D:
serializedVersion: 4 serializedVersion: 5
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -2664,8 +2684,8 @@ Rigidbody2D:
m_UseFullKinematicContacts: 0 m_UseFullKinematicContacts: 0
m_UseAutoMass: 0 m_UseAutoMass: 0
m_Mass: 1 m_Mass: 1
m_LinearDrag: 0 m_LinearDamping: 0
m_AngularDrag: 0.05 m_AngularDamping: 0.05
m_GravityScale: 1 m_GravityScale: 1
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IncludeLayers: m_IncludeLayers:
@@ -2789,6 +2809,7 @@ Canvas:
m_OverridePixelPerfect: 0 m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0 m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0 m_VertexColorAlwaysGammaSpace: 0
m_UseReflectionProbes: 0
m_AdditionalShaderChannelsFlag: 25 m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0 m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
@@ -2808,6 +2829,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_totalCoins: {fileID: 1923750336} _totalCoins: {fileID: 1923750336}
_keyIcon: {fileID: 1371746634} _keyIcon: {fileID: 1371746634}
_playerState: {fileID: 0}
--- !u!1 &411449914 --- !u!1 &411449914
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2842,6 +2864,7 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &411449916 --- !u!212 &411449916
SpriteRenderer: SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -2859,6 +2882,9 @@ SpriteRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -2880,9 +2906,11 @@ SpriteRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -133646357 m_SortingLayerID: -133646357
m_SortingLayer: 2 m_SortingLayer: 2
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_Sprite: {fileID: 2032460506, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_Sprite: {fileID: 2032460506, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0 m_FlipX: 0
@@ -2892,7 +2920,6 @@ SpriteRenderer:
m_AdaptiveModeThreshold: 0.5 m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0 m_SpriteTileMode: 0
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!1 &416410544 --- !u!1 &416410544
GameObject: GameObject:
@@ -3159,6 +3186,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7047733282028940673, guid: 934a57b833e872445ac8463836f55a44, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7047733282028940674, guid: 934a57b833e872445ac8463836f55a44, type: 3} - target: {fileID: 7047733282028940674, guid: 934a57b833e872445ac8463836f55a44, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: CoinChest value: CoinChest
@@ -3354,14 +3385,14 @@ MonoBehaviour:
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0 m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0 m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings: m_TaaSettings:
quality: 3 m_Quality: 3
frameInfluence: 0.1 m_FrameInfluence: 0.1
jitterScale: 1 m_JitterScale: 1
mipBias: 0 m_MipBias: 0
varianceClampScale: 0.9 m_VarianceClampScale: 0.9
contrastAdaptiveSharpening: 0 m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!114 &519420034 --- !u!114 &519420034
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -3514,6 +3545,7 @@ MonoBehaviour:
m_LayoutPriority: 1 m_LayoutPriority: 1
--- !u!212 &600229404 --- !u!212 &600229404
SpriteRenderer: SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -3531,6 +3563,9 @@ SpriteRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -3552,9 +3587,11 @@ SpriteRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_Sprite: {fileID: 9121714076949873720, guid: 8205cc62b12996346b6a4111f4c12e31, type: 3} m_Sprite: {fileID: 9121714076949873720, guid: 8205cc62b12996346b6a4111f4c12e31, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0 m_FlipX: 0
@@ -3564,7 +3601,6 @@ SpriteRenderer:
m_AdaptiveModeThreshold: 0.5 m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0 m_SpriteTileMode: 0
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!1001 &621498133 --- !u!1001 &621498133
PrefabInstance: PrefabInstance:
@@ -4687,6 +4723,7 @@ GameObject:
m_IsActive: 1 m_IsActive: 1
--- !u!212 &923801477 --- !u!212 &923801477
SpriteRenderer: SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -4704,6 +4741,9 @@ SpriteRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -4725,9 +4765,11 @@ SpriteRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -133646357 m_SortingLayerID: -133646357
m_SortingLayer: 2 m_SortingLayer: 2
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_Sprite: {fileID: 7482667652216324306, guid: f50fac695ca5b9d44b880d4f5d3358a6, type: 3} m_Sprite: {fileID: 7482667652216324306, guid: f50fac695ca5b9d44b880d4f5d3358a6, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0 m_FlipX: 0
@@ -4737,7 +4779,6 @@ SpriteRenderer:
m_AdaptiveModeThreshold: 0.5 m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0 m_SpriteTileMode: 0
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!4 &923801478 --- !u!4 &923801478
Transform: Transform:
@@ -4987,6 +5028,7 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!483693784 &996611804 --- !u!483693784 &996611804
TilemapRenderer: TilemapRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -5004,6 +5046,9 @@ TilemapRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -5025,9 +5070,11 @@ TilemapRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -133646357 m_SortingLayerID: -133646357
m_SortingLayer: 2 m_SortingLayer: 2
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_ChunkSize: {x: 32, y: 32, z: 32} m_ChunkSize: {x: 32, y: 32, z: 32}
m_ChunkCullingBounds: {x: 0, y: 0, z: 0} m_ChunkCullingBounds: {x: 0, y: 0, z: 0}
m_MaxChunkCount: 16 m_MaxChunkCount: 16
@@ -5035,7 +5082,6 @@ TilemapRenderer:
m_SortOrder: 0 m_SortOrder: 0
m_Mode: 0 m_Mode: 0
m_DetectChunkCullingBounds: 0 m_DetectChunkCullingBounds: 0
m_MaskInteraction: 0
--- !u!1839735485 &996611805 --- !u!1839735485 &996611805
Tilemap: Tilemap:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -5047,31 +5093,43 @@ Tilemap:
m_Tiles: {} m_Tiles: {}
m_AnimatedTiles: {} m_AnimatedTiles: {}
m_TileAssetArray: m_TileAssetArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
m_TileSpriteArray: m_TileSpriteArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
m_TileMatrixArray: m_TileMatrixArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: m_Data:
e00: 1.2182863e+37 e00: 1.2182863e+37
e01: 0 e01: 0
@@ -5090,7 +5148,8 @@ Tilemap:
e32: 5.06e-43 e32: 5.06e-43
e33: 5.09e-43 e33: 5.09e-43
m_TileColorArray: m_TileColorArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {r: NaN, g: NaN, b: NaN, a: NaN} m_Data: {r: NaN, g: NaN, b: NaN, a: NaN}
m_TileObjectToInstantiateArray: [] m_TileObjectToInstantiateArray: []
m_AnimationFrameRate: 1 m_AnimationFrameRate: 1
@@ -5175,6 +5234,7 @@ MonoBehaviour:
m_LayoutPriority: 1 m_LayoutPriority: 1
--- !u!212 &999064606 --- !u!212 &999064606
SpriteRenderer: SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -5192,6 +5252,9 @@ SpriteRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -5213,9 +5276,11 @@ SpriteRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_Sprite: {fileID: 9121714076949873720, guid: 8205cc62b12996346b6a4111f4c12e31, type: 3} m_Sprite: {fileID: 9121714076949873720, guid: 8205cc62b12996346b6a4111f4c12e31, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0 m_FlipX: 0
@@ -5225,7 +5290,6 @@ SpriteRenderer:
m_AdaptiveModeThreshold: 0.5 m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0 m_SpriteTileMode: 0
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!4 &1043752729 stripped --- !u!4 &1043752729 stripped
Transform: Transform:
@@ -5247,7 +5311,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1112701721 --- !u!224 &1112701721
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -5901,6 +5965,7 @@ GameObject:
m_IsActive: 1 m_IsActive: 1
--- !u!212 &1278962561 --- !u!212 &1278962561
SpriteRenderer: SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -5918,6 +5983,9 @@ SpriteRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -5939,9 +6007,11 @@ SpriteRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -1388626623 m_SortingLayerID: -1388626623
m_SortingLayer: 1 m_SortingLayer: 1
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_Sprite: {fileID: 21300000, guid: af5d092f65b68a4499f43779742fe6b9, type: 3} m_Sprite: {fileID: 21300000, guid: af5d092f65b68a4499f43779742fe6b9, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0 m_FlipX: 0
@@ -5951,7 +6021,6 @@ SpriteRenderer:
m_AdaptiveModeThreshold: 0.5 m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0 m_SpriteTileMode: 0
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!4 &1278962562 --- !u!4 &1278962562
Transform: Transform:
@@ -6261,6 +6330,7 @@ TilemapCollider2D:
m_UseDelaunayMesh: 0 m_UseDelaunayMesh: 0
--- !u!483693784 &1409424115 --- !u!483693784 &1409424115
TilemapRenderer: TilemapRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -6278,6 +6348,9 @@ TilemapRenderer:
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1 m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -6299,9 +6372,11 @@ TilemapRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -133646357 m_SortingLayerID: -133646357
m_SortingLayer: 2 m_SortingLayer: 2
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_ChunkSize: {x: 32, y: 32, z: 32} m_ChunkSize: {x: 32, y: 32, z: 32}
m_ChunkCullingBounds: {x: 0.019230723, y: 0.004314184, z: 0} m_ChunkCullingBounds: {x: 0.019230723, y: 0.004314184, z: 0}
m_MaxChunkCount: 16 m_MaxChunkCount: 16
@@ -6309,7 +6384,6 @@ TilemapRenderer:
m_SortOrder: 0 m_SortOrder: 0
m_Mode: 0 m_Mode: 0
m_DetectChunkCullingBounds: 0 m_DetectChunkCullingBounds: 0
m_MaskInteraction: 0
--- !u!1839735485 &1409424116 --- !u!1839735485 &1409424116
Tilemap: Tilemap:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -6361,31 +6435,43 @@ Tilemap:
m_AllTileFlags: 2147483649 m_AllTileFlags: 2147483649
m_AnimatedTiles: {} m_AnimatedTiles: {}
m_TileAssetArray: m_TileAssetArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 4 - serializedVersion: 2
m_RefCount: 4
m_Data: {fileID: 11400000, guid: c172c8f07ca54fc4bb68b1c1845a5789, type: 2} m_Data: {fileID: 11400000, guid: c172c8f07ca54fc4bb68b1c1845a5789, type: 2}
m_TileSpriteArray: m_TileSpriteArray:
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 0 - serializedVersion: 2
m_RefCount: 0
m_Data: {fileID: 0} m_Data: {fileID: 0}
- m_RefCount: 4 - serializedVersion: 2
m_RefCount: 4
m_Data: {fileID: 606517438, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_Data: {fileID: 606517438, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3}
m_TileMatrixArray: m_TileMatrixArray:
- m_RefCount: 4 - serializedVersion: 2
m_RefCount: 4
m_Data: m_Data:
e00: 1 e00: 1
e01: 0 e01: 0
@@ -6404,7 +6490,8 @@ Tilemap:
e32: 0 e32: 0
e33: 1 e33: 1
m_TileColorArray: m_TileColorArray:
- m_RefCount: 4 - serializedVersion: 2
m_RefCount: 4
m_Data: {r: 1, g: 1, b: 1, a: 1} m_Data: {r: 1, g: 1, b: 1, a: 1}
m_TileObjectToInstantiateArray: [] m_TileObjectToInstantiateArray: []
m_AnimationFrameRate: 1 m_AnimationFrameRate: 1
@@ -6532,7 +6619,7 @@ CompositeCollider2D:
m_CompositeGameObject: {fileID: 1409424112} m_CompositeGameObject: {fileID: 1409424112}
--- !u!50 &1409424119 --- !u!50 &1409424119
Rigidbody2D: Rigidbody2D:
serializedVersion: 4 serializedVersion: 5
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
@@ -6543,8 +6630,8 @@ Rigidbody2D:
m_UseFullKinematicContacts: 0 m_UseFullKinematicContacts: 0
m_UseAutoMass: 0 m_UseAutoMass: 0
m_Mass: 1 m_Mass: 1
m_LinearDrag: 0 m_LinearDamping: 0
m_AngularDrag: 0.05 m_AngularDamping: 0.05
m_GravityScale: 1 m_GravityScale: 1
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IncludeLayers: m_IncludeLayers:
@@ -7013,6 +7100,33 @@ CapsuleCollider2D:
m_Offset: {x: -0.04, y: 0} m_Offset: {x: -0.04, y: 0}
m_Size: {x: 0.55, y: 0.89} m_Size: {x: 0.55, y: 0.89}
m_Direction: 0 m_Direction: 0
--- !u!114 &1627236058
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 681564194}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59cb4a98d6866124793e8758b2ec958a, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::HammerThrower
_spawnPoint: {fileID: 5855359588613562703}
_hammerPrefab: {fileID: 6648495433791226095, guid: 111653ffd63dcc64a91ceb9c5d52aa04, type: 3}
_throwSpeed: 5
--- !u!114 &1627236062
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 681564194}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45d7bd38990996d4488582b07cbe7e40, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::InputManager
--- !u!1 &1638752927 --- !u!1 &1638752927
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -7567,6 +7681,7 @@ MonoBehaviour:
m_VerticalAlignment: 256 m_VerticalAlignment: 256
m_textAlignment: 65535 m_textAlignment: 65535
m_characterSpacing: 0 m_characterSpacing: 0
m_characterHorizontalScale: 1
m_wordSpacing: 0 m_wordSpacing: 0
m_lineSpacing: 0 m_lineSpacing: 0
m_lineSpacingMax: 0 m_lineSpacingMax: 0
@@ -7726,6 +7841,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7047733282028940673, guid: 934a57b833e872445ac8463836f55a44, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7047733282028940674, guid: 934a57b833e872445ac8463836f55a44, type: 3} - target: {fileID: 7047733282028940674, guid: 934a57b833e872445ac8463836f55a44, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: CoinChest value: CoinChest
@@ -8309,7 +8428,18 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 3931708971405200045, guid: a7f273d812293e54d92972f62e1f0159, type: 3} - targetCorrespondingSourceObject: {fileID: 3931708971405200045, guid: a7f273d812293e54d92972f62e1f0159, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 1627236057} addedObject: {fileID: 1627236057}
- targetCorrespondingSourceObject: {fileID: 3931708971405200045, guid: a7f273d812293e54d92972f62e1f0159, type: 3}
insertIndex: -1
addedObject: {fileID: 1627236058}
- targetCorrespondingSourceObject: {fileID: 3931708971405200045, guid: a7f273d812293e54d92972f62e1f0159, type: 3}
insertIndex: -1
addedObject: {fileID: 1627236062}
m_SourcePrefab: {fileID: 100100000, guid: a7f273d812293e54d92972f62e1f0159, type: 3} m_SourcePrefab: {fileID: 100100000, guid: a7f273d812293e54d92972f62e1f0159, type: 3}
--- !u!4 &5855359588613562703 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3706253573488771434, guid: a7f273d812293e54d92972f62e1f0159, type: 3}
m_PrefabInstance: {fileID: 5855359588613562702}
m_PrefabAsset: {fileID: 0}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
-11
View File
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 0ade875a254231c4d8c43cacc7b27bfb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4d7148405c33f2f45ae0479592e8cb6e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+17 -27
View File
@@ -3,18 +3,11 @@ using UnityEngine;
public class PlayerController : Character public class PlayerController : Character
{ {
[SerializeField]
private Transform _hammerSpawnPoint;
[SerializeField]
private GameObject _hammerPrefab;
[SerializeField] [SerializeField]
private Sprite _regularSprite; private Sprite _regularSprite;
[SerializeField] [SerializeField]
private Sprite _noHammerSprite; private Sprite _noHammerSprite;
public static Player Instance { get; private set; }
private GameObject _hammer; private GameObject _hammer;
private bool _isHoldingHammer = true; private bool _isHoldingHammer = true;
@@ -23,32 +16,25 @@ public class PlayerController : Character
private InputManager _inputManager; private InputManager _inputManager;
private PlayerState _playerState; private PlayerState _playerState;
private HammerThrower _hammerThrower;
private void Awake() private void Awake()
{ {
if (Instance != null) _inputManager = GetComponent<InputManager>();
{
Destroy(gameObject);
Debug.Log("There's more than one player instance");
return;
}
Instance = this;
DontDestroyOnLoad(gameObject);
_inputManager = new InputManager();
_playerState = GetComponent<PlayerState>(); _playerState = GetComponent<PlayerState>();
_hammerThrower = GetComponent<HammerThrower>();
_inputManager.OnMovementInput += OnMovementInput; _inputManager.OnFire += OnFireButtonPressed;
_inputManager.OnFireButtonPressed += OnFireButtonPressed;
} }
private void OnEnable() private void OnEnable()
{ {
_inputManager.Enable(); _inputManager.OnEnable();
} }
private void OnDisable() private void OnDisable()
{ {
_inputManager.Disable(); _inputManager.OnDisable();
} }
private void Update() private void Update()
@@ -59,8 +45,8 @@ public class PlayerController : Character
_isHoldingHammer = true; _isHoldingHammer = true;
} }
var move = _inputManager.OnMovementInput.ReadValue<Vector2>(); Vector2 move = _inputManager.Movement;
base.MoveTo(move.x, isAllowVertical ? move.y : 0); MoveTo(move.x, isAllowVertical ? move.y : 0);
} }
private void OnFireButtonPressed() private void OnFireButtonPressed()
@@ -71,15 +57,19 @@ public class PlayerController : Character
} }
} }
// Animation event
public void ThrowHammerObject() public void ThrowHammerObject()
{ {
_isHoldingHammer = false; _hammerThrower.ThrowHammer();
_spriteRenderer.sprite = _noHammerSprite; UpdatePlayerSprite();
_hammer = Instantiate(_hammerPrefab, _hammerSpawnPoint.position, _hammerSpawnPoint.rotation);
_hammer.transform.localScale = new Vector2(_hammer.transform.localScale.x * (_facingRight ? 1 : -1), _hammer.transform.localScale.y);
_hammer.GetComponent<Rigidbody2D>().linearVelocity = new Vector2(gameObject.transform.localScale.x * _hammerSpeed, 0);
} }
private void UpdatePlayerSprite()
{
_spriteRenderer.sprite = _hammerThrower.HasHammer
? _regularSprite
: _noHammerSprite;
}
protected override void SetWalkingAnimation(bool isWalking) protected override void SetWalkingAnimation(bool isWalking)
{ {
_bonesBack.SetActive(false); _bonesBack.SetActive(false);
+27 -27
View File
@@ -13,39 +13,39 @@ public class EnemyAI : Character
private void Update() private void Update()
{ {
float horizontal = 0; // float horizontal = 0;
float vertical = 0; // float vertical = 0;
Vector2 directionToPlayer = Player.Instance.transform.position - transform.position; // Vector2 directionToPlayer = Player.Instance.transform.position - transform.position;
directionToPlayer.Normalize(); // directionToPlayer.Normalize();
float verticalDistance = Player.Instance.transform.position.y - transform.position.y; // float verticalDistance = Player.Instance.transform.position.y - transform.position.y;
if (Mathf.Abs(verticalDistance) > 0.1f && (isCanClimbUp || isCanGoDown)) // if (Mathf.Abs(verticalDistance) > 0.1f && (isCanClimbUp || isCanGoDown))
{ // {
vertical = Mathf.Sign(verticalDistance); // vertical = Mathf.Sign(verticalDistance);
} // }
else // else
{ // {
if (Mathf.Abs(Player.Instance.transform.position.x - transform.position.x) < 0.1f) // if (Mathf.Abs(Player.Instance.transform.position.x - transform.position.x) < 0.1f)
{ // {
horizontal = 0; // horizontal = 0;
} // }
else if (directionToPlayer.x < 0) // else if (directionToPlayer.x < 0)
{ horizontal = -1; } // { horizontal = -1; }
else if (directionToPlayer.x > 0) // else if (directionToPlayer.x > 0)
{ horizontal = 1; } // { horizontal = 1; }
} // }
if (Input.GetKey(KeyCode.T)) // if (Input.GetKey(KeyCode.T))
{ vertical = 1; } // { vertical = 1; }
if (Input.GetKey(KeyCode.G)) // if (Input.GetKey(KeyCode.G))
{ vertical = -1; } // { vertical = -1; }
Debug.Log($"Enemy Position: {transform.position}, Player Position: {Player.Instance.transform.position}"); // Debug.Log($"Enemy Position: {transform.position}, Player Position: {Player.Instance.transform.position}");
Debug.Log($"Vertical Distance: {verticalDistance}, Vertical Movement: {vertical}"); // Debug.Log($"Vertical Distance: {verticalDistance}, Vertical Movement: {vertical}");
base.MoveTo(horizontal, vertical); // base.MoveTo(horizontal, vertical);
} }
private float VerticalMove(float verticalDistance) private float VerticalMove(float verticalDistance)
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 86cce1993173eb04daddb1edd164da94
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8251b2e2708d87d4ebc446c84ec5ed01
@@ -21,18 +21,18 @@ public class Chest : MonoBehaviour
private void OnTriggerEnter2D(Collider2D collider) private void OnTriggerEnter2D(Collider2D collider)
{ {
var player=collider.GetComponent<Player>(); var playerState=collider.GetComponent<PlayerState>();
if (player != null && !_isOpen) if (playerState != null && !_isOpen)
{ {
_isOpen = true; _isOpen = true;
animator.SetTrigger("OpenChest"); animator.SetTrigger("OpenChest");
switch (_treasureSO.Treasure) switch (_treasureSO.Treasure)
{ {
case TreasureType.Coin: case TreasureType.Coin:
player.AddCoin(); playerState.AddCoin();
break; break;
case TreasureType.Key: case TreasureType.Key:
player.SetKey(); playerState.SetKey();
break; break;
} }
} }
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ded23e667cffbfd46b2633ae22204797
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: af69aa896ad8a3947947ed21a9b9cacd
@@ -13,10 +13,10 @@ public class DoorInteract : MonoBehaviour
private void OnTriggerEnter2D(Collider2D collider) private void OnTriggerEnter2D(Collider2D collider)
{ {
var player = collider.GetComponent<Player>(); var playerState = collider.GetComponent<PlayerState>();
if (player!=null) if (playerState!=null)
{ {
if (player.IsHasKey()) if (playerState.HasKey)
{ {
_door.OpenDoor(); _door.OpenDoor();
} }
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 73fd9f6c116c2de4ab3d773fbb908df4
+49
View File
@@ -0,0 +1,49 @@
using System;
using UnityEngine;
public class HammerThrower : MonoBehaviour
{
[SerializeField] private Transform _spawnPoint;
[SerializeField] private GameObject _hammerPrefab;
[SerializeField] private float _throwSpeed = 10f;
private GameObject _currentHammer;
private bool _hasHammer = true;
private bool _facingRight = true;
public bool HasHammer => _hasHammer;
public void SetFacingDirection(bool facingRight)
{
_facingRight = facingRight;
}
public void ThrowHammer()
{
if (!_hasHammer)
return;
_hasHammer = false;
_currentHammer = Instantiate(_hammerPrefab, _spawnPoint.position, _spawnPoint.rotation);
float direction = _facingRight ? 1f : -1f;
var rb = _currentHammer.GetComponent<Rigidbody2D>();
rb.linearVelocity = new Vector2(direction * _throwSpeed, 0);
// Flip hammer visually
var scale = _currentHammer.transform.localScale;
scale.x = Mathf.Abs(scale.x) * direction;
_currentHammer.transform.localScale = scale;
}
private void Update()
{
// Hammer destroyed → hammer returned
if (!_hasHammer && _currentHammer == null)
{
_hasHammer = true;
}
}
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 59cb4a98d6866124793e8758b2ec958a
+5 -3
View File
@@ -1,14 +1,16 @@
using System.Security;
using UnityEngine; using UnityEngine;
public class KeyChest : MonoBehaviour public class KeyChest : MonoBehaviour
{ {
private void OnTriggerEnter2D(Collider2D collider) private void OnTriggerEnter2D(Collider2D collider)
{ {
var player = collider.GetComponent<Player>(); var playerState = collider.GetComponent<PlayerState>();
if (player != null) if (playerState != null)
{ {
player.SetKey(); playerState.SetKey();
Destroy(gameObject); Destroy(gameObject);
} }
} }
} }
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c118ced0938185545aca68bbd218fcc0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+30 -11
View File
@@ -1,24 +1,43 @@
using System;
using UnityEngine;
using UnityEngine.InputSystem;
public class InputManager : MonoBehaviour public class InputManager : MonoBehaviour
{ {
private InputActions _inputActions; private InputActions _actions;
public event EventHandler<Vector2> OnMovementInput; public Vector2 Movement { get; private set; }
public event EventHandler OnFireButtonPressed; public event Action OnFire;
private void Awake() private void Awake()
{ {
_inputActions = new InputActions(); _actions = new InputActions();
_inputActions.Player.Movement.performed += ctx => OnMovementInput?.Invoke(ctx.ReadValue<Vector2>());
_inputActions.Player.Fire.performed += ctx => OnFireButtonPressed?.Invoke(); // Movement
_actions.Player.Movement.performed += OnMovementPerformed;
_actions.Player.Movement.canceled += OnMovementCanceled;
// Fire
_actions.Player.Fire.performed += ctx => OnFire?.Invoke();
} }
private void OnEnable() public void OnEnable()
{ {
_inputActions.Enable(); _actions.Enable();
} }
private void OnDisable() public void OnDisable()
{ {
_inputActions.Disable(); _actions.Disable();
} }
}
private void OnMovementPerformed(InputAction.CallbackContext ctx)
{
Movement = ctx.ReadValue<Vector2>();
}
private void OnMovementCanceled(InputAction.CallbackContext ctx)
{
Movement = Vector2.zero;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 45d7bd38990996d4488582b07cbe7e40
+44
View File
@@ -0,0 +1,44 @@
using TMPro;
using UnityEngine;
public class UiManager : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI _totalCoins;
[SerializeField]
private GameObject _keyIcon;
private PlayerState _playerState;
// Start is called before the first frame update
void Start()
{
_playerState = GetComponent<PlayerState>();
if (_playerState != null)
{
_playerState.OnPlayerTakeItem += UpdateUi;
}
}
private void UpdateUi(object sender, TreasureType e)
{
switch (e)
{
case TreasureType.Coin:
_totalCoins.text = _playerState.TotalCoins.ToString();
break;
case TreasureType.Key:
_keyIcon.SetActive(true);
break;
}
}
void OnDestroy()
{
if (_playerState != null)
{
_playerState.OnPlayerTakeItem -= UpdateUi;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ae8d1d59de450ae4e8be540c1a9d37ff
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: c718ee77619077344be4784233d84940
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
-11
View File
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b3ead8e41e973dd43b93a8638ea30a36
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: c43502b5415adc044b631292348c83e8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+3
View File
@@ -1,3 +1,6 @@
using System;
using UnityEngine;
public class PlayerState : MonoBehaviour public class PlayerState : MonoBehaviour
{ {
public int Lives = 3; public int Lives = 3;
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 907b91debf5d5864780e9466f4017f38
-29
View File
@@ -1,29 +0,0 @@
using TMPro;
using UnityEngine;
public class UiManager : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI _totalCoins;
[SerializeField]
private GameObject _keyIcon;
// Start is called before the first frame update
void Start()
{
Player.Instance.OnPlayerTakeItem += Instance_OnPlayerTakeItem;
}
private void Instance_OnPlayerTakeItem(object sender, TreasureType e)
{
switch(e)
{
case TreasureType.Coin:
_totalCoins.text = Player.Instance.TotalCoins.ToString();
break;
case TreasureType.Key:
_keyIcon.SetActive(true);
break;
}
}
}
-11
View File
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: ff6c3960de97db14f89d6633159838dc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: