public JRigidbody GetRigidbody(Collider2D collider)
        {
            if (collider == null)
            {
                return(null);
            }

            JRigidbody rigidbody = null;

            _rigidbodies.TryGetValue(collider, out rigidbody);
            return(rigidbody);
        }
        public void RemoveRigidbody(JRigidbody rigidbody)
        {
            if (rigidbody == null)
            {
                return;
            }

            if (_rigidbodies == null || _rigidbodies.Count == 0)
            {
                return;
            }

            _rigidbodies.Remove(rigidbody.selfCollider);
        }
        public void PushRigidbody(JRigidbody rigidbody)
        {
            if (rigidbody == null)
            {
                return;
            }

            if (!_rigidbodies.ContainsKey(rigidbody.selfCollider))
            {
                _rigidbodies.Add(rigidbody.selfCollider, rigidbody);
            }
            else
            {
                throw new System.ArgumentException("The rigidbody has already existed", "rigidbody");
            }
        }