From 4f127b2a3e33efd0be2d3977f981aa7ededff356 Mon Sep 17 00:00:00 2001
From: Maddisss <mathis.poehlsen@googlemail.com>
Date: Wed, 26 Jan 2022 23:47:33 +0100
Subject: [PATCH] CallEventsOnTrigger

---
 Tenebrissilva/Assets/CallEventsOnTrigger.cs   | 154 +++++
 .../Assets/CallEventsOnTrigger.cs.meta        |  11 +
 .../_Project/Prefabs/Foliage/Ast/Ast1.prefab  |   6 +-
 .../_Project/Prefabs/Foliage/Ast/Ast10.prefab |   2 +-
 .../_Project/Prefabs/Foliage/Ast/Ast3.prefab  |   4 +-
 .../Assets/_Project/Scenes/DarkWorld.unity    |   2 +-
 .../Assets/_Project/Scenes/Sandbox.unity      | 618 ++++++++++++++++++
 .../Assets/_Project/Scenes/Sandbox.unity.meta |   7 +
 .../Terrain/DarkWorld_Terrain_1.asset         | Bin 92023020 -> 92023400 bytes
 9 files changed, 797 insertions(+), 7 deletions(-)
 create mode 100644 Tenebrissilva/Assets/CallEventsOnTrigger.cs
 create mode 100644 Tenebrissilva/Assets/CallEventsOnTrigger.cs.meta
 create mode 100644 Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity
 create mode 100644 Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity.meta

diff --git a/Tenebrissilva/Assets/CallEventsOnTrigger.cs b/Tenebrissilva/Assets/CallEventsOnTrigger.cs
new file mode 100644
index 000000000..b9a5bbc9f
--- /dev/null
+++ b/Tenebrissilva/Assets/CallEventsOnTrigger.cs
@@ -0,0 +1,154 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor;
+using UnityEditor.Experimental.GraphView;
+using UnityEditor.UIElements;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.EventSystems;
+
+public class CallEventsOnTrigger : MonoBehaviour
+{
+    public Triggers eventTrigger;
+    public Layers layers;
+    public bool checkByTag = false;
+    public string[] tag;
+
+    public UnityEvent[] enterEvents;
+    public UnityEvent[] stayEvents;
+    public UnityEvent[] exitEvents;
+    
+    
+    private void OnTriggerEnter(Collider other)
+    {
+        if (eventTrigger.HasFlag(Triggers.OnEnter))
+        {
+            if (layers.HasFlag((Layers) (1 << other.gameObject.layer)))
+            {
+                if (HasTag(other.gameObject.tag))
+                {
+                   
+                }
+            }
+        }
+    }
+
+    private void OnTriggerStay(Collider other)
+    {
+        if (eventTrigger.HasFlag(Triggers.OnStay))
+        {
+            if (layers.HasFlag((Layers) (1 << other.gameObject.layer)))
+            {
+                if (HasTag(other.gameObject.tag))
+                {
+                   
+                }
+            }
+        }
+    }
+
+    private void OnTriggerExit(Collider other)
+    {
+        if (eventTrigger.HasFlag(Triggers.OnExit))
+        {
+            if (layers.HasFlag((Layers) (1 << other.gameObject.layer)))
+            {
+                if (HasTag(other.gameObject.tag))
+                {
+                   
+                }
+            }
+        }
+    }
+
+    private bool HasTag(string checkTag)
+    {
+        if (checkByTag == false) return true;
+        return tag.Any(elem => elem == checkTag);
+    }
+
+}
+
+[CustomEditor(typeof(CallEventsOnTrigger))]
+public class ScriptEditor : Editor
+{
+    private SerializedProperty eventTrigger;
+    private SerializedProperty layers;
+    private SerializedProperty checkByTag;
+    private SerializedProperty tag;
+    
+    private SerializedProperty enterEvents;
+    private SerializedProperty stayEvents;
+    private SerializedProperty exitEvents;
+   
+    private void OnEnable()
+    {
+        eventTrigger = serializedObject.FindProperty("eventTrigger");
+        layers = serializedObject.FindProperty("layers");
+        checkByTag = serializedObject.FindProperty("checkByTag");
+        tag = serializedObject.FindProperty("tag");
+
+        enterEvents = serializedObject.FindProperty("enterEvents");
+        stayEvents = serializedObject.FindProperty("stayEvents");
+        exitEvents = serializedObject.FindProperty("exitEvents");
+    }
+
+    public override void OnInspectorGUI()
+    {
+        serializedObject.Update();
+        EditorGUILayout.PropertyField(eventTrigger);
+        EditorGUILayout.PropertyField(layers);
+        EditorGUILayout.PropertyField(checkByTag);
+        
+        
+        
+        if (checkByTag.boolValue)
+        {
+            EditorGUILayout.PropertyField(tag);
+        }
+        if 
+
+        serializedObject.ApplyModifiedProperties();
+    }
+}
+
+[System.Flags]
+public enum Triggers : int
+{
+    Nothing = 0,
+    OnEnter = 1,
+    OnStay = 2,
+    OnExit = 4,
+    Everything = 8
+}
+
+[System.Flags]
+public enum Layers
+{
+    Nothing = 0,
+    Default = 1 << 0,
+    TransparentFX = 1 << 1,
+    IgnoreRaycast = 1 << 2,
+    Ground = 1 << 3,
+    Water = 1 << 4,
+    UI = 1 << 5,
+    Sky = 1 << 6,
+    Player = 1 << 7,
+    
+    Eight = 1 << 8,
+    Nine = 1 << 9,
+    Ten = 1 << 10,
+    Eleven = 1 << 11,
+    Twelve = 1 << 12,
+    Thirteen = 1 << 13,
+    Fourteen = 1 << 14,
+    Fifteen = 1 << 15,
+    Sixteen = 1 << 16,
+    Seventeen = 1 << 17,
+    Eighteen = 1 << 18,
+    Nineteen = 1 << 19,
+    Twenty = 1 << 20,
+    Everything = 1 << 21,
+}
\ No newline at end of file
diff --git a/Tenebrissilva/Assets/CallEventsOnTrigger.cs.meta b/Tenebrissilva/Assets/CallEventsOnTrigger.cs.meta
new file mode 100644
index 000000000..662fc08e0
--- /dev/null
+++ b/Tenebrissilva/Assets/CallEventsOnTrigger.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5cace9c7ea0a48a4fa7b70997311a98a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast1.prefab b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast1.prefab
index 98d752dad..506bde720 100644
--- a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast1.prefab
+++ b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast1.prefab
@@ -25,9 +25,9 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2237690460468226964}
-  m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 361.38162, y: 136.59032, z: 709.20953}
-  m_LocalScale: {x: 0.041124452, y: 0.041124452, z: 0.041124452}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 359.19, y: 136.8, z: 709.51}
+  m_LocalScale: {x: 0.08839694, y: 0.08839694, z: 0.08839694}
   m_Children: []
   m_Father: {fileID: 0}
   m_RootOrder: 0
diff --git a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast10.prefab b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast10.prefab
index c2c45ce45..53218a3ee 100644
--- a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast10.prefab
+++ b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast10.prefab
@@ -27,7 +27,7 @@ Transform:
   m_GameObject: {fileID: 4479415093848273199}
   m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 348.07434, y: 136.78235, z: 709.82935}
-  m_LocalScale: {x: 0.041124452, y: 0.041124452, z: 0.041124452}
+  m_LocalScale: {x: 0.08839694, y: 0.08839694, z: 0.08839694}
   m_Children: []
   m_Father: {fileID: 0}
   m_RootOrder: 0
diff --git a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast3.prefab b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast3.prefab
index be2f23ab6..c81f90a1a 100644
--- a/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast3.prefab
+++ b/Tenebrissilva/Assets/_Project/Prefabs/Foliage/Ast/Ast3.prefab
@@ -26,8 +26,8 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1041826230966761475}
   m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 355.84882, y: 136.59456, z: 710.7778}
-  m_LocalScale: {x: 0.041124452, y: 0.041124452, z: 0.041124452}
+  m_LocalPosition: {x: 356.4, y: 137.08, z: 710.36}
+  m_LocalScale: {x: 0.08839694, y: 0.08839694, z: 0.08839694}
   m_Children: []
   m_Father: {fileID: 0}
   m_RootOrder: 0
diff --git a/Tenebrissilva/Assets/_Project/Scenes/DarkWorld.unity b/Tenebrissilva/Assets/_Project/Scenes/DarkWorld.unity
index e9ae4270c..03535f5ff 100644
--- a/Tenebrissilva/Assets/_Project/Scenes/DarkWorld.unity
+++ b/Tenebrissilva/Assets/_Project/Scenes/DarkWorld.unity
@@ -1953,7 +1953,7 @@ Mesh:
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_Name: pb_Mesh23176
+  m_Name: pb_Mesh23208
   serializedVersion: 10
   m_SubMeshes:
   - serializedVersion: 2
diff --git a/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity b/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity
new file mode 100644
index 000000000..7e3bf5743
--- /dev/null
+++ b/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity
@@ -0,0 +1,618 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &80620903
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 80620907}
+  - component: {fileID: 80620906}
+  - component: {fileID: 80620905}
+  - component: {fileID: 80620904}
+  - component: {fileID: 80620908}
+  m_Layer: 0
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!65 &80620904
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 80620903}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &80620905
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 80620903}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &80620906
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 80620903}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &80620907
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 80620903}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.25, y: 0.105, z: 7.31}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &80620908
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 80620903}
+  serializedVersion: 2
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 0
+--- !u!1 &84425592
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 84425596}
+  - component: {fileID: 84425595}
+  - component: {fileID: 84425594}
+  - component: {fileID: 84425593}
+  m_Layer: 0
+  m_Name: r
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!64 &84425593
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 84425592}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 4
+  m_Convex: 0
+  m_CookingOptions: 30
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &84425594
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 84425592}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &84425595
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 84425592}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &84425596
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 84425592}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.28524, y: -2.5166268, z: 10.048334}
+  m_LocalScale: {x: 3.5241, y: 3.5241, z: 3.5241}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &501061641
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 501061646}
+  - component: {fileID: 501061645}
+  - component: {fileID: 501061644}
+  - component: {fileID: 501061643}
+  - component: {fileID: 501061642}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &501061642
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501061641}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5cace9c7ea0a48a4fa7b70997311a98a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  EventTrigger: -1
+--- !u!65 &501061643
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501061641}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &501061644
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501061641}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &501061645
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501061641}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &501061646
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501061641}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.34376866, y: -1.9006169, z: 6.999}
+  m_LocalScale: {x: 1.8524, y: 1.8524, z: 1.8524}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &999645247
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 999645250}
+  - component: {fileID: 999645249}
+  - component: {fileID: 999645248}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &999645248
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999645247}
+  m_Enabled: 1
+--- !u!20 &999645249
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999645247}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &999645250
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999645247}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1626715799
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1626715801}
+  - component: {fileID: 1626715800}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1626715800
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1626715799}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1626715801
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1626715799}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity.meta b/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity.meta
new file mode 100644
index 000000000..635829129
--- /dev/null
+++ b/Tenebrissilva/Assets/_Project/Scenes/Sandbox.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9a1b2c4c8d9ce3d4c88c20fc1ce0fe24
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Tenebrissilva/Assets/_Project/Terrain/DarkWorld_Terrain_1.asset b/Tenebrissilva/Assets/_Project/Terrain/DarkWorld_Terrain_1.asset
index 91f527ae78244df2c92fecc1042c47369709d0f2..3d37f10e76cf5e1c376604f5e9edd4240130bf07 100644
GIT binary patch
delta 7318
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

delta 6914
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
X4k9W*L?wu*0uj}$`*oyhSZxFVD4d$s

-- 
GitLab