Fixing trick behavior

This commit is contained in:
hz
2026-01-31 21:48:28 -06:00
parent 31b5d74554
commit 86a860126e
5 changed files with 58 additions and 55 deletions
+18 -1
View File
@@ -2,6 +2,9 @@ using UnityEngine;
public class TrickCollisionManager : MonoBehaviour
{
[SerializeField] private string trickLayerName = "Trick";
[SerializeField] private string playerLayerName = "Player";
[SerializeField] private string treatLayerName = "Treat";
private bool initialized;
private void Awake()
@@ -16,7 +19,7 @@ public class TrickCollisionManager : MonoBehaviour
return;
}
var trickLayer = LayerMask.NameToLayer("Trick");
var trickLayer = LayerMask.NameToLayer(trickLayerName);
if (trickLayer == -1)
{
Debug.LogWarning("Trick layer not found. Create a layer named 'Trick' and assign it to Trick prefab.");
@@ -24,6 +27,20 @@ public class TrickCollisionManager : MonoBehaviour
}
Physics2D.IgnoreLayerCollision(trickLayer, trickLayer, true);
IgnoreLayerPair(trickLayer, playerLayerName);
IgnoreLayerPair(trickLayer, treatLayerName);
initialized = true;
}
private void IgnoreLayerPair(int trickLayer, string otherLayerName)
{
var otherLayer = LayerMask.NameToLayer(otherLayerName);
if (otherLayer == -1)
{
Debug.LogWarning($"Layer '{otherLayerName}' not found. Configure it if you want Trick to ignore collisions with it.");
return;
}
Physics2D.IgnoreLayerCollision(trickLayer, otherLayer, true);
}
}