Fixing trick behavior
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user