Exemplo n.º 1
0
        public void ReleasePickup(OldModule first)
        {
            //GameObject newPickup = Instantiate (pickup);
            CtrlDrag script = pickup.GetComponent <CtrlDrag> ();

            pickup.transform.position         = parentObject.transform.TransformPoint(new Vector3(gridLocation [0], gridLocation [1], 0));
            pickup.transform.localEulerAngles = new Vector3(0, 0, parentObject.transform.eulerAngles.z + gridRotation * 90 - 90);
            pickup.SetActive(true);
            if (first == this)
            {
                script.PickUp();
            }
            else
            {
                float force = Mathf.Sqrt(Vector2.SqrMagnitude((gridLocation - first.gridLocation) * 20));
                float angle = Conversion.DegToRad(pickup.transform.localEulerAngles.z + 90);
                pickup.GetComponent <Rigidbody2D> ().AddForce(new Vector2(Mathf.Cos(angle), Mathf.Sin(angle) * -1) * force);
            }
        }