Пример #1
0
        private void PickupNormal()
        {
            // already held check
            if (CurrentObject.ActiveHand)
            {
                CurrentObject.ActiveHand.Drop();
            }

            if (!CurrentObject)
            {
                return;
            }
            // positoning
            CurrentObject.ApplyOffset(transform);
            //CurrentObject.transform.position = transform.position;

            // attach
            Rigidbody targetBody = CurrentObject.GetComponent <Rigidbody>();

            fixedJoint.connectedBody = targetBody;

            // set active hand
            CurrentObject.ActiveHand = this;
        }
Пример #2
0
        private void Pickup()
        {
            // Get nearest
            CurrentObject = getNearestInteractable();
            //null check
            if (!CurrentObject)
            {
                return;
            }

            //check for upgrade menu
            if (CurrentObject.gameObject.CompareTag("Turret"))
            {
                TurretBehaviour turret = CurrentObject.GetComponent <TurretBehaviour>();
                if (turret.UpgradeMenu.activeInHierarchy)
                {
                    turret.UpgradeMenu.SetActive(false);
                }
                else if (!turret.UpgradeMenu.activeInHierarchy)
                {
                    turret.UpgradeMenu.SetActive(true);
                }
                DropRotate();
                return;
            }

            OutlineObject.gameObject.SetActive(true);
            if (CurrentObject.gameObject.CompareTag("CanPickup"))
            {
                PickupNormal();
            }
            else if (CurrentObject.gameObject.CompareTag("CanRotate"))
            {
                Rotate();
            }
        }