diff --git a/Assets/_Game/Prefabs/CannonBarrel.prefab b/Assets/_Game/Prefabs/CannonBarrel.prefab index d60763c0c28c64c2be2fca1979ce0b30763e20ff..01868d90ab898beebc178d0b9e1b0befb74958e6 100644 --- a/Assets/_Game/Prefabs/CannonBarrel.prefab +++ b/Assets/_Game/Prefabs/CannonBarrel.prefab @@ -103,10 +103,12 @@ MonoBehaviour: cannonBarrel: {fileID: 1682295116660206} fire: {fileID: 1087194835788670, guid: 3fd0675fac3d4794aafbb72c8557c635, type: 2} fireDelay: 1 + phase: 0 speed: 7 anim: {fileID: 95962382210488100} animRadVorne: {fileID: 0} animRadHinten: {fileID: 0} + ignoreEnviroment: 1 --- !u!212 &212468767237705114 SpriteRenderer: m_ObjectHideFlags: 1 diff --git a/Assets/_Game/Scripts/CannonController.cs b/Assets/_Game/Scripts/CannonController.cs index fd2f2afb90e035004bc5506e258e2e235179fbbc..e80332954e0689d91cf2b44221b0b01c916be927 100644 --- a/Assets/_Game/Scripts/CannonController.cs +++ b/Assets/_Game/Scripts/CannonController.cs @@ -9,6 +9,7 @@ public class CannonController : MonoBehaviour, IResetable { [SerializeField] private Animator anim; [SerializeField] private Animator animRadVorne; [SerializeField] private Animator animRadHinten; + [SerializeField] private bool ignoreEnviroment; private Coroutine co; @@ -36,6 +37,7 @@ public class CannonController : MonoBehaviour, IResetable { obj.transform.localScale = transform.lossyScale; // Flugrichtung obj.GetComponent().velocity = cannonBarrel.transform.right * speed; + obj.GetComponent().ignoreEnviroment = ignoreEnviroment; } public void ResetToLevelBegin() { diff --git a/Assets/_Game/Scripts/ProjektilController.cs b/Assets/_Game/Scripts/ProjektilController.cs index 3fa9f9ef328d942fee45b9a3444af2d1a8cf0840..38adb6147a15e1d92614d80a4706cdb802c978e4 100644 --- a/Assets/_Game/Scripts/ProjektilController.cs +++ b/Assets/_Game/Scripts/ProjektilController.cs @@ -2,6 +2,8 @@ public class ProjektilController : MonoBehaviour, IResetable { + public bool ignoreEnviroment; + private const float MAX_LIFETIME = 15.0f; private float lifetime; @@ -15,6 +17,9 @@ public class ProjektilController : MonoBehaviour, IResetable { } private void OnTriggerEnter2D(Collider2D other) { + // Don't destroy on contact with enviroment if set to ignore + if (other.gameObject.layer == 12 && ignoreEnviroment) return; + Destroy(gameObject); }