First Commit

This commit is contained in:
2021-12-23 12:41:01 +03:00
parent dbe683c982
commit 6d6687d225
33 changed files with 454 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2c348589c341f3d4f8db2e34198ec32e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,4 @@
namespace Syntriax.Modules.Movement.ColliderCheck.Ground
{
public interface IGroundCheck : IColliderCheck { }
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2cbb917bc29d63241aa50c7fe8dc141d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,4 @@
namespace Syntriax.Modules.Movement.ColliderCheck.Ground
{
public class TwoDimensionalBoxChildGroundCheck : TwoDimensionalBoxChildColliderCheck, IGroundCheck { }
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a878fb141e25e954c9b73eff8657605a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,10 @@
using UnityEngine;
namespace Syntriax.Modules.Movement.ColliderCheck
{
public interface IColliderCheck
{
LayerMask ColliderMask { get; set; }
bool IsColliderDetected { get; }
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 164c4b9411986c14e8012b2e7fdd2a6a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
namespace Syntriax.Modules.Movement.ColliderCheck
{
public static class IColliderCheckExtensions
{
public static bool IsCollided(this IColliderCheck colliderCheck)
=> colliderCheck == null ? true : colliderCheck.IsColliderDetected;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8a31fdb05e206b44cbe615353e924344
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,24 @@
using UnityEngine;
namespace Syntriax.Modules.Movement.ColliderCheck
{
public class TwoDimensionalBoxChildColliderCheck : MonoBehaviour, IColliderCheck, IState
{
[SerializeField] private LayerMask colliderMask = 0;
public LayerMask ColliderMask { get => colliderMask; set => colliderMask = value; }
public bool IsColliderDetected
=> StateEnabled ? Physics2D.OverlapBox(transform.position, transform.localScale, 0, ColliderMask) != null : true;
public bool StateEnabled { get; set; } = true;
#if UNITY_EDITOR
private void OnDrawGizmosSelected()
{
Gizmos.color = IsColliderDetected ? Color.green : Color.red;
Gizmos.DrawWireCube(transform.position, transform.lossyScale);
}
#endif
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 090650329160e7b42ba89ccfad00375e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: