コード例 #1
0
 /// <summary>
 /// Provides a safe way to invoke the <see cref="ClaimCodenameReceived" /> event.
 /// </summary>
 /// <param name="value"></param>
 public void RaiseClaimCodenameReceived(ClaimCodenameResponse value) => ClaimCodenameReceived?.Invoke(this, value);
コード例 #2
0
        private void wizardPage6_Initialize(object sender, WizardPageInitEventArgs e)
        {
            string nickname           = txtNick.Text;
            ClaimCodenameResponse res = null;

            bool   markTutorialComplete = false;
            string errorText            = null;
            string warningText          = null;
            string infoText             = null;

            Task.Run(() =>
            {
                if (!tutState.Contains(TutorialState.NameSelection))
                {
                    res = session.Client.Misc.ClaimCodename(nickname).Result;

                    switch (res.Status)
                    {
                    case ClaimCodenameResponse.Types.Status.Unset:
                        errorText = "Unset, somehow";
                        break;

                    case ClaimCodenameResponse.Types.Status.Success:
                        infoText             = $"Your name is now: {res.Codename}";
                        markTutorialComplete = true;
                        break;

                    case ClaimCodenameResponse.Types.Status.CodenameNotAvailable:
                        errorText = $"That nickname ({nickname}) isn't available, pick another one!";
                        break;

                    case ClaimCodenameResponse.Types.Status.CodenameNotValid:
                        errorText = $"That nickname ({nickname}) isn't valid, pick another one!";
                        break;

                    case ClaimCodenameResponse.Types.Status.CurrentOwner:
                        warningText          = $"You already own that nickname!";
                        markTutorialComplete = true;
                        break;

                    case ClaimCodenameResponse.Types.Status.CodenameChangeNotAllowed:
                        warningText          = "You can't change your nickname anymore!";
                        markTutorialComplete = true;
                        break;

                    default:
                        errorText = "Unknown Niantic error while changing nickname.";
                        break;
                    }
                    if (!string.IsNullOrEmpty(infoText))
                    {
                        session.EventDispatcher.Send(new NoticeEvent()
                        {
                            Message = infoText
                        });
                    }
                    else if (!string.IsNullOrEmpty(warningText))
                    {
                        session.EventDispatcher.Send(new WarnEvent()
                        {
                            Message = warningText
                        });
                    }
                    else if (!string.IsNullOrEmpty(errorText))
                    {
                        session.EventDispatcher.Send(new ErrorEvent()
                        {
                            Message = errorText
                        });
                    }

                    if (markTutorialComplete)
                    {
                        encounterTutorialCompleteResponse = session.Client.Misc.MarkTutorialComplete(new RepeatedField <TutorialState>()
                        {
                            TutorialState.NameSelection
                        }).Result;

                        if (encounterTutorialCompleteResponse.Result == EncounterTutorialCompleteResponse.Types.Result.Success)
                        {
                            if (!tutState.Contains(TutorialState.FirstTimeExperienceComplete))
                            {
                                encounterTutorialCompleteResponse = session.Client.Misc.MarkTutorialComplete(new RepeatedField <TutorialState>()
                                {
                                    TutorialState.FirstTimeExperienceComplete
                                }).Result;

                                if (encounterTutorialCompleteResponse.Result == EncounterTutorialCompleteResponse.Types.Result.Success)
                                {
                                    session.EventDispatcher.Send(new NoticeEvent()
                                    {
                                        Message = "First time experience complete, looks like i just spinned an virtual pokestop :P"
                                    });

                                    this.Invoke(new Action(() =>
                                    {
                                        this.DialogResult = DialogResult.OK;
                                        this.Close();
                                    }));

                                    return;
                                }
                            }
                        }
                    }

                    this.Invoke(new Action(() =>
                    {
                        lblNameError.Text    = errorText;
                        lblNameError.Visible = true;
                        wizardControl1.PreviousPage();
                    }));
                }
            });
        }
コード例 #3
0
 private void ClaimCodenameReceived(object sender, ClaimCodenameResponse e)
 {
     throw new System.NotImplementedException();
 }