private void OnTriggerExit(Collider other) { SnapPlug plug = other.gameObject.GetComponent <SnapPlug>(); if (plug == null) { return; } nearPlug = null; }
private void ReleaseObject() { objectInHand.GetComponent <Rigidbody>().useGravity = true; if (GetComponent <FixedJoint>()) { GetComponent <FixedJoint>().connectedBody = null; Destroy(GetComponent <FixedJoint>()); SnapPlug plug = objectInHand.GetComponent <SnapPlug>(); SnapPhone phone = objectInHand.GetComponentInChildren <SnapPhone>(); if (plug != null) { if (plug.nearSocket != null) { if (plug.nearSocket.ConnectedPlug == null) { plug.nearSocket.nearPlug = plug; plug.nearSocket.SnapPlug(); } } } else if (phone != null) { if (phone.phoneBase != null) { phone.PlugginAction(); } } else { objectInHand.GetComponent <Rigidbody>().velocity = Controller.velocity; objectInHand.GetComponent <Rigidbody>().angularVelocity = Controller.angularVelocity; } } objectInHand = null; }
private void GrabObj() { objectInHand = collidingObject; collidingObject = null; var joint = AddFixedJoint(); Rigidbody body = objectInHand.GetComponent <Rigidbody>(); body.useGravity = false; joint.connectedBody = body; SnapPlug plug = objectInHand.GetComponent <SnapPlug>(); if (plug != null) { plug.UnplugginAction(); } SnapPhone phone = objectInHand.GetComponent <SnapPhone>(); if (phone != null) { phone.UnplugginAction(); } }
void Toggle(SnapSocket socket, SnapPlug plug) { // Debug.Log("Toggle"); socket.ConnectedPlug = socket.ConnectedPlug == null ? plug : null; }
public void UnsnapPlug() { ConnectedPlug.UnplugginAction(); ConnectedPlug = null; }
public void SnapPlug() { ConnectedPlug = nearPlug; }