Ejemplo n.º 1
0
 /// <summary>
 /// Notifies the host when the session in the silverlight is updated.
 /// </summary>
 public void OnViewerSessionUpdated(object sender, SessionUpdatedEvent @event)
 {
     if (ViewerSessionUpdated != null)
     {
         ViewerSessionUpdated(sender, new SessionUpdatedEventArgs { ExpiryTimeUtc = @event.ExpiryTimeUtc });
     }
 }
        private PokerService()
        {
            _socket = IO.Socket(FHConfig.GetInstance().GetHost());
            _socket.On("sessions", data =>
            {
                var session = JsonConvert.DeserializeObject <Session>((string)data);
                SessionEvent?.Invoke(this, new SessionEventArgs {
                    Session = session
                });
            });

            _socket.On("sessionUpdated", data =>
            {
                var user = JsonConvert.DeserializeObject <User>((string)data);
                SessionUpdatedEvent?.Invoke(this, new UserEventArgs {
                    User = user
                });
            });

            _socket.On("voteUpdated", data =>
            {
                var user = JsonConvert.DeserializeObject <User>((string)data);
                SessionVoteEvent?.Invoke(this, new UserEventArgs {
                    User = user
                });
            });

            _socket.On("finish", data =>
            {
                SessionFinishEvent?.Invoke(this, (string)data);
            });
        }
        private void OnSessionUpdated(object sender, SessionUpdatedEvent eventArgs)
        {
            float progress = eventArgs.Status.RecommendedForCreateProgress;

            this.enoughDataForSaving = progress >= 1.0;
            lock (this.progressLock)
            {
                if (this.currentDemoStep == DemoStep.SaveAnchor)
                {
                    this.RunOnUiThread(() =>
                    {
                        this.scanProgressText.Text = $"Scan progress is {Math.Min(1.0f, progress):0%}";
                    });

                    if (this.enoughDataForSaving && this.actionButton.Visibility != ViewStates.Visible)
                    {
                        // Enable the save button
                        this.RunOnUiThread(() =>
                        {
                            this.statusText.Text         = "Ready to save";
                            this.actionButton.Text       = "Save cloud anchor";
                            this.actionButton.Visibility = ViewStates.Visible;
                        });
                        this.currentDemoStep = DemoStep.SaveAnchor;
                    }
                }
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Notifies the host when the session in the silverlight is updated.
 /// </summary>
 public void OnViewerSessionUpdated(object sender, SessionUpdatedEvent @event)
 {
     if (ViewerSessionUpdated != null)
     {
         ViewerSessionUpdated(sender, new SessionUpdatedEventArgs {
             ExpiryTimeUtc = @event.ExpiryTimeUtc
         });
     }
 }
Ejemplo n.º 5
0
        private void OnSessionUpdated(object sender, SessionUpdatedEvent sessionUpdatedEvent)
        {
            float requiredForCreateProgress    = sessionUpdatedEvent.Status.ReadyForCreateProgress;
            float recommendedForCreateProgress = sessionUpdatedEvent.Status.RecommendedForCreateProgress;

            MainThread.BeginInvokeOnMainThread(() =>
            {
                requiredScanProgress.Progress    = (int)(100 * requiredForCreateProgress);
                recommendedScanProgress.Progress = (int)(100 * recommendedForCreateProgress);
                bool allowCreation         = CanCreateAnchor() && requiredForCreateProgress >= 1.0f;
                createAnchorButton.Enabled = allowCreation;
            });
        }