From adea3b05d42260a4e90eeb8114ef801e0ee8a7de Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 23 Jul 2023 19:14:35 -0400 Subject: [PATCH 1/3] Ajustement de l'ordre des sprite des recoltes Implementation de OverlapPoint pour remplacer RaycastHit --- Assets/Prefabs/Yield/yieldFood.prefab | 2 +- Assets/Prefabs/Yield/yieldRock.prefab | 2 +- Assets/Prefabs/Yield/yieldWood.prefab | 2 +- Assets/Scripts/PlayerAction/ClickBehavior.cs | 10 ++++++---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Assets/Prefabs/Yield/yieldFood.prefab b/Assets/Prefabs/Yield/yieldFood.prefab index 24ed98e..4244f1a 100644 --- a/Assets/Prefabs/Yield/yieldFood.prefab +++ b/Assets/Prefabs/Yield/yieldFood.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 4 + m_SortingOrder: 3 m_Sprite: {fileID: 21300000, guid: 9bd2451627165d44ab67ea16cdabaf2f, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Prefabs/Yield/yieldRock.prefab b/Assets/Prefabs/Yield/yieldRock.prefab index 82c5113..c791609 100644 --- a/Assets/Prefabs/Yield/yieldRock.prefab +++ b/Assets/Prefabs/Yield/yieldRock.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 4 + m_SortingOrder: 3 m_Sprite: {fileID: 21300000, guid: f67e7f54162405141b42d32ef8df76ad, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Prefabs/Yield/yieldWood.prefab b/Assets/Prefabs/Yield/yieldWood.prefab index eaebb14..ae70613 100644 --- a/Assets/Prefabs/Yield/yieldWood.prefab +++ b/Assets/Prefabs/Yield/yieldWood.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 4 + m_SortingOrder: 3 m_Sprite: {fileID: 21300000, guid: 5c630d8b4d37f5d4f974d38f670ad5c1, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Scripts/PlayerAction/ClickBehavior.cs b/Assets/Scripts/PlayerAction/ClickBehavior.cs index 99d0ad0..45fb34a 100644 --- a/Assets/Scripts/PlayerAction/ClickBehavior.cs +++ b/Assets/Scripts/PlayerAction/ClickBehavior.cs @@ -9,12 +9,14 @@ public class ClickBehavior : MonoBehaviour if (Input.GetMouseButton(0)) { Vector2 clickPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); - RaycastHit2D hit = Physics2D.Raycast(clickPoint, transform.up); - if (hit.collider != null) + //RaycastHit2D hit = Physics2D.Raycast(clickPoint, transform.up); + Collider2D collider = Physics2D.OverlapPoint(clickPoint); + if (collider != null) { - if (hit.collider.CompareTag("Resource")) + Debug.Log("Colliding with " + collider.tag); + if (collider.CompareTag("Resource")) { - hit.collider.GetComponent().GenerateResource(); + collider.GetComponent().GenerateResource(); } } } From cfeb6bb09bb1a394e76d769c3bd71c802de7d18f Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 30 Jul 2023 15:55:54 -0400 Subject: [PATCH 2/3] Fixed yield collecting bug Implemented OverlapCircleAll and FindAll Reverted SortingOrder changes to prefabs --- Assets/Prefabs/Yield/yieldFood.prefab | 2 +- Assets/Prefabs/Yield/yieldRock.prefab | 2 +- Assets/Prefabs/Yield/yieldWood.prefab | 2 +- Assets/Scripts/PlayerAction/ClickBehavior.cs | 11 ++++++----- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Assets/Prefabs/Yield/yieldFood.prefab b/Assets/Prefabs/Yield/yieldFood.prefab index 4244f1a..24ed98e 100644 --- a/Assets/Prefabs/Yield/yieldFood.prefab +++ b/Assets/Prefabs/Yield/yieldFood.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 3 + m_SortingOrder: 4 m_Sprite: {fileID: 21300000, guid: 9bd2451627165d44ab67ea16cdabaf2f, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Prefabs/Yield/yieldRock.prefab b/Assets/Prefabs/Yield/yieldRock.prefab index c791609..82c5113 100644 --- a/Assets/Prefabs/Yield/yieldRock.prefab +++ b/Assets/Prefabs/Yield/yieldRock.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 3 + m_SortingOrder: 4 m_Sprite: {fileID: 21300000, guid: f67e7f54162405141b42d32ef8df76ad, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Prefabs/Yield/yieldWood.prefab b/Assets/Prefabs/Yield/yieldWood.prefab index ae70613..eaebb14 100644 --- a/Assets/Prefabs/Yield/yieldWood.prefab +++ b/Assets/Prefabs/Yield/yieldWood.prefab @@ -208,7 +208,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 3 + m_SortingOrder: 4 m_Sprite: {fileID: 21300000, guid: 5c630d8b4d37f5d4f974d38f670ad5c1, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Scripts/PlayerAction/ClickBehavior.cs b/Assets/Scripts/PlayerAction/ClickBehavior.cs index 45fb34a..44d3ee7 100644 --- a/Assets/Scripts/PlayerAction/ClickBehavior.cs +++ b/Assets/Scripts/PlayerAction/ClickBehavior.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using UnityEngine; /// /// Handles what happens when the user clicks on a collider @@ -9,15 +10,15 @@ public class ClickBehavior : MonoBehaviour if (Input.GetMouseButton(0)) { Vector2 clickPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); - //RaycastHit2D hit = Physics2D.Raycast(clickPoint, transform.up); - Collider2D collider = Physics2D.OverlapPoint(clickPoint); - if (collider != null) + List listColliders = new(Physics2D.OverlapCircleAll(clickPoint, 0.05f)); + List resourceColliders = listColliders.FindAll(obj => obj.CompareTag("Resource")); + if (resourceColliders != null) { - Debug.Log("Colliding with " + collider.tag); - if (collider.CompareTag("Resource")) + foreach (Collider2D collider in resourceColliders) { collider.GetComponent().GenerateResource(); } + } } } From 333a6e00bf91f04ff01d4588a527555fef4829ee Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Wed, 2 Aug 2023 15:00:21 -0400 Subject: [PATCH 3/3] Ajusted the behavior to be performance efficient --- Assets/Scripts/PlayerAction/ClickBehavior.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Scripts/PlayerAction/ClickBehavior.cs b/Assets/Scripts/PlayerAction/ClickBehavior.cs index 44d3ee7..85bfe1e 100644 --- a/Assets/Scripts/PlayerAction/ClickBehavior.cs +++ b/Assets/Scripts/PlayerAction/ClickBehavior.cs @@ -12,7 +12,7 @@ public class ClickBehavior : MonoBehaviour Vector2 clickPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); List listColliders = new(Physics2D.OverlapCircleAll(clickPoint, 0.05f)); List resourceColliders = listColliders.FindAll(obj => obj.CompareTag("Resource")); - if (resourceColliders != null) + if (resourceColliders.Count > 0) { foreach (Collider2D collider in resourceColliders) {