summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit/Component/UnitCollider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Unit/Component/UnitCollider.cs')
-rw-r--r--Assets/Scripts/Unit/Component/UnitCollider.cs22
1 files changed, 16 insertions, 6 deletions
diff --git a/Assets/Scripts/Unit/Component/UnitCollider.cs b/Assets/Scripts/Unit/Component/UnitCollider.cs
index 8813ccef..f3170d1b 100644
--- a/Assets/Scripts/Unit/Component/UnitCollider.cs
+++ b/Assets/Scripts/Unit/Component/UnitCollider.cs
@@ -50,17 +50,27 @@ public class UnitCollider : UnitComponent
public void OnAnimationChange()
{
hitMask.Clear();
-
}
- public void RecordCollision()
+ public void RecordCollision(int colliderHash, int targetHash)
{
+ List<int> record;
+ if (!hitMask.TryGetValue(colliderHash, out record))
+ {
+ record = new List<int>();
+ hitMask.Add(colliderHash, record);
+ }
+ record.Add(targetHash);
+ }
- }
-
- public bool CanCollide()
+ public bool CanCollide(int colliderHash, int targetHash)
{
- return true;
+ List<int> record;
+ if(!hitMask.TryGetValue(colliderHash, out record))
+ {
+ return true;
+ }
+ return !record.Contains(targetHash);
}
#if UNITY_EDITOR