Exemplo n.º 1
0
    private void UpdatePosition()
    {
        if (isBuilding)
        {
            bool canBuild;
            var  rayHit = handSelector.Raycast(groundMask, new Ray(handSelector.transform.position, handSelector.transform.forward));
            objInstance.transform.position = rayHit.point;
            var touchPosition = moveAction.GetAxis(selectedHand.handType);
            objInstance.transform.Rotate(0f, -touchPosition.x * rotationSpeed, 0f);
            if (Physics.CheckBox(buildingCollider.bounds.center, buildingCollider.bounds.size, Quaternion.identity, nonBuildableMask))
            {
                ChangeAllColors(Color.red);
                canBuild = false;
            }
            else
            {
                ChangeAllColors(Color.green);
                canBuild = true;
            }

            if (Valve.VR.SteamVR_Input.GetStateDown("Shoot", selectedHand.handType))
            {
                if (canBuild)
                {
                    if (objInstance.CallConstruct())
                    {
                        Destroy(gameObject);
                    }

                    Diselected();
                }
                else
                {
                    Diselected();
                }
            }
        }
    }