diff options
author | chai <chaifix@163.com> | 2021-08-30 13:49:30 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-30 13:49:30 +0800 |
commit | 07fd372981a16672af23e30816ade14fcb744804 (patch) | |
tree | abae0cc59048b230d5caa5326afa71caddf863ee /Assets/Scripts/Unit/Component/UnitCollider.cs | |
parent | e5faa213bae57d3d7a92ceb078b4d1ddbe3c2f0c (diff) |
击中反馈
Diffstat (limited to 'Assets/Scripts/Unit/Component/UnitCollider.cs')
-rw-r--r-- | Assets/Scripts/Unit/Component/UnitCollider.cs | 22 |
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
|