protected override void OnUpdate() { if (IsPressDown() && joint == null) { if (lastCollider == null) { return; } Rigidbody targetRig = lastCollider.gameObject.GetComponent <Rigidbody>(); if (targetRig != null) { MonsterController monsterController = lastCollider.transform.GetComponentInParent <MonsterController>(); if (monsterController != null) { joint = gameObject.AddComponent <FixedJoint>(); joint.connectedBody = targetRig; monsterController.Grab(Vector3.zero); } } } else if (joint != null && IsPressUP()) { MonsterController monsterController = joint.transform.root.GetComponent <MonsterController>(); DestroyImmediate(joint); if (monsterController != null) { monsterController.Drop(); } joint = null; } }