change MapElement to scriptable object
This commit is contained in:
@@ -95,9 +95,9 @@ public class Character : MonoBehaviour
|
|||||||
var raycastHit=Physics2D.BoxCast(_boxCollider.bounds.center, _boxCollider.bounds.size, 0f, direction, .1f, _mapLayer);
|
var raycastHit=Physics2D.BoxCast(_boxCollider.bounds.center, _boxCollider.bounds.size, 0f, direction, .1f, _mapLayer);
|
||||||
if (raycastHit)
|
if (raycastHit)
|
||||||
{
|
{
|
||||||
var mapElement = raycastHit.transform.GetComponent<IMapElement>();
|
var mapElement = raycastHit.transform.GetComponent<MapElement>();
|
||||||
|
|
||||||
return mapElement == null ? MapElementType.Empty : mapElement.ElementType;
|
return mapElement == null ? MapElementType.Empty : mapElement.ElementSO.ElementType;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return MapElementType.Empty;
|
return MapElementType.Empty;
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 259faf1cdf30b1c409b6da9323046336
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class Bridge : MonoBehaviour, IMapElement
|
|
||||||
{
|
|
||||||
public MapElementType ElementType => MapElementType.Bridge;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7710dbd5e4ddd064198582aed7ee50c0
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
public interface IMapElement
|
|
||||||
{
|
|
||||||
MapElementType ElementType { get; }
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8a480e639bc6f0c44815c3b3dd16e0aa
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class Ladder : MonoBehaviour, IMapElement
|
|
||||||
{
|
|
||||||
public MapElementType ElementType => MapElementType.Ladder;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MapElement:MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
private MapElementSO _elementSO;
|
||||||
|
public MapElementSO ElementSO => _elementSO;
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[CreateAssetMenu()]
|
||||||
|
public class MapElementSO : ScriptableObject
|
||||||
|
{
|
||||||
|
public MapElementType ElementType;
|
||||||
|
}
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 8e88df5680ec8e64ea4939c37720b363
|
guid: 541209b3a8828a3429d3a6c93b0350f3
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3ddd02ac61c9b634aa71ab17c40521b7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class Wall : MonoBehaviour, IMapElement
|
|
||||||
{
|
|
||||||
public MapElementType ElementType => MapElementType.Wall;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3f939712c17722545b2724151dac3d9d
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Reference in New Issue
Block a user