diff --git a/Assets/Scripts/Character.cs b/Assets/Scripts/Character.cs index fc5d394..5a9ab08 100644 --- a/Assets/Scripts/Character.cs +++ b/Assets/Scripts/Character.cs @@ -95,9 +95,9 @@ public class Character : MonoBehaviour var raycastHit=Physics2D.BoxCast(_boxCollider.bounds.center, _boxCollider.bounds.size, 0f, direction, .1f, _mapLayer); if (raycastHit) { - var mapElement = raycastHit.transform.GetComponent(); + var mapElement = raycastHit.transform.GetComponent(); - return mapElement == null ? MapElementType.Empty : mapElement.ElementType; + return mapElement == null ? MapElementType.Empty : mapElement.ElementSO.ElementType; } else return MapElementType.Empty; diff --git a/Assets/Scripts/MapElements/Bridge.asset b/Assets/Scripts/MapElements/Bridge.asset new file mode 100644 index 0000000..d5573f9 --- /dev/null +++ b/Assets/Scripts/MapElements/Bridge.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 541209b3a8828a3429d3a6c93b0350f3, type: 3} + m_Name: Bridge + m_EditorClassIdentifier: + ElementType: 3 diff --git a/Assets/Scripts/MapElements/Bridge.asset.meta b/Assets/Scripts/MapElements/Bridge.asset.meta new file mode 100644 index 0000000..45c5a0b --- /dev/null +++ b/Assets/Scripts/MapElements/Bridge.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 259faf1cdf30b1c409b6da9323046336 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MapElements/Bridge.cs b/Assets/Scripts/MapElements/Bridge.cs deleted file mode 100644 index d720a8e..0000000 --- a/Assets/Scripts/MapElements/Bridge.cs +++ /dev/null @@ -1,6 +0,0 @@ -using UnityEngine; - -public class Bridge : MonoBehaviour, IMapElement -{ - public MapElementType ElementType => MapElementType.Bridge; -} diff --git a/Assets/Scripts/MapElements/Bridge.cs.meta b/Assets/Scripts/MapElements/Bridge.cs.meta deleted file mode 100644 index 62ba33c..0000000 --- a/Assets/Scripts/MapElements/Bridge.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7710dbd5e4ddd064198582aed7ee50c0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/MapElements/IMapElement.cs b/Assets/Scripts/MapElements/IMapElement.cs deleted file mode 100644 index d852e65..0000000 --- a/Assets/Scripts/MapElements/IMapElement.cs +++ /dev/null @@ -1,4 +0,0 @@ -public interface IMapElement -{ - MapElementType ElementType { get; } -} diff --git a/Assets/Scripts/MapElements/Ladder.asset b/Assets/Scripts/MapElements/Ladder.asset new file mode 100644 index 0000000..9149dac --- /dev/null +++ b/Assets/Scripts/MapElements/Ladder.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 541209b3a8828a3429d3a6c93b0350f3, type: 3} + m_Name: Ladder + m_EditorClassIdentifier: + ElementType: 0 diff --git a/Assets/Scripts/MapElements/Ladder.asset.meta b/Assets/Scripts/MapElements/Ladder.asset.meta new file mode 100644 index 0000000..0c97771 --- /dev/null +++ b/Assets/Scripts/MapElements/Ladder.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a480e639bc6f0c44815c3b3dd16e0aa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MapElements/Ladder.cs b/Assets/Scripts/MapElements/Ladder.cs deleted file mode 100644 index 30e12ef..0000000 --- a/Assets/Scripts/MapElements/Ladder.cs +++ /dev/null @@ -1,6 +0,0 @@ -using UnityEngine; - -public class Ladder : MonoBehaviour, IMapElement -{ - public MapElementType ElementType => MapElementType.Ladder; -} diff --git a/Assets/Scripts/MapElements/MapElement.cs b/Assets/Scripts/MapElements/MapElement.cs new file mode 100644 index 0000000..c3b9cf6 --- /dev/null +++ b/Assets/Scripts/MapElements/MapElement.cs @@ -0,0 +1,8 @@ +using UnityEngine; + +public class MapElement:MonoBehaviour +{ + [SerializeField] + private MapElementSO _elementSO; + public MapElementSO ElementSO => _elementSO; +} diff --git a/Assets/Scripts/MapElements/IMapElement.cs.meta b/Assets/Scripts/MapElements/MapElement.cs.meta similarity index 100% rename from Assets/Scripts/MapElements/IMapElement.cs.meta rename to Assets/Scripts/MapElements/MapElement.cs.meta diff --git a/Assets/Scripts/MapElements/MapElementSO.cs b/Assets/Scripts/MapElements/MapElementSO.cs new file mode 100644 index 0000000..1dda362 --- /dev/null +++ b/Assets/Scripts/MapElements/MapElementSO.cs @@ -0,0 +1,7 @@ +using UnityEngine; + +[CreateAssetMenu()] +public class MapElementSO : ScriptableObject +{ + public MapElementType ElementType; +} diff --git a/Assets/Scripts/MapElements/Ladder.cs.meta b/Assets/Scripts/MapElements/MapElementSO.cs.meta similarity index 83% rename from Assets/Scripts/MapElements/Ladder.cs.meta rename to Assets/Scripts/MapElements/MapElementSO.cs.meta index 0ce19f3..298cf11 100644 --- a/Assets/Scripts/MapElements/Ladder.cs.meta +++ b/Assets/Scripts/MapElements/MapElementSO.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8e88df5680ec8e64ea4939c37720b363 +guid: 541209b3a8828a3429d3a6c93b0350f3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/MapElements/Wall.asset b/Assets/Scripts/MapElements/Wall.asset new file mode 100644 index 0000000..90b2bd7 --- /dev/null +++ b/Assets/Scripts/MapElements/Wall.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 541209b3a8828a3429d3a6c93b0350f3, type: 3} + m_Name: Wall + m_EditorClassIdentifier: + ElementType: 0 diff --git a/Assets/Scripts/MapElements/Wall.asset.meta b/Assets/Scripts/MapElements/Wall.asset.meta new file mode 100644 index 0000000..a18db8b --- /dev/null +++ b/Assets/Scripts/MapElements/Wall.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ddd02ac61c9b634aa71ab17c40521b7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MapElements/Wall.cs b/Assets/Scripts/MapElements/Wall.cs deleted file mode 100644 index aa93012..0000000 --- a/Assets/Scripts/MapElements/Wall.cs +++ /dev/null @@ -1,6 +0,0 @@ -using UnityEngine; - -public class Wall : MonoBehaviour, IMapElement -{ - public MapElementType ElementType => MapElementType.Wall; -} diff --git a/Assets/Scripts/MapElements/Wall.cs.meta b/Assets/Scripts/MapElements/Wall.cs.meta deleted file mode 100644 index 88bf2b5..0000000 --- a/Assets/Scripts/MapElements/Wall.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3f939712c17722545b2724151dac3d9d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: