Exemplo n.º 1
0
    void FixedUpdate()
    {
        WireGrabObject plug_a_wiregrab = plug_a.GetComponent <WireGrabObject>();
        WireGrabObject plug_b_wiregrab = plug_b.GetComponent <WireGrabObject>();

        if (plug_a_wiregrab.grabber != null)
        {
            plug_a.position = plug_a_wiregrab.grabber.position;
            plug_a.rotation = plug_a_wiregrab.grabber.rotation;
        }
        else if (plug_a_wiregrab.currently_plugged_in_to != null)
        {
            plug_a_wiregrab.currently_plugged_in_to.SetMyTransformTo(plug_a);
        }

        if (plug_b_wiregrab.grabber != null)
        {
            plug_b.position = plug_b_wiregrab.grabber.position;
            plug_b.rotation = plug_b_wiregrab.grabber.rotation;
        }
        else if (plug_b_wiregrab.currently_plugged_in_to != null)
        {
            plug_b_wiregrab.currently_plugged_in_to.SetMyTransformTo(plug_b);
        }

        if (plug_a_wiregrab.grabber != null)
        {
            if (plug_b_wiregrab.grabber != null)
            {
                if (Vector3.Distance(plug_a.position, plug_b.position) > length_actual)
                {
                    plug_a.position = ((plug_a.position + plug_b.position) * 0.5f) + ((plug_a.position - plug_b.position).normalized * (length_actual * 0.5f));
                    plug_b.position = ((plug_b.position + plug_a.position) * 0.5f) + ((plug_b.position - plug_a.position).normalized * (length_actual * 0.5f));
                }
            }
            else
            {
                if (plug_b_wiregrab.currently_plugged_in_to != null)
                {
                    if (Vector3.Distance(plug_a.position, plug_b.position) > length_actual)
                    {
                        plug_a.position = ((plug_a.position - plug_b.position).normalized * length_actual) + plug_b.position;
                    }
                }
            }
        }
        else if (plug_b.GetComponent <WireGrabObject>().grabber != null)
        {
            if (plug_a_wiregrab.currently_plugged_in_to != null)
            {
                if (Vector3.Distance(plug_a.position, plug_b.position) > length_actual)
                {
                    plug_b.position = ((plug_b.position - plug_a.position).normalized * length_actual) + plug_a.position;
                }
            }
        }
    }
Exemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     currently_plugged_in = null;
     foreach (Transform child in transform)
     {
         if (child.name == "Flashy")
         {
             flashy = child.gameObject;
             break;
         }
     }
 }
Exemplo n.º 3
0
 public void unplug()
 {
     currently_plugged_in = null;
 }
Exemplo n.º 4
0
 public void plugin(WireGrabObject w)
 {
     currently_plugged_in = w;
     SetMyTransformTo(currently_plugged_in.transform);
     currently_plugged_in.GetComponent <Rigidbody>().isKinematic = true;
 }