private void createRememberedButton(RememberMeAccountData accountData)
        {
            GameObject gameObject = Object.Instantiate(buttonPrefab, RememberedAccountsParent, worldPositionStays: false);
            LoginRememberMeListButton component = gameObject.GetComponent <LoginRememberMeListButton>();

            component.OnToggleInteraction += onToggleInteraction;
            component.OnRemoveAccount     += onRemoveAccount;
            rememberedButtons.Add(component);
            component.LoadData(accountData);
        }
        private void displayRememberedAccounts()
        {
            RememberMeService rememberMeService = Service.Get <RememberMeService>();
            List <string>     usernames         = rememberMeService.Usernames;
            int count = usernames.Count;
            List <RememberMeAccountData> list = new List <RememberMeAccountData>();

            for (int i = 0; i < count; i++)
            {
                RememberMeAccountData item = rememberMeService.LoadAccountData(usernames[i]);
                list.Add(item);
            }
            list.Sort((RememberMeAccountData x, RememberMeAccountData y) => string.Compare(x.DisplayName, y.DisplayName));
            for (int i = 0; i < count; i++)
            {
                createRememberedButton(list[i]);
            }
        }
        public void LoadData(RememberMeAccountData accountData)
        {
            this.accountData = accountData;
            DisplayName.text = accountData.DisplayName;
            if (AvatarIcon != null)
            {
                AvatarIcon.RenderAvatar(accountData.Outfit, accountData.BodyColor);
            }
            if (MembershipSelector != null)
            {
                int index = 0;
                switch (accountData.MembershipType)
                {
                case MembershipType.Member:
                    index = 1;
                    break;

                case MembershipType.None:
                case MembershipType.AllAccessEventMember:
                {
                    AllAccessService allAccessService = Service.Get <AllAccessService>();
                    if (allAccessService.IsAllAccessActive() && AllAccessHelper.HasSeenAllAccessFlow(allAccessService.GetAllAccessEventKey(), accountData.DisplayName))
                    {
                        index = 2;
                    }
                    break;
                }
                }
                MembershipSelector.SelectSprite(index);
            }
            if (accountData.Banned.HasValue)
            {
                if (!accountData.Banned.Value.ExpirationDate.HasValue)
                {
                    displayBannedState();
                }
                else if ((accountData.Banned.Value.ExpirationDate - DateTime.Now).Value.TotalHours >= 0.0)
                {
                    displayBannedState();
                }
            }
        }
Example #4
0
        public RememberMeAccountData LoadAccountData(string username)
        {
            CacheableType <string> accountDataCache      = getAccountDataCache(username);
            RememberMeAccountData  rememberMeAccountData = null;

            try
            {
                rememberMeAccountData = Service.Get <JsonService>().Deserialize <RememberMeAccountData>(accountDataCache.GetValue());
            }
            catch
            {
            }
            if (rememberMeAccountData == null)
            {
                rememberMeAccountData = new RememberMeAccountData();
            }
            rememberMeAccountData.StoredData         = accountDataCache;
            rememberMeAccountData.Username           = username;
            rememberMeAccountData.KeychainCredential = getCredentialDataCache(username);
            return(rememberMeAccountData);
        }
Example #5
0
 private void onAccountDataUpdated(RememberMeAccountData accountData)
 {
     SaveAccountData(accountData);
 }
Example #6
0
        public void SaveAccountData(RememberMeAccountData accountData)
        {
            string value = Service.Get <JsonService>().Serialize(accountData);

            accountData.StoredData.SetValue(value);
        }