|
|
@@ -56,6 +56,17 @@ public class SearchTrigger : MonoBehaviour
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void OnDisable()
|
|
|
+ {
|
|
|
+ for (int i = 0; i < owner.attackController.targetTypes.Count; i++)
|
|
|
+ {
|
|
|
+ if (trigCharacterDic.ContainsKey(owner.attackController.targetTypes[i]))
|
|
|
+ {
|
|
|
+ trigCharacterDic[owner.attackController.targetTypes[i]].Clear();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void FixedUpdate()
|
|
|
{
|
|
|
for (int i = 0; i < owner.attackController.targetTypes.Count; i++)
|
|
|
@@ -63,7 +74,7 @@ public class SearchTrigger : MonoBehaviour
|
|
|
if (trigCharacterDic.ContainsKey(owner.attackController.targetTypes[i]))
|
|
|
{
|
|
|
List<BeSearchTrigger> trigList = trigCharacterDic[owner.attackController.targetTypes[i]];
|
|
|
- for (int j = 0; j < trigList.Count; j++)
|
|
|
+ for (int j = trigList.Count - 1; j >= 0; j--)
|
|
|
{
|
|
|
if (trigList[j] == null || !trigList[j].enabled || !trigList[j].gameObject.activeInHierarchy || trigList[j].owner.isDie)
|
|
|
{
|
|
|
@@ -72,7 +83,6 @@ public class SearchTrigger : MonoBehaviour
|
|
|
owner.targetCharacter = null;
|
|
|
}
|
|
|
trigList.RemoveAt(j);
|
|
|
- j--;
|
|
|
}
|
|
|
}
|
|
|
}
|