Example #1
0
    private void ViveBridge_TriggerUnclicked(object sender, ClickedEventArgs e)
    {
        switch (ViveBridge.InteractionMode)
        {
        case InteractionMode.ScalePrefabs:
        case InteractionMode.Manipulation:
            if (isLocalPlayer)
            {
                ReleaseObject();
                DisplayBox(ViveBridge.CollidedName, false);
            }
            else
            {
                RpcReleaseObject();
            }
            break;

        case InteractionMode.SpawnPrimitives:
            Vector3 primitivePosition = CalculatePrimitivePosition(ViveManipulator.MinimumPrimitiveDistance, transform.position, transform.forward);
            primitivePosition.y -= ViveManipulator.PrimitiveScale;

            if (isLocalPlayer)
            {
                if (ViveBridge.IndicatorCount == 8)
                {
                    return;
                }
                var primitive = SpawnFactory.Spawn("Prefabs/Scene1/SphereMarker", primitivePosition, transform.rotation, Vector3.zero);
                primitiveManager.RegisterPrimitive(primitive);
                RpcRegisterPosition(primitivePosition);
                RpcIncreasePointsText();
            }
            else
            {
                RpcRegisterPosition(primitivePosition);
            }
            break;

        case InteractionMode.SpawnObjects:
            if (isLocalPlayer)
            {
                PlaceObject();
            }
            break;
        }
    }