private void CallCollisionEvents() { if (OnCollideStay != null || OnCollideEnter != null) { foreach (KeyValuePair <Collider2D, CollisionSide> entry in collidingObjects) { if (!collidingObjectsLastFrame.ContainsKey(entry.Key)) { OnCollideEnter?.Invoke(entry.Key, entry.Value); } OnCollideStay?.Invoke(entry.Key, entry.Value); } } if (OnCollideExit != null) { foreach (KeyValuePair <Collider2D, CollisionSide> entry in collidingObjectsLastFrame) { if (!collidingObjects.ContainsKey(entry.Key)) { Debug.Log("Exit"); OnCollideExit.Invoke(entry.Key, entry.Value); } } } }
private void OnCollisionEnter2D(Collision2D other) { OnCollideEnter?.Invoke(other.gameObject); }