public static void Serialize(Stream stream, AccountCompletionResultView instance) { int mask = 0; using (var bytes = new MemoryStream()) { if (instance.ItemsAttributed != null) { DictionaryProxy <int, int> .Serialize(bytes, instance.ItemsAttributed, Int32Proxy.Serialize, Int32Proxy.Serialize); } else { mask |= 1; } if (instance.NonDuplicateNames != null) { ListProxy <string> .Serialize(bytes, instance.NonDuplicateNames, StringProxy.Serialize); } else { mask |= 2; } Int32Proxy.Serialize(bytes, instance.Result); Int32Proxy.Serialize(stream, ~mask); bytes.WriteTo(stream); } }
// Token: 0x060010D5 RID: 4309 RVA: 0x00017DB0 File Offset: 0x00015FB0 public static void Serialize(Stream stream, AccountCompletionResultView instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { if (instance.ItemsAttributed != null) { DictionaryProxy <int, int> .Serialize(memoryStream, instance.ItemsAttributed, new DictionaryProxy <int, int> .Serializer <int>(Int32Proxy.Serialize), new DictionaryProxy <int, int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 1; } if (instance.NonDuplicateNames != null) { ListProxy <string> .Serialize(memoryStream, instance.NonDuplicateNames, new ListProxy <string> .Serializer <string>(StringProxy.Serialize)); } else { num |= 2; } Int32Proxy.Serialize(memoryStream, instance.Result); Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }
// Token: 0x060010D6 RID: 4310 RVA: 0x00017E68 File Offset: 0x00016068 public static AccountCompletionResultView Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); AccountCompletionResultView accountCompletionResultView = new AccountCompletionResultView(); if ((num & 1) != 0) { accountCompletionResultView.ItemsAttributed = DictionaryProxy <int, int> .Deserialize(bytes, new DictionaryProxy <int, int> .Deserializer <int>(Int32Proxy.Deserialize), new DictionaryProxy <int, int> .Deserializer <int>(Int32Proxy.Deserialize)); } if ((num & 2) != 0) { accountCompletionResultView.NonDuplicateNames = ListProxy <string> .Deserialize(bytes, new ListProxy <string> .Deserializer <string>(StringProxy.Deserialize)); } accountCompletionResultView.Result = Int32Proxy.Deserialize(bytes); return(accountCompletionResultView); }
public static AccountCompletionResultView Deserialize(Stream bytes) { int mask = Int32Proxy.Deserialize(bytes); var view = new AccountCompletionResultView(); if ((mask & 1) != 0) { view.ItemsAttributed = DictionaryProxy <int, int> .Deserialize(bytes, Int32Proxy.Deserialize, Int32Proxy.Deserialize); } if ((mask & 2) != 0) { view.NonDuplicateNames = ListProxy <string> .Deserialize(bytes, StringProxy.Deserialize); } view.Result = Int32Proxy.Deserialize(bytes); return(view); }
// Token: 0x06000CA8 RID: 3240 RVA: 0x00055ADC File Offset: 0x00053CDC private void CompleteAccountCallback(AccountCompletionResultView result, string name) { this._selectedIndex = -1; this._waitingForWsReturn = false; switch (result.Result) { case 1: { this.Hide(); List <IUnityItem> list = new List <IUnityItem>(); foreach (int itemId in result.ItemsAttributed.Keys) { list.Add(Singleton <ItemManager> .Instance.GetItemInShop(itemId)); } PlayerDataManager.Name = name; AutoMonoBehaviour <CommConnectionManager> .Instance.Client.Operations.SendAuthenticationRequest(PlayerDataManager.AuthToken, PlayerDataManager.MagicHash); base.StartCoroutine(this.StartPreparingNewPlayersLoadout(list)); break; } case 2: this.GetNonDuplicatedNamesCallback(result.NonDuplicateNames); break; case 3: this.Hide(); Singleton <SceneLoader> .Instance.LoadLevel("Menu", null); break; case 4: this._feedbackMessageColor = Color.red; this._errorMessage = LocalizedStrings.NameInvalidCharsMsg; break; case 5: this._feedbackMessageColor = Color.red; this._errorMessage = LocalizedStrings.YourAccountHasBeenBanned; break; } }
public override AccountCompletionResultView OnCompleteAccount(int cmid, string name, ChannelType channelType, string locale, string machineId) { var member = Context.Users.GetMember(cmid); if (member == null) { Log.Error("An unidentified CMID was passed."); return(null); } var itemsAttributed = new Dictionary <int, int>(); for (int i = 0; i < member.MemberItems.Count; i++) // The client seem to ignore the value of the dictionary. { itemsAttributed.Add(member.MemberItems[i], 0); } member.PublicProfile.Name = name; // Set email status to complete so we don't ask for the player name again. member.PublicProfile.EmailAddressStatus = EmailAddressStatus.Verified; // Save the profile since we modified it. Context.Users.Db.Profiles.Save(member.PublicProfile); /* * result: * 1 -> Success * 2 -> GetNonDuplicateNames? * 3 -> Load menu for show? * 4 -> Invalid characters in name * 5 -> Account banned */ var view = new AccountCompletionResultView( 1, itemsAttributed, null ); return(view); }