示例#1
0
    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);
                }
            }
        }
    }
示例#2
0
 private void OnCollisionEnter2D(Collision2D other)
 {
     OnCollideEnter?.Invoke(other.gameObject);
 }