diff --git a/ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs b/ColliderCheck/Box2DColliderTrigger.cs similarity index 57% rename from ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs rename to ColliderCheck/Box2DColliderTrigger.cs index 7503da8..6a7feda 100644 --- a/ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs +++ b/ColliderCheck/Box2DColliderTrigger.cs @@ -1,34 +1,19 @@ -using System; using UnityEngine; namespace Syntriax.Modules.Movement.ColliderTrigger { - public class TwoDimensionalBoxChildColliderTrigger : MonoBehaviour, IColliderTrigger + + public class Box2DColliderTrigger : Trigger, IColliderTrigger { - [SerializeField] private LayerMask colliderMask = 0; - private bool _isTrigerred = false; private Collider2D[] results = new Collider2D[8]; public LayerMask ColliderMask { get => colliderMask; set => colliderMask = value; } - - public Action OnTriggered { get; set; } = null; - public bool IsTrigerred - { - get => _isTrigerred; - protected set - { - bool isNewValue = _isTrigerred != value; - - _isTrigerred = value; - - if (isNewValue) - OnTriggered.Invoke(value); - } - } + [SerializeField] private LayerMask colliderMask = 0; protected void FixedUpdate() => IsTrigerred = Physics2D.OverlapBoxNonAlloc(transform.position, transform.localScale, 0, results, ColliderMask) > 0; + #if UNITY_EDITOR private void OnDrawGizmosSelected() { diff --git a/Implementations/2D/OneWay2DAirMovement.cs.meta b/ColliderCheck/Box2DColliderTrigger.cs.meta similarity index 83% rename from Implementations/2D/OneWay2DAirMovement.cs.meta rename to ColliderCheck/Box2DColliderTrigger.cs.meta index a1d0e9a..676047d 100644 --- a/Implementations/2D/OneWay2DAirMovement.cs.meta +++ b/ColliderCheck/Box2DColliderTrigger.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ccd6df43b281de34fb8ea893de8ec4c6 +guid: 20a6baf9a256917448a4d7ad09d0c51a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/ColliderCheck/Ground/Box2DGroundTrigger.cs b/ColliderCheck/Ground/Box2DGroundTrigger.cs new file mode 100644 index 0000000..5df994c --- /dev/null +++ b/ColliderCheck/Ground/Box2DGroundTrigger.cs @@ -0,0 +1,4 @@ +namespace Syntriax.Modules.Movement.ColliderTrigger +{ + public class Box2DGroundTrigger : Box2DColliderTrigger, IGroundTrigger { } +} diff --git a/ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs.meta b/ColliderCheck/Ground/Box2DGroundTrigger.cs.meta similarity index 83% rename from ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs.meta rename to ColliderCheck/Ground/Box2DGroundTrigger.cs.meta index b4c2ed8..1a4cee5 100644 --- a/ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs.meta +++ b/ColliderCheck/Ground/Box2DGroundTrigger.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: df412a9878b7d5b43ab34aef7261ec3a +guid: 7804f3e8384c7a54482f585b4f43264a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs b/ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs deleted file mode 100644 index 4e53415..0000000 --- a/ColliderCheck/Ground/TwoDimensionalBoxChildGroundTrigger.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Syntriax.Modules.Movement.ColliderTrigger -{ - public class TwoDimensionalBoxChildGroundTrigger : TwoDimensionalBoxChildColliderTrigger, IGroundTrigger { } -} diff --git a/ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs.meta b/ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs.meta deleted file mode 100644 index d1165ea..0000000 --- a/ColliderCheck/TwoDimensionalBoxChildColliderCheck.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cbd3633509c80ca49b6ae013c990bdbe -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Implementations/2D/OneDirectional2DAirMovement.cs b/Implementations/2D/OneDirectional2DAirMovement.cs index c066506..51b2a13 100644 --- a/Implementations/2D/OneDirectional2DAirMovement.cs +++ b/Implementations/2D/OneDirectional2DAirMovement.cs @@ -12,7 +12,7 @@ namespace Syntriax.Modules.Movement.Implementations.TwoDimensional { base.Start(); groundTrigger = GetComponentInChildren(); - groundTrigger.OnTriggered.AddListener(OnGroundTrigger); + groundTrigger.OnTriggered += OnGroundTrigger; } private void OnGroundTrigger(bool isGrounded) diff --git a/Implementations/2D/OneWay2DAirMovement.cs b/Implementations/2D/OneWay2DAirMovement.cs deleted file mode 100644 index b4005b0..0000000 --- a/Implementations/2D/OneWay2DAirMovement.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Syntriax.Modules.Movement.ColliderTrigger; -using UnityEngine; - -namespace Syntriax.Modules.Movement.Implementations.TwoDimensional -{ - public class OneWay2DAirMovement : OneWay2DMovementBase - { - protected override float moveValue { get; set; } = 0f; - protected IGroundTrigger groundTrigger = null; - - protected override void Start() - { - base.Start(); - groundTrigger = GetComponentInChildren(); - groundTrigger.OnTriggered += OnGroundTrigger; - } - - private void OnGroundTrigger(bool isGrounded) - => CanTakeOver = !isGrounded; - - public override void ApplyMovement() - { - Vector2 velocity = rigid.velocity; - velocity.x += moveValue * Time.fixedDeltaTime; - - if (moveValue != 0f) - { - if (Mathf.Abs(velocity.x) > Mathf.Abs(moveValue)) - velocity.x = moveValue; - else if (Mathf.Abs(velocity.x - moveValue) > Mathf.Abs(moveValue)) - velocity.x += moveValue * Time.fixedDeltaTime; - } - - rigid.velocity = velocity; - } - - protected override void OnDeactivated() { } - protected override void OnActivated() { } - } -} diff --git a/Implementations/2D/OneWay2DGroundMovement.cs b/Implementations/2D/OneWay2DGroundMovement.cs deleted file mode 100644 index bc4208e..0000000 --- a/Implementations/2D/OneWay2DGroundMovement.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Syntriax.Modules.Movement.ColliderTrigger; -using UnityEngine; - -namespace Syntriax.Modules.Movement.Implementations.TwoDimensional -{ - public class OneWay2DGroundMovement : OneWay2DMovementBase - { - protected override float moveValue { get; set; } = 0f; - protected IGroundTrigger groundTrigger = null; - - protected override void Start() - { - base.Start(); - groundTrigger = GetComponentInChildren(); - groundTrigger.OnTriggered += OnGroundTrigger; - } - - private void OnGroundTrigger(bool isGrounded) - => CanTakeOver = isGrounded; - - public override void ApplyMovement() - { - Vector2 velocity = rigid.velocity; - velocity.x = moveValue; - rigid.velocity = velocity; - } - - protected override void OnDeactivated() { } - protected override void OnActivated() { } - } -} diff --git a/Implementations/2D/OneWay2DGroundMovement.cs.meta b/Implementations/2D/OneWay2DGroundMovement.cs.meta deleted file mode 100644 index b60062a..0000000 --- a/Implementations/2D/OneWay2DGroundMovement.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f7b798018f7cc444c92f7f17b0501bc7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Implementations/2D/OneWay2DMovementBase.cs b/Implementations/2D/OneWay2DMovementBase.cs deleted file mode 100644 index 7a19b3a..0000000 --- a/Implementations/2D/OneWay2DMovementBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Syntriax.Modules.Movement.Implementations.TwoDimensional -{ - public abstract class OneWay2DMovementBase : TwoDimensionalMovementBase - { - protected abstract float moveValue { get; set; } - - public override void Move(float x = 0, float y = 0, float z = 0) - => moveValue = x * BaseSpeed * MovementMultiplier; - } -} diff --git a/Implementations/2D/OneWay2DMovementBase.cs.meta b/Implementations/2D/OneWay2DMovementBase.cs.meta deleted file mode 100644 index c060f75..0000000 --- a/Implementations/2D/OneWay2DMovementBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 842775d6c36b58f40a18f3d930e04173 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: