diff --git a/Assets/FactManager.cs b/Assets/FactManager.cs index 829e1a276ac42e4fa44b2688852a65237ffc7b15..db172fc2d3fa9013f825adbf8b3a0993b4880166 100644 --- a/Assets/FactManager.cs +++ b/Assets/FactManager.cs @@ -41,6 +41,7 @@ PointFact AddPointFact(RaycastHit hit, int id) Facts.Insert(id, new PointFact { + Id = id, Point = hit.point, Normal = hit.normal diff --git a/Assets/InteractionEngine/WorldCursor.cs b/Assets/InteractionEngine/WorldCursor.cs index 495c640f2ade9d7079870a6e6f743c06c074849f..59ca151075cd726b41dec910a1bf1cd353f6f045 100644 --- a/Assets/InteractionEngine/WorldCursor.cs +++ b/Assets/InteractionEngine/WorldCursor.cs @@ -33,10 +33,25 @@ void Update() if(Physics.Raycast(ray, out Hit, 30f, layerMask)){ - transform.position = Hit.point; - transform.up = Hit.normal; - transform.position += .01f * Hit.normal; - CheckMouseButtons(ray); + + Debug.Log(Hit.transform.tag); + if (Hit.collider.transform.CompareTag("SnapZone")) + { + Hit.point = Hit.collider.transform.position; + Hit.normal = Vector3.up; + Debug.Log("boom"); + CheckMouseButtons(true); + + } + else + { + transform.position = Hit.point; + transform.up = Hit.normal; + transform.position += .01f * Hit.normal; + CheckMouseButtons(); + } + + } @@ -51,7 +66,7 @@ void Update() } //Check if left Mouse-Button was pressed and handle it - void CheckMouseButtons(Ray ray) + void CheckMouseButtons(bool OnSnap=false) { if (Input.GetMouseButtonDown(0)) @@ -59,7 +74,8 @@ void CheckMouseButtons(Ray ray) if (EventSystem.current.IsPointerOverGameObject()) return; //this prevents rays from shooting through ui CommunicationEvents.TriggerEvent.Invoke(Hit); - + if(OnSnap) Hit.collider.enabled = false; + } } diff --git a/Assets/InventoryStuff/Inventory.meta b/Assets/InventoryStuff/Inventory.meta new file mode 100644 index 0000000000000000000000000000000000000000..9818e1d19efb2406338d62594c7ffb0012b023e8 --- /dev/null +++ b/Assets/InventoryStuff/Inventory.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b543d9677cbde534ab69c0a229bfdb06 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/PointMaterial.mat b/Assets/Materials/PointMaterial.mat index 4b13cf426007240d0949255ccb868fefa1c08b94..151626fc8136316ff05d6c787835b6eb5c121799 100644 --- a/Assets/Materials/PointMaterial.mat +++ b/Assets/Materials/PointMaterial.mat @@ -8,12 +8,12 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: PointMaterial - m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 2649b895a4c22d649852a0ca4c825c74, type: 3} m_ShaderKeywords: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 4000 + m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] m_SavedProperties: @@ -57,6 +57,7 @@ Material: m_Offset: {x: 0, y: 0} m_Floats: - _BumpScale: 1 + - _ColorMask: 15 - _Cutoff: 0.5 - _DetailNormalMapScale: 1 - _DstBlend: 0 @@ -70,6 +71,11 @@ Material: - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 - _UVSec: 0 - _ZWrite: 1 m_Colors: diff --git a/Assets/Shaders.meta b/Assets/Shaders.meta new file mode 100644 index 0000000000000000000000000000000000000000..5846508309d54fcaa4d0d7d3082787725aaa1298 --- /dev/null +++ b/Assets/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3356a4e49dc7a1f49a8ed203da5a847d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OnTop.shader b/Assets/Shaders/OnTop.shader new file mode 100644 index 0000000000000000000000000000000000000000..1c538cf7d912cac036a31b82568c95c8b7f72230 --- /dev/null +++ b/Assets/Shaders/OnTop.shader @@ -0,0 +1,89 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +Shader "Custom/AlwaysOnTop" { + Properties{ + _MainTex("Font Texture", 2D) = "white" {} + _Color("Text Color", Color) = (1,1,1,1) + + _StencilComp("Stencil Comparison", Float) = 8 + _Stencil("Stencil ID", Float) = 0 + _StencilOp("Stencil Operation", Float) = 0 + _StencilWriteMask("Stencil Write Mask", Float) = 255 + _StencilReadMask("Stencil Read Mask", Float) = 255 + + _ColorMask("Color Mask", Float) = 15 + } + + SubShader{ + + Tags + { + "Queue" = "Transparent" + "IgnoreProjector" = "True" + "RenderType" = "Transparent" + "PreviewType" = "Plane" + } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + Lighting Off + Cull Off + ZTest Off + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + sampler2D _MainTex; + uniform float4 _MainTex_ST; + uniform fixed4 _Color; + + v2f vert(appdata_t v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * _Color; + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + #ifdef UNITY_HALF_TEXEL_OFFSET + o.vertex.xy += (_ScreenParams.zw - 1.0)*float2(-1,1); + #endif + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + fixed4 col = i.color; + col.a *= tex2D(_MainTex, i.texcoord).a; + clip(col.a - 0.01); + return col; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/OnTop.shader.meta b/Assets/Shaders/OnTop.shader.meta new file mode 100644 index 0000000000000000000000000000000000000000..4db1138fb54069befee3a99288220493288a356d --- /dev/null +++ b/Assets/Shaders/OnTop.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2649b895a4c22d649852a0ca4c825c74 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TreeWorld.unity b/Assets/TreeWorld.unity index fb27008ef47010c3c8818ab3fbb26b9b4cf4c618..bc848f99ff05a19ae6bf88f6db3657c56ec26774 100644 --- a/Assets/TreeWorld.unity +++ b/Assets/TreeWorld.unity @@ -1410,6 +1410,50 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &1009368148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1009368149} + - component: {fileID: 1009368150} + m_Layer: 0 + m_Name: RootSnapZone + m_TagString: SnapZone + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1009368149 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1009368148} + m_LocalRotation: {x: -0, y: -0.030180298, z: 0.7032498, w: 0.710302} + m_LocalPosition: {x: -0.12, y: 0.48, z: 0.09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1347135377} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &1009368150 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1009368148} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 2 + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &1017737548 GameObject: m_ObjectHideFlags: 0 @@ -1812,6 +1856,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 38927f5b66d24cc428e39ffa454b0bfb, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!4 &1347135377 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: c91c1eb85782d5748ace27eb4d7415bb, + type: 3} + m_PrefabInstance: {fileID: 154206643} + m_PrefabAsset: {fileID: 0} --- !u!1 &1351049950 GameObject: m_ObjectHideFlags: 0 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 676cfda85edc46a8f94e43e298c0d0083971c471..e1e6d97f2d1df78892569943a6cf1746e80b896b 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -6,6 +6,7 @@ TagManager: tags: - ToolModeDisplay - Selectable + - SnapZone layers: - Default - TransparentFX