diff --git a/UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab b/UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab index 6558d739d6..4358d77564 100644 --- a/UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab +++ b/UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab @@ -377,6 +377,21 @@ MonoBehaviour: position: {x: 0, y: 0, z: 0} rotation: {x: 0, y: 0, z: 0} m_Visible: 1 +--- !u!114 &6650101099884577384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 309633228405838073} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 19a86e2a21c71164d9614311b5e778a4, type: 3} + m_Name: + m_EditorClassIdentifier: + _groundTypeList: {fileID: 11400000, guid: beee5d325e80d2b458985741de411757, type: 2} + _debugMode: 1 + _groundTypeTitle: --- !u!114 &8300318066946783926 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5298,9 +5313,9 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &1414160192716409753 stripped +--- !u!4 &8291487101514034000 stripped Transform: - m_CorrespondingSourceObject: {fileID: 1958356815571363377, guid: c478a391cfbc4b74ebda3f9a57283705, + m_CorrespondingSourceObject: {fileID: -316334440819292424, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} @@ -5400,9 +5415,9 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &1083073290189785667 stripped +--- !u!4 &5700738674217691736 stripped Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: c478a391cfbc4b74ebda3f9a57283705, + m_CorrespondingSourceObject: {fileID: 5156753003295213552, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} @@ -5412,9 +5427,9 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &2518796056843120514 stripped +--- !u!4 &1414160192716409753 stripped Transform: - m_CorrespondingSourceObject: {fileID: 3060741017273451050, guid: c478a391cfbc4b74ebda3f9a57283705, + m_CorrespondingSourceObject: {fileID: 1958356815571363377, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} @@ -5424,7 +5439,13 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &5337852870612368657 stripped +--- !u!4 &4150588075678938521 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3536655889091270705, guid: c478a391cfbc4b74ebda3f9a57283705, + type: 3} + m_PrefabInstance: {fileID: 616254372594363816} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2553538599320838613 stripped Transform: m_CorrespondingSourceObject: {fileID: -4422890038042128199, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} @@ -5586,15 +5607,15 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &3597017886523096375 stripped +--- !u!4 &5944104996185666453 stripped Transform: - m_CorrespondingSourceObject: {fileID: 4136077574930157727, guid: c478a391cfbc4b74ebda3f9a57283705, + m_CorrespondingSourceObject: {fileID: -2670401387866497475, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &1780510391696116336 stripped +--- !u!4 &6251068571708505270 stripped Transform: - m_CorrespondingSourceObject: {fileID: -8054471524138817576, guid: c478a391cfbc4b74ebda3f9a57283705, + m_CorrespondingSourceObject: {fileID: -2428247613635587810, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} @@ -5634,13 +5655,7 @@ Transform: type: 3} m_PrefabInstance: {fileID: 616254372594363816} m_PrefabAsset: {fileID: 0} ---- !u!4 &4323982477642669181 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -5436760431573913131, guid: c478a391cfbc4b74ebda3f9a57283705, - type: 3} - m_PrefabInstance: {fileID: 616254372594363816} - m_PrefabAsset: {fileID: 0} ---- !u!4 &2961255287932742051 stripped +--- !u!4 &7450739070704029045 stripped Transform: m_CorrespondingSourceObject: {fileID: 2419873259462771723, guid: c478a391cfbc4b74ebda3f9a57283705, type: 3} diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes.meta new file mode 100644 index 0000000000..40f414e424 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cae247dff09af9f489f0c9c942cae88e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset new file mode 100644 index 0000000000..dc93299003 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset @@ -0,0 +1,20 @@ +%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: 5b5ef327e9d2ae14d84ae2fb2663e81f, type: 3} + m_Name: GroundTypeList + m_EditorClassIdentifier: + groundTypes: + - {fileID: 11400000, guid: 1fb9340ef508e9d4182cbf9a81b63220, type: 2} + - {fileID: 11400000, guid: f2aaed1f1a7a3444b850291a1d1194f5, type: 2} + - {fileID: 11400000, guid: 496d01896c7fcba4e930dcbb33a19369, type: 2} + - {fileID: 11400000, guid: 076ad4d5d656b414a97c1298f2c8402a, type: 2} + - {fileID: 11400000, guid: 1a083b13e087bf5459b1dd0f38422867, type: 2} diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset.meta new file mode 100644 index 0000000000..cd5b33ffe5 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundTypeList.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: beee5d325e80d2b458985741de411757 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset new file mode 100644 index 0000000000..ca74ef2383 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset @@ -0,0 +1,18 @@ +%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: 389e16317bab1f4448cd1042a39ad65b, type: 3} + m_Name: GroundType_Cobblestone + m_EditorClassIdentifier: + Title: Cobblestone + hasGroundTag: 1 + vertexColorRGB: {x: 0, y: 1, z: 0} + gameObjectTag: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset.meta new file mode 100644 index 0000000000..d24f452569 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Cobblestone.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1fb9340ef508e9d4182cbf9a81b63220 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset new file mode 100644 index 0000000000..f151f50188 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset @@ -0,0 +1,18 @@ +%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: 389e16317bab1f4448cd1042a39ad65b, type: 3} + m_Name: GroundType_Dirt + m_EditorClassIdentifier: + Title: Dirt + hasGroundTag: 1 + vertexColorRGB: {x: 1, y: 0, z: 0} + gameObjectTag: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset.meta new file mode 100644 index 0000000000..f727ed5c93 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Dirt.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2aaed1f1a7a3444b850291a1d1194f5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset new file mode 100644 index 0000000000..5cf0cd9f37 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset @@ -0,0 +1,18 @@ +%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: 389e16317bab1f4448cd1042a39ad65b, type: 3} + m_Name: GroundType_Grass + m_EditorClassIdentifier: + Title: Grass + hasGroundTag: 1 + vertexColorRGB: {x: 0, y: 0, z: 0} + gameObjectTag: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset.meta new file mode 100644 index 0000000000..3115c04bef --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Grass.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 496d01896c7fcba4e930dcbb33a19369 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset new file mode 100644 index 0000000000..4f7dd1b314 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset @@ -0,0 +1,18 @@ +%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: 389e16317bab1f4448cd1042a39ad65b, type: 3} + m_Name: GroundType_Rock + m_EditorClassIdentifier: + Title: Rock + hasGroundTag: 0 + vertexColorRGB: {x: 0, y: 0, z: 0} + gameObjectTag: Rock diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset.meta new file mode 100644 index 0000000000..aae4686980 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Rock.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 076ad4d5d656b414a97c1298f2c8402a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset new file mode 100644 index 0000000000..49ab964c32 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset @@ -0,0 +1,18 @@ +%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: 389e16317bab1f4448cd1042a39ad65b, type: 3} + m_Name: GroundType_Sand + m_EditorClassIdentifier: + Title: Sand + hasGroundTag: 1 + vertexColorRGB: {x: 0, y: 0, z: 1} + gameObjectTag: diff --git a/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset.meta b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset.meta new file mode 100644 index 0000000000..b2e0a964e6 --- /dev/null +++ b/UOP1_Project/Assets/ScriptableObjects/Audio/GroundTypes/GroundType_Sand.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1a083b13e087bf5459b1dd0f38422867 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType.meta b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType.meta new file mode 100644 index 0000000000..2cec0cdee2 --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27677935b1b59ad48a6b92b527150c21 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs new file mode 100644 index 0000000000..9e0cc27737 --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs @@ -0,0 +1,179 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GroundTypeDetector : MonoBehaviour +{ + [SerializeField] private GroundTypeListSO _groundTypeList = default; + + + [Space] + [Header("Debugger")] + [SerializeField] private bool _debugMode = false; + [SerializeField] private string _groundTypeTitle = default; + + Color vertexColorNearest; + GroundTypeSO _groundType_Debugger = default; + Mesh _mesh; + MeshCollider _meshCollider; + Vector3 p0; + Vector3 p1; + Vector3 p2; + Transform hitTransform; + GroundTypeSO result; + + + + void Start() + { + + } + + + void FixedUpdate() + { + +#if UNITY_EDITOR + DebugGroundType(); +#endif + + } + + private void DebugGroundType() + { + _groundType_Debugger = GetGroundType(); + if (_groundType_Debugger != null) + { + _groundTypeTitle = _groundType_Debugger.Title; + } + else + { + _groundTypeTitle = "Not Defined"; + } + } + + public GroundTypeSO GetGroundType() + { + if (_groundTypeList == null) + { + Debug.LogError("Please Define Ground Types in GroundTypeList ScriptableObject and refrence it to this script component"); + return null; + } + + result = null; + _meshCollider = null; + _mesh = null; + RaycastHit hit; + + void FindNearestVertexColor() + { + p0 = _mesh.vertices[_mesh.triangles[hit.triangleIndex * 3 + 0]]; + p1 = _mesh.vertices[_mesh.triangles[hit.triangleIndex * 3 + 1]]; + p2 = _mesh.vertices[_mesh.triangles[hit.triangleIndex * 3 + 2]]; + + hitTransform = hit.collider.transform; + + p0 = hitTransform.TransformPoint(p0); + p1 = hitTransform.TransformPoint(p1); + p2 = hitTransform.TransformPoint(p2); + + float distance_0 = Vector3.Distance(p0, transform.position); + float distance_1 = Vector3.Distance(p1, transform.position); + float distance_2 = Vector3.Distance(p2, transform.position); + + if (distance_0 <= distance_1 && + distance_0 <= distance_2) + { + vertexColorNearest = _mesh.colors[_mesh.triangles[hit.triangleIndex * 3 + 0]]; + } + else if (distance_1 <= distance_0 && + distance_1 <= distance_2) + { + vertexColorNearest = _mesh.colors[_mesh.triangles[hit.triangleIndex * 3 + 1]]; + } + else + { + vertexColorNearest = _mesh.colors[_mesh.triangles[hit.triangleIndex * 3 + 2]]; + } + + if (_debugMode) + { + Debug.Log("Nearest Vertex Color: " + vertexColorNearest.ToString()); + } + } + + void FindGroundTypeBasedOn_VertexColor() + { + float r_Diffrence; + float g_Diffrence; + float b_Diffrence; + float totalDiffrence; + + float minDiffrence = float.MaxValue; + for (int i = 0; i < _groundTypeList.groundTypes.Length; i++) + { + if (_groundTypeList.groundTypes[i].hasGroundTag) + { + r_Diffrence = Mathf.Abs(vertexColorNearest.r - _groundTypeList.groundTypes[i].vertexColorRGB.x); + g_Diffrence = Mathf.Abs(vertexColorNearest.g - _groundTypeList.groundTypes[i].vertexColorRGB.y); + b_Diffrence = Mathf.Abs(vertexColorNearest.b - _groundTypeList.groundTypes[i].vertexColorRGB.z); + totalDiffrence = r_Diffrence + g_Diffrence + b_Diffrence; + + if (totalDiffrence <= minDiffrence) + { + minDiffrence = totalDiffrence; + result = _groundTypeList.groundTypes[i]; + } + } + } + } + + void FindGroundTypeBasedOn_GameObjectTag() + { + for (int i = 0; i < _groundTypeList.groundTypes.Length; i++) + { + if (_groundTypeList.groundTypes[i].hasGroundTag == false && + hit.transform.CompareTag(_groundTypeList.groundTypes[i].gameObjectTag)) + { + result = _groundTypeList.groundTypes[i]; + break; + } + } + } + + + if(Physics.Raycast(transform.position, Vector3.down, out hit, 50f)) + { + if (hit.transform.CompareTag("Ground")) + { + _meshCollider = hit.collider as MeshCollider; + + if (_meshCollider != null && _meshCollider.sharedMesh != null) + { + _mesh = _meshCollider.sharedMesh; + + if (_mesh.colors.Length > 0) + { + FindNearestVertexColor(); + FindGroundTypeBasedOn_VertexColor(); + } + } + } + else + { + FindGroundTypeBasedOn_GameObjectTag(); + } + + } + + if (result == null) + { + Debug.LogError("This type of ground is not defined in GroundTypeList ScriptableObject"); + } + + return result; + } + + + +} diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs.meta b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs.meta new file mode 100644 index 0000000000..2d1c048c7b --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeDetector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 19a86e2a21c71164d9614311b5e778a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs new file mode 100644 index 0000000000..2f9a715ab4 --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +/// +/// List of All ground types available in game. +/// +[CreateAssetMenu(fileName = "GroundTypeList", menuName = "Ground Type/Ground Type List")] +public class GroundTypeListSO : ScriptableObject +{ + public GroundTypeSO[] groundTypes = default; +} diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs.meta b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs.meta new file mode 100644 index 0000000000..30f3807c53 --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeListSO.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b5ef327e9d2ae14d84ae2fb2663e81f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs new file mode 100644 index 0000000000..702edfd68e --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs @@ -0,0 +1,29 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +/// +/// Ground Type Properties. This will use for detect ground type for footsteps sound. +/// +[CreateAssetMenu(fileName = "newGroundType", menuName = "Ground Type/Ground Type")] + +[SerializeField] +public class GroundTypeSO : ScriptableObject +{ + public string Title; + + [Space] + public bool hasGroundTag; + + [Space] + [Header("If it has Ground tag")] + [Tooltip("This helps to detect the type of ground.")] + public Vector3 vertexColorRGB; + + [Space] + [Header("If it doesn't have Ground tag")] + [Tooltip("This helps to detect the type of ground.")] + public string gameObjectTag; + +} diff --git a/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs.meta b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs.meta new file mode 100644 index 0000000000..adc9d0e4c4 --- /dev/null +++ b/UOP1_Project/Assets/Scripts/Audio/AudioData/GroundType/GroundTypeSO.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 389e16317bab1f4448cd1042a39ad65b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: