Exemplo n.º 1
0
        public Task <ImageSource> PickImageAsync()
        {
            _pickAsyncResult = null;
            var viewController = GetTheMostPresentedViewController();

            var cameraViewController = new CameraViewController(
                croppingEnabled: true,
                allowResizing: true,
                allowMoving: true,
                allowsLibrarySave: false,
                allowsLibraryAccess: true,
                allowsSwapCameraOrientation: true,
                allowVolumeButtonCapture: true,
                completion: (image, asset) =>
            {
                if (image != null)
                {
                    _pickAsyncResult = ImageSource.FromStream(() => image.AsPNG().AsStream());
                }

                viewController.DismissViewController(true, null);
                _waitHandle.Set();
            });

            viewController.PresentViewController(cameraViewController, true, null);

            return(Task.Run(() =>
            {
                _waitHandle.WaitOne();
                var result = _pickAsyncResult;
                _pickAsyncResult = null;

                return result;
            }));
        }
Exemplo n.º 2
0
    //Called by user main
    public void Setup()
    {
        inputControl = userMain.GetInputControl();

        thirdPersonCameraViewController = new ThirdPersonCameraView();
        thirdPersonCameraViewController.Setup(this, thirdPersonCamTransform);
        thirdPersonCameraViewController.SetupThirdPersonTransforms(thirdPersonPivotTransform, thirdPersonSphereCastOriginTransform);

        fpsCameraViewController = new FPSCameraView();
        fpsCameraViewController.Setup(this, firstPersonCamTransform);

        fpsCameraViewController.SetTargetPositionAnchors(userBody.transform, editMain.lookTransform);

        isometricCameraViewController = new IsometricCameraView();
        isometricCameraViewController.Setup(this, isoCamTransform);

        actorDrivenCameraViewController = new ActorDrivenCameraView();
        GameObject actionDrivenCameraChild = new GameObject();

        actionDrivenCameraChild.transform.SetParent(gameObject.transform, false);
        actorDrivenCameraViewController.Setup(this, actionDrivenCameraChild.transform);

        cameraViewController = isometricCameraViewController;

        LoadCameraSettings();
    }
        public Task <ImageSource> PickImageAsync()
        {
            _pickAsyncResult = null;
            var viewController = GetTheMostPresentedViewController();

            var cameraViewController = new CameraViewController(true, true,
                                                                (image, asset) =>
            {
                if (image != null)
                {
                    _pickAsyncResult = ImageSource.FromStream(() => image.AsPNG().AsStream());
                }

                viewController.DismissViewController(true, null);
                _waitHandle.Set();
            });

            viewController.PresentViewController(cameraViewController, true, null);

            return(Task.Run(() =>
            {
                _waitHandle.WaitOne();
                var result = _pickAsyncResult;
                _pickAsyncResult = null;

                return result;
            }));
        }
Exemplo n.º 4
0
        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            var cameraViewController = new CameraViewController();

            PresentViewController(cameraViewController, true, null);
        }
Exemplo n.º 5
0
        partial void ChangeImageButton_TouchUpInside(UIButton sender)
        {
            var cameraViewController = new CameraViewController(true, true,
                                                                (image, asset) =>
            {
                if (image != null)
                {
                    ImageView.Image = image;
                }

                DismissViewController(true, null);
            });

            PresentViewController(cameraViewController, true, null);
        }
Exemplo n.º 6
0
        partial void ChangeImageButton_TouchUpInside(UIButton sender)
        {
            //var parameters = new CroppingParameters(true, true, true, new CoreGraphics.CGSize(width: 60, height: 60));
            var cameraViewController = new CameraViewController(
                croppingEnabled: true,
                allowResizing: true,
                allowMoving: true,
                allowsLibrarySave: false,
                allowsLibraryAccess: true,
                allowsSwapCameraOrientation: true,
                allowVolumeButtonCapture: true,
                completion: (image, asset) =>
            {
                if (image != null)
                {
                    ImageView.Image = image;
                }

                DismissViewController(true, null);
            });

            PresentViewController(cameraViewController, true, null);
        }
Exemplo n.º 7
0
 public CameraDelegate(CameraViewController cameraViewController)
 {
     CameraViewController = cameraViewController;
 }
Exemplo n.º 8
0
    public void SetCameraView(CameraView newView)
    {
        // Debug.Log("Setting camera view: " + cameraView + " -> " + newView);

        /*  Debug.Log("SETTING " + cameraView + " " + newView);
         * if (cameraView == newView)
         * {
         * return;
         * }
         * Debug.Log("continuing..."); */

        // Guard against switching to actor-driven camera when there is no camera actor.
        // Shouldn't happen, but just to be safe.

        if (newView == CameraView.ActorDriven && actorDrivenCameraViewController.GetCameraActor() == null)
        {
            Debug.LogWarning("Can't switch to actor-driven camera. No camera actor.");
            return;
        }

        CameraView           oldView       = cameraView;
        CameraViewController oldController = cameraViewController;

        cameraView = newView;

        gbStage.SetInitialCameraMode((GameBuilderStage.CameraMode)cameraView);

        // Log how long user spent in previous mode
        if (lastSwitchTime > 0f)
        {
            float secondsSpent = Time.realtimeSinceStartup - lastSwitchTime;
            long  msSpent      = (long)(Mathf.FloorToInt(secondsSpent * 1000f));
            if (msSpent > 100)
            {
                Util.Log($"Spent {msSpent}ms in {oldView.ToString()}");
            }
        }
        lastSwitchTime = Time.realtimeSinceStartup;

        switch (cameraView)
        {
        case CameraView.ThirdPerson:
            cameraViewController = thirdPersonCameraViewController;
            break;

        case CameraView.FirstPerson:
            cameraViewController = fpsCameraViewController;
            break;

        case CameraView.Isometric:
            cameraViewController = isometricCameraViewController;
            break;

        case CameraView.ActorDriven:
            cameraViewController = actorDrivenCameraViewController;
            break;

        default:
            throw new System.Exception($"Unsupported CameraView: {cameraView}");
        }
        cameraViewController.SetCamera();

        if ((cameraView == CameraView.FirstPerson || cameraView == CameraView.ThirdPerson) &&
            (oldView == CameraView.FirstPerson || oldView == CameraView.ThirdPerson) &&
            oldController != null)
        {
            cameraViewController.SetLookRotation(oldController.GetLookRotation());
        }


        if (cameraView == CameraView.Isometric)
        {
            distantAudioMixSnapshot.TransitionTo(.1f);
        }
        else
        {
            closeAudioMixSnapshot.TransitionTo(.1f);
        }
    }
Exemplo n.º 9
0
 public MyARSessionDelegate(CameraViewController controller)
 {
     this.cameraView = controller;
 }