Пример #1
0
    private void OnTriggerExit(Collider other)
    {
        SnapPlug plug = other.gameObject.GetComponent <SnapPlug>();

        if (plug == null)
        {
            return;
        }

        nearPlug = null;
    }
Пример #2
0
    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;
    }
Пример #3
0
    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();
        }
    }
Пример #4
0
 void Toggle(SnapSocket socket, SnapPlug plug)
 {
     // Debug.Log("Toggle");
     socket.ConnectedPlug = socket.ConnectedPlug == null ? plug : null;
 }
Пример #5
0
 public void UnsnapPlug()
 {
     ConnectedPlug.UnplugginAction();
     ConnectedPlug = null;
 }
Пример #6
0
 public void SnapPlug()
 {
     ConnectedPlug = nearPlug;
 }