From 83c44a51a598dc518461aa648773d4a7ba6e4e96 Mon Sep 17 00:00:00 2001 From: Vova <3emaster@gmail.com> Date: Fri, 21 Jul 2023 14:55:39 +0300 Subject: [PATCH] fix collision system, ladders, and enemy AI --- Assets/Prefabs/Ladder.prefab | 178 ++++ Assets/Prefabs/Ladder.prefab.meta | 7 + Assets/Scenes/Test.unity | 1237 ++++++++++++++++++---- Assets/Scripts/Character.cs | 125 +-- Assets/Scripts/EnemyAI.cs | 55 +- Assets/Scripts/MapElements/MapElement.cs | 2 + Assets/Scripts/Player.cs | 2 +- Assets/Sprites/Tileset.png.meta | 10 +- 8 files changed, 1338 insertions(+), 278 deletions(-) create mode 100644 Assets/Prefabs/Ladder.prefab create mode 100644 Assets/Prefabs/Ladder.prefab.meta diff --git a/Assets/Prefabs/Ladder.prefab b/Assets/Prefabs/Ladder.prefab new file mode 100644 index 0000000..f201d2a --- /dev/null +++ b/Assets/Prefabs/Ladder.prefab @@ -0,0 +1,178 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6742600071965714980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7515349249133635430} + - component: {fileID: 1557174451233602412} + m_Layer: 3 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7515349249133635430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6742600071965714980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7345322822309755345} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1557174451233602412 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6742600071965714980} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -133646357 + m_SortingLayer: 2 + m_SortingOrder: 0 + m_Sprite: {fileID: -974747892, guid: 7c2d6acd22d2d0c40b84d99967afb42a, 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.0230769, y: 1.0076923} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &8175732239415438715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7345322822309755345} + - component: {fileID: 3364452304498334467} + - component: {fileID: 1500185933721369279} + m_Layer: 3 + m_Name: Ladder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7345322822309755345 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8175732239415438715} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7515349249133635430} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &3364452304498334467 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8175732239415438715} + m_Enabled: 1 + 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: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.85, y: 1} + m_EdgeRadius: 0 +--- !u!114 &1500185933721369279 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8175732239415438715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: edf40d39eadb17a4ebb0368b3ac5399a, type: 3} + m_Name: + m_EditorClassIdentifier: + _elementSO: {fileID: 11400000, guid: 8a480e639bc6f0c44815c3b3dd16e0aa, type: 2} diff --git a/Assets/Prefabs/Ladder.prefab.meta b/Assets/Prefabs/Ladder.prefab.meta new file mode 100644 index 0000000..3d240a6 --- /dev/null +++ b/Assets/Prefabs/Ladder.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b38f313f4560587478b6bc53fc9aaf5c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Test.unity b/Assets/Scenes/Test.unity index a0ca944..28a66eb 100644 --- a/Assets/Scenes/Test.unity +++ b/Assets/Scenes/Test.unity @@ -147,7 +147,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 17312387} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -5.4586916, y: 2.6285906, z: 0.006108283} + m_LocalPosition: {x: -5.4586916, y: 5.3785906, z: 0.006108283} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -216,6 +216,22 @@ CompositeCollider2D: m_ColliderPaths: - m_Collider: {fileID: 276473126} m_ColliderPaths: + - - X: -9999900 + Y: -20000040 + - X: -9999900 + Y: -9999959 + - X: -9999959 + Y: -9999900 + - X: -20000040 + Y: -9999900 + - X: -20000100 + Y: -9999959 + - X: -20000100 + Y: -20000040 + - X: -20000040 + Y: -20000100 + - X: -9999959 + Y: -20000100 - - X: 90000096 Y: -60000044 - X: 90000096 @@ -228,6 +244,18 @@ CompositeCollider2D: Y: -39999960 - X: 79999896 Y: -49999900 + - X: -19999900 + Y: -49999900 + - X: -19999900 + Y: -39999960 + - X: -19999960 + Y: -39999900 + - X: -30000040 + Y: -39999900 + - X: -30000100 + Y: -39999960 + - X: -30000100 + Y: -49999900 - X: -109999904 Y: -49999900 - X: -109999904 @@ -246,10 +274,18 @@ CompositeCollider2D: Y: -60000100 m_CompositePaths: m_Paths: + - - {x: -1.0000252, y: -2.00001} + - {x: -1.0000252, y: -0.99999} + - {x: -2.00001, y: -1.0000252} + - {x: -1.9999748, y: -2.00001} - - {x: 8.999974, y: -6.00001} - {x: 8.999974, y: -3.99999} - {x: 7.9999895, y: -4.0000253} - {x: 7.99996, y: -4.99999} + - {x: -1.99999, y: -4.999961} + - {x: -2.0000253, y: -3.99999} + - {x: -3.00001, y: -4.0000253} + - {x: -3.0000393, y: -4.99999} - {x: -10.99999, y: -4.999961} - {x: -11.000026, y: -3.99999} - {x: -12.00001, y: -4.0000253} @@ -376,7 +412,7 @@ TilemapRenderer: m_SortingLayer: 2 m_SortingOrder: 0 m_ChunkSize: {x: 32, y: 32, z: 32} - m_ChunkCullingBounds: {x: 0.019230783, y: 0.0153846145, z: 0} + m_ChunkCullingBounds: {x: 0.038461566, y: 0.0153846145, z: 0} m_MaxChunkCount: 16 m_MaxFrameAge: 16 m_SortOrder: 0 @@ -612,6 +648,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 2147483649 + - first: {x: -3, y: -5, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 5 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 2147483649 - first: {x: 8, y: -5, z: 0} second: serializedVersion: 2 @@ -622,20 +668,30 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 2147483649 + - first: {x: -2, y: -2, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 2 + m_TileSpriteIndex: 3 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 2147483649 m_AnimatedTiles: {} m_TileAssetArray: - m_RefCount: 0 m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 23 + - m_RefCount: 24 m_Data: {fileID: 11400000, guid: e0bbf4923ef35474fb2c0d4d207a85a2, type: 2} - m_RefCount: 0 m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 0 - m_Data: {fileID: 0} + - m_RefCount: 1 + m_Data: {fileID: 11400000, guid: b7ab33d01119add43b9f50c7d2155349, type: 2} m_TileSpriteArray: - m_RefCount: 0 m_Data: {fileID: 0} @@ -643,14 +699,14 @@ Tilemap: m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 23 + - m_RefCount: 24 m_Data: {fileID: 221868806, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 0 - m_Data: {fileID: 0} + - m_RefCount: 1 + m_Data: {fileID: 1045964120, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_TileMatrixArray: - - m_RefCount: 23 + - m_RefCount: 25 m_Data: e00: 1 e01: 0 @@ -669,7 +725,7 @@ Tilemap: e32: 0 e33: 1 m_TileColorArray: - - m_RefCount: 23 + - m_RefCount: 25 m_Data: {r: 1, g: 1, b: 1, a: 1} - m_RefCount: 0 m_Data: {r: 3.7734e-41, g: 3.7734e-41, b: 3.7734e-41, a: 3.7734e-41} @@ -1205,6 +1261,84 @@ Transform: m_CorrespondingSourceObject: {fileID: 965998752200834250, guid: a7f273d812293e54d92972f62e1f0159, type: 3} m_PrefabInstance: {fileID: 331482253} m_PrefabAsset: {fileID: 0} +--- !u!1001 &382284830 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (7) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &382284831 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 382284830} + m_PrefabAsset: {fileID: 0} --- !u!1001 &388625814 PrefabInstance: m_ObjectHideFlags: 0 @@ -1295,79 +1429,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} m_PrefabInstance: {fileID: 1991073249} m_PrefabAsset: {fileID: 0} ---- !u!1001 &592461671 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 801411103} - m_Modifications: - - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_UsedByComposite - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Layer - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_RootOrder - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.x - value: -4.5 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.y - value: -1.5 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Name - value: BreakableTile - objectReference: {fileID: 0} - - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Layer - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} --- !u!1 &617249158 GameObject: m_ObjectHideFlags: 0 @@ -1433,6 +1494,8 @@ GameObject: - component: {fileID: 665691624} - component: {fileID: 665691623} - component: {fileID: 665691622} + - component: {fileID: 665691627} + - component: {fileID: 665691626} m_Layer: 3 m_Name: Ladders m_TagString: Untagged @@ -1546,7 +1609,7 @@ TilemapRenderer: m_SortingLayer: 2 m_SortingOrder: 0 m_ChunkSize: {x: 32, y: 32, z: 32} - m_ChunkCullingBounds: {x: 0.0153846145, y: 0.007692337, z: 0} + m_ChunkCullingBounds: {x: 0.0153846145, y: 0.008163869, z: 0} m_MaxChunkCount: 16 m_MaxFrameAge: 16 m_SortOrder: 0 @@ -1562,7 +1625,7 @@ Tilemap: m_GameObject: {fileID: 665691620} m_Enabled: 1 m_Tiles: - - first: {x: -2, y: -5, z: 0} + - first: {x: -5, y: -5, z: 0} second: serializedVersion: 2 m_TileIndex: 5 @@ -1572,7 +1635,7 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 - - first: {x: -2, y: -4, z: 0} + - first: {x: -1, y: -5, z: 0} second: serializedVersion: 2 m_TileIndex: 5 @@ -1582,7 +1645,7 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 - - first: {x: -2, y: -3, z: 0} + - first: {x: -5, y: -4, z: 0} second: serializedVersion: 2 m_TileIndex: 5 @@ -1592,7 +1655,47 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 - - first: {x: -2, y: -2, z: 0} + - first: {x: -1, y: -4, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -5, y: -3, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -1, y: -3, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -5, y: -2, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -1, y: -2, z: 0} second: serializedVersion: 2 m_TileIndex: 5 @@ -1612,6 +1715,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 + - first: {x: 1, y: -1, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 - first: {x: -8, y: 0, z: 0} second: serializedVersion: 2 @@ -1622,6 +1735,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 + - first: {x: 1, y: 0, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 - first: {x: -8, y: 1, z: 0} second: serializedVersion: 2 @@ -1632,6 +1755,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 + - first: {x: 1, y: 1, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 - first: {x: -8, y: 2, z: 0} second: serializedVersion: 2 @@ -1642,6 +1775,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 + - first: {x: 1, y: 2, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 m_AnimatedTiles: {} m_TileAssetArray: - m_RefCount: 0 @@ -1654,7 +1797,7 @@ Tilemap: m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 8 + - m_RefCount: 16 m_Data: {fileID: 11400000, guid: a01b3ed4763b6b948ad3cc337953ba62, type: 2} m_TileSpriteArray: - m_RefCount: 0 @@ -1665,10 +1808,10 @@ Tilemap: m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 8 + - m_RefCount: 16 m_Data: {fileID: -974747892, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} m_TileMatrixArray: - - m_RefCount: 8 + - m_RefCount: 16 m_Data: e00: 1 e01: 0 @@ -1687,7 +1830,7 @@ Tilemap: e32: 0 e33: 1 m_TileColorArray: - - m_RefCount: 8 + - m_RefCount: 16 m_Data: {r: 1, g: 1, b: 1, a: 1} m_TileObjectToInstantiateArray: [] m_AnimationFrameRate: 1 @@ -1713,6 +1856,76 @@ Tilemap: e31: 0 e32: 0 e33: 1 +--- !u!66 &665691626 +CompositeCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_Enabled: 1 + 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: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_GeometryType: 0 + m_GenerationType: 0 + m_EdgeRadius: 0 + m_ColliderPaths: [] + m_CompositePaths: + m_Paths: [] + m_VertexDistance: 0.0005 + m_OffsetDistance: 0.00005 + m_UseDelaunayMesh: 0 + m_CompositeGameObject: {fileID: 665691620} +--- !u!50 &665691627 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_BodyType: 2 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 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: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 --- !u!4 &678844054 stripped Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} @@ -1723,6 +1936,240 @@ Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} m_PrefabInstance: {fileID: 310337289} m_PrefabAsset: {fileID: 0} +--- !u!1001 &743190151 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 6.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (10) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &743190152 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 743190151} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &765770222 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 5.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (8) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &765770223 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 765770222} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &799186570 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 6.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (11) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &799186571 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 799186570} + m_PrefabAsset: {fileID: 0} --- !u!1 &801411102 GameObject: m_ObjectHideFlags: 0 @@ -1756,16 +2203,139 @@ Transform: - {fileID: 2133847487} - {fileID: 515784702} - {fileID: 692597290} - - {fileID: 2140033870} - {fileID: 619094828} - {fileID: 317678508} - {fileID: 1022517336} - {fileID: 678844054} - - {fileID: 2134400060} - {fileID: 2003579423} + - {fileID: 1291971178} + - {fileID: 1172455667} + - {fileID: 1539049559} + - {fileID: 382284831} + - {fileID: 765770223} + - {fileID: 1247449921} + - {fileID: 743190152} + - {fileID: 799186571} m_Father: {fileID: 617249160} m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &841812201 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 841812205} + - component: {fileID: 841812204} + - component: {fileID: 841812203} + - component: {fileID: 841812202} + m_Layer: 0 + m_Name: Goblin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!70 &841812202 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 841812201} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.5, y: 0.89} + m_Direction: 0 +--- !u!50 &841812203 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 841812201} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.0001 + m_LinearDrag: 0 + m_AngularDrag: 1 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!114 &841812204 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 841812201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 852eca26194d18e4fac550283d37f0a1, type: 3} + m_Name: + m_EditorClassIdentifier: + _animator: {fileID: 0} + _movementSpeed: 1.5 + _bonesSide: {fileID: 0} + _bonesBack: {fileID: 0} + _spawnPoint: {fileID: 0} + _mapLayer: + serializedVersion: 2 + m_Bits: 8 +--- !u!4 &841812205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 841812201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9.66, y: 3.746, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1262117648} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &871569242 PrefabInstance: m_ObjectHideFlags: 0 @@ -1839,79 +2409,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} ---- !u!1001 &925507178 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 801411103} - m_Modifications: - - target: {fileID: 1775695730761962784, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: _elementSO - value: - objectReference: {fileID: 11400000, guid: da0ec95da6f0526499978941b1631c3e, type: 2} - - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Layer - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_RootOrder - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.x - value: -1.5 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.y - value: -0.5 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Name - value: BreakableTile (1) - objectReference: {fileID: 0} - - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - propertyPath: m_Layer - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} --- !u!1001 &938326545 PrefabInstance: m_ObjectHideFlags: 0 @@ -1995,6 +2492,402 @@ Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} m_PrefabInstance: {fileID: 2043218686} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1172455666 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 4.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (5) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &1172455667 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 1172455666} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1247449920 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 3.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (9) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &1247449921 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 1247449920} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1262117647 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1262117648} + - component: {fileID: 1262117649} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1262117648 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262117647} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 841812205} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1262117649 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262117647} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 769195415 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 75e389298ad4a4346ba49430514b0629, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1001 &1291971177 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (4) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &1291971178 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 1291971177} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1539049558 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 801411103} + m_Modifications: + - target: {fileID: 3364452304498334467, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_UsedByComposite + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6742600071965714980, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Name + value: BreakableTile (6) + objectReference: {fileID: 0} + - target: {fileID: 8175732239415438715, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} +--- !u!4 &1539049559 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} + m_PrefabInstance: {fileID: 1539049558} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1540980046 PrefabInstance: m_ObjectHideFlags: 0 @@ -2543,16 +3436,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} m_PrefabInstance: {fileID: 1573903785} m_PrefabAsset: {fileID: 0} ---- !u!4 &2134400060 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - m_PrefabInstance: {fileID: 925507178} - m_PrefabAsset: {fileID: 0} ---- !u!4 &2140033870 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - m_PrefabInstance: {fileID: 592461671} - m_PrefabAsset: {fileID: 0} --- !u!1 &2142254918 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Character.cs b/Assets/Scripts/Character.cs index 2b112d5..bc12c70 100644 --- a/Assets/Scripts/Character.cs +++ b/Assets/Scripts/Character.cs @@ -1,21 +1,18 @@ -using System; +using System.Linq; using UnityEngine; -using UnityEngine.Tilemaps; public abstract class Character : MonoBehaviour { [SerializeField] protected Animator _animator; [SerializeField] - private float MovementSpeed = 1.5f; + private float _movementSpeed = 1.5f; [SerializeField] protected GameObject _bonesSide; [SerializeField] protected GameObject _bonesBack; [SerializeField] protected GameObject _spawnPoint; - [SerializeField] - protected Tilemap _tileMap; [SerializeField] private LayerMask _mapLayer; @@ -40,7 +37,7 @@ public abstract class Character : MonoBehaviour _body = GetComponent(); _capsuleCollider = GetComponent(); - _cellSize = new Vector2(_tileMap.cellSize.x, _tileMap.cellSize.y); + _cellSize = new Vector2(0.6f, 1f); } protected void Spawn() @@ -50,25 +47,17 @@ public abstract class Character : MonoBehaviour protected void MoveTo(float inputHorizontal, float inputVertical) { - var downBlock = GetMapElement(Vector2.down); + var block = GetMapElement(); - if (downBlock == MapElementType.Water) + if (block?.ElementSO.ElementType == MapElementType.Water) { Death(); } - _isOnBridge = downBlock == MapElementType.Bridge && !_isFalling; - GetMapElement(Vector2.up); - if (downBlock == MapElementType.Wall || _isOnLadder || _isOnBridge || downBlock == MapElementType.BreakableWall) + _isOnBridge = block?.ElementSO.ElementType == MapElementType.Bridge && !_isFalling; + + if (block) { - var leftCheck = GetMapElement(Vector2.left); - var rightCheck = GetMapElement(Vector2.right); - - //print($"LeftCheck:{leftCheck} right:{rightCheck}"); - - isAllowLeft = !(leftCheck == MapElementType.Wall || leftCheck == MapElementType.BreakableWall); - isAllowRight = !(rightCheck == MapElementType.Wall || rightCheck == MapElementType.BreakableWall); - isAllowVertical = false; _isFalling = false; float h_movement = inputHorizontal; @@ -79,26 +68,30 @@ public abstract class Character : MonoBehaviour } SetWalkingAnimation(h_movement != 0); - ; - _isOnLadder = GetMapElement(Vector2.zero) == MapElementType.Ladder || downBlock == MapElementType.Ladder; + + _isOnLadder = block.ElementSO.ElementType == MapElementType.Ladder; if (_isOnLadder) { + float ladderCenterDistance = Mathf.Abs(transform.position.x - block.transform.position.x); + float v_movement = inputVertical; - isAllowVertical = true; + isAllowVertical = ladderCenterDistance < 0.3f; + SetClimbingAnimation(v_movement != 0); - _body.velocity = new Vector2(h_movement * MovementSpeed, v_movement * MovementSpeed); + _body.velocity = new Vector2(h_movement * _movementSpeed, v_movement * _movementSpeed); } else { - _body.velocity = new Vector2(h_movement * MovementSpeed, _body.velocity.y); + _body.velocity = new Vector2(h_movement * _movementSpeed, _body.velocity.y); } } else { _isFalling = true; + _isOnLadder = false; } @@ -115,7 +108,7 @@ public abstract class Character : MonoBehaviour _body.velocity = new Vector2(0, _body.velocity.y); SetWalkingAnimation(false); - if (downBlock == MapElementType.Ladder) + if (block?.ElementSO.ElementType == MapElementType.Ladder) { _body.velocity = Vector2.zero; _isOnLadder = true; @@ -131,69 +124,27 @@ public abstract class Character : MonoBehaviour } - private MapElementType GetMapElement(Vector3 direction) + private MapElement GetMapElement() { - var bounds = _capsuleCollider.bounds.min; - - //var cell = _tileMap.WorldToCell(bounds + direction); - //Vector2 cell2d = new Vector2(cell.x + 0.5f, cell.y + 0.3f); - Vector2 cellSize = _cellSize; var playerBounds = _capsuleCollider.bounds.center; - //DrawBounds(playerBounds, cellSize, Color.cyan); - - playerBounds = playerBounds + direction; - - var raycastHit = BoxCast(playerBounds, cellSize, 0f, Vector3.forward, .01f, _mapLayer); - - - - MapElementType returnValue; + var collider = BoxCast(playerBounds, _cellSize, 0f, Vector3.forward, .01f, _mapLayer); Color color = Color.red; - if (raycastHit) + MapElement mapElement = null; + if (collider.Length > 0) { - var mapElement = raycastHit.transform.GetComponent(); - if (!mapElement.IsEnabled) + var elements=collider.Select(x=>x.transform.GetComponent()); + mapElement = elements.Where(x => x.ElementSO.ElementType == MapElementType.Ladder).FirstOrDefault(); + if(mapElement == null) { - color = Color.white; - returnValue = MapElementType.Empty; - } - else - { - returnValue = mapElement.ElementSO.ElementType; - - switch (returnValue) - { - case MapElementType.Wall: - color = Color.green; - break; - case MapElementType.Ladder: - color = Color.yellow; - break; - case MapElementType.BreakableWall: - color = Color.magenta; - break; - } + mapElement = elements.First(); } } - else - { - returnValue = MapElementType.Empty; - } - // DrawBounds(playerBounds, cellSize, color); - return returnValue; + return mapElement; } - //private static void DrawBounds(Vector2 cell2d, Vector2 cellSize, Color color) - //{ - // Debug.DrawLine(cell2d, cell2d + new Vector2(cellSize.x, 0), color); - // Debug.DrawLine(cell2d + new Vector2(cellSize.x, 0), cell2d + new Vector2(cellSize.x, cellSize.y), color); - // Debug.DrawLine(cell2d, cell2d + new Vector2(0, cellSize.y), color); - // Debug.DrawLine(cell2d + new Vector2(0, cellSize.y), cell2d + new Vector2(cellSize.x, cellSize.y), color); - //} - protected abstract void OnDeath(); protected abstract void SetWalkingAnimation(bool isWalking); protected abstract void SetClimbingAnimation(bool isClimbing); @@ -209,10 +160,10 @@ public abstract class Character : MonoBehaviour _facingRight = !_facingRight; } - static public RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, int mask) + static public Collider2D[] BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, int mask) { - RaycastHit2D hit = Physics2D.BoxCast(origin, size, angle, direction, distance, mask); - + //RaycastHit2D hit = Physics2D.BoxCast(origin, size, angle, direction, distance, mask); + var collider = Physics2D.OverlapBoxAll(origin, size, angle, mask); //Setting up the points to draw the cast Vector2 p1, p2, p3, p4, p5, p6, p7, p8; float w = size.x * 0.5f; @@ -241,7 +192,7 @@ public abstract class Character : MonoBehaviour //Drawing the cast - Color castColor = hit ? Color.red : Color.green; + Color castColor = collider.Length > 0 ? Color.red : Color.green; Debug.DrawLine(p1, p2, castColor); Debug.DrawLine(p2, p3, castColor); Debug.DrawLine(p3, p4, castColor); @@ -256,12 +207,14 @@ public abstract class Character : MonoBehaviour Debug.DrawLine(p2, p6, Color.grey); Debug.DrawLine(p3, p7, Color.grey); Debug.DrawLine(p4, p8, Color.grey); - if (hit) - { - var color = hit.point.x > origin.x ? Color.yellow : Color.cyan; - Debug.DrawLine(hit.point, hit.point + hit.normal.normalized * 0.2f, color); - } - return hit; + //collider + //if (hit) + //{ + // var color = hit.point.x > origin.x ? Color.yellow : Color.cyan; + // Debug.DrawLine(hit.point, hit.point + hit.normal.normalized * 0.2f, color); + //} + + return collider; } } diff --git a/Assets/Scripts/EnemyAI.cs b/Assets/Scripts/EnemyAI.cs index daab2ad..73ab682 100644 --- a/Assets/Scripts/EnemyAI.cs +++ b/Assets/Scripts/EnemyAI.cs @@ -1,4 +1,4 @@ -using UnityEngine; +using UnityEngine; public class EnemyAI : Character { @@ -18,22 +18,59 @@ public class EnemyAI : Character { float horizontal = 0; float vertical = 0; - - if (Player.Instance.transform.position.x - transform.position.x < -0.05f && isAllowLeft &&!_isOnLadder) + + Vector2 directionToPlayer = Player.Instance.transform.position - transform.position; + directionToPlayer.Normalize(); // Нормализуем вектор, чтобы скорость была постоянной + + // Преследуем игрока только по горизонтали, если враг не на лестнице + if (!_isOnLadder) { - horizontal = -1; + horizontal = directionToPlayer.x; } - else if (Player.Instance.transform.position.x - transform.position.x > 0.05f && isAllowRight && !_isOnLadder) + else { - horizontal = 1; + // Вычисляем направление движения к игроку по вертикали, если враг на лестнице + float verticalDistance = Player.Instance.transform.position.y - transform.position.y; + float verticalDirection = Mathf.Sign(verticalDistance); + vertical = verticalDirection; } - else if (Mathf.Abs(Player.Instance.transform.position.y - transform.position.y) > 0.05f && isAllowVertical) + if (!isAllowVertical) { - var deltaY = Player.Instance.transform.position.y - transform.position.y; - vertical = deltaY > 0 ? 1 : -1; + float verticalDistance = Player.Instance.transform.position.y - transform.position.y; + float verticalDirection = Mathf.Sign(verticalDistance); + vertical = verticalDirection; } + + float horizontalDistance = Player.Instance.transform.position.x - transform.position.x; + float horizontalDirection = Mathf.Sign(horizontalDistance); + horizontal = horizontalDirection; + + + + //if (Player.Instance.transform.position.x - transform.position.x < -0.05f && isAllowLeft &&!_isOnLadder) + //{ + // horizontal = -1; + //} + //else if (Player.Instance.transform.position.x - transform.position.x > 0.05f && isAllowRight && !_isOnLadder) + //{ + // horizontal = 1; + //} + + //else if (Mathf.Abs(Player.Instance.transform.position.y - transform.position.y) > 0.05f && isAllowVertical) + //{ + // var deltaY = Player.Instance.transform.position.y - transform.position.y; + // vertical = deltaY > 0 ? 1 : -1; + //} + if (Input.GetKey(KeyCode.F)) + { horizontal = -1; } + if (Input.GetKey(KeyCode.H)) + { horizontal = 1; } + if (Input.GetKey(KeyCode.T)) + { vertical = 1; } + if (Input.GetKey(KeyCode.G)) + { vertical = -1; } base.MoveTo(horizontal, vertical); } } diff --git a/Assets/Scripts/MapElements/MapElement.cs b/Assets/Scripts/MapElements/MapElement.cs index 1a4be52..b4fdc97 100644 --- a/Assets/Scripts/MapElements/MapElement.cs +++ b/Assets/Scripts/MapElements/MapElement.cs @@ -1,4 +1,5 @@ using UnityEngine; +using UnityEngine.UIElements; public class MapElement : MonoBehaviour, IMapElement { @@ -7,6 +8,7 @@ public class MapElement : MonoBehaviour, IMapElement public MapElementSO ElementSO => _elementSO; public bool IsEnabled { get; set; } = true; + public Transform GlobalTransform { get; set; } public virtual void Hit() { diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs index ec36642..9508125 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player.cs @@ -89,7 +89,7 @@ public class Player : Character _animator.SetTrigger("Body_ThrowHammer"); } } - base.MoveTo(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); + base.MoveTo(Input.GetAxisRaw("Horizontal"), isAllowVertical? Input.GetAxisRaw("Vertical"):0); } public void ThrowHammerObject() diff --git a/Assets/Sprites/Tileset.png.meta b/Assets/Sprites/Tileset.png.meta index 24f8310..66bc116 100644 --- a/Assets/Sprites/Tileset.png.meta +++ b/Assets/Sprites/Tileset.png.meta @@ -69,7 +69,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 + maxTextureSize: 512 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -143,10 +143,10 @@ TextureImporter: border: {x: 0, y: 0, z: 0, w: 0} outline: [] physicsShape: - - - {x: -53, y: 66} - - {x: -52, y: -66} - - {x: 58, y: -66} - - {x: 55, y: 66} + - - {x: -49, y: 66} + - {x: -48, y: -66} + - {x: 56, y: -66} + - {x: 54, y: 66} tessellationDetail: 0 bones: [] spriteID: ee075fd35e03f744bae3d980048a22c5