예제 #1
0
        public static ToolBagTestAccountMainData LoadAccountMainData()
        {
            string str = PlayerPrefs.GetString(CTestAccountMainKey);

            if (string.IsNullOrEmpty(str))
            {
                return(new ToolBagTestAccountMainData("TestAccount"));
            }

            ToolBagTestAccountSaveData saveData = JsonUtility.FromJson <ToolBagTestAccountSaveData>(str);

            ToolBagTestAccountMainData mainData = new ToolBagTestAccountMainData(saveData.accountName);

            string[] dataStrList = saveData.accountDataStr.Split(new char[] { '|' });

            for (int i = 0; i < dataStrList.Length; i++)
            {
                ToolBagTestAccountData data = JsonUtility.FromJson <ToolBagTestAccountData>(dataStrList[i]);
                if (data != null)
                {
                    mainData.accountDataList.Add(data);
                }
            }

            return(mainData);
        }
예제 #2
0
        /// <summary>
        /// 获取账号
        /// </summary>
        /// <param name="accountName"></param>
        /// <param name="accountData"></param>
        /// <returns></returns>
        public static string GetAccountStrByData(string accountName, ToolBagTestAccountData accountData)
        {
            if (accountData == null)
            {
                return("");
            }

            DateTime dateTime   = GetSystemTimeFromStamp(accountData.registTime);
            string   accountStr = accountName + "_" + dateTime.Month + "_" + dateTime.Day + "_" + accountData.index;

            ;
            return(accountStr);
        }
예제 #3
0
        /// <summary>
        /// 获取并复制最后使用账号
        /// </summary>
        public static void CopyLastLoginAccount()
        {
            ToolBagTestAccountMainData accountMainData = LoadAccountMainData();

            ToolBagTestAccountData accountData = GetLastLoginAccount(accountMainData);

            if (accountData != null)
            {
                accountData.lastLoginTime = GetCurrentTimeStamp();
                SaveAccountMainData(accountMainData);
            }

            CopyAccount(accountMainData.accountName, accountData);
        }
예제 #4
0
        /// <summary>
        /// 复制账号
        /// </summary>
        /// <param name="accountName"></param>
        /// <param name="accountData"></param>
        public static void CopyAccount(string accountName, ToolBagTestAccountData accountData)
        {
            if (accountData == null)
            {
                return;
            }

            string     accountStr = GetAccountStrByData(accountName, accountData);
            TextEditor t          = new TextEditor();

            t.text = accountStr;
            t.OnFocus();
            t.Copy();
            Debug.Log("已复制账号:" + accountStr);
        }
예제 #5
0
        /// <summary>
        /// 注册新账号
        /// </summary>
        public static void RegistNewAccount()
        {
            ToolBagTestAccountMainData accountmainData = LoadAccountMainData();

            ClearOldAccount(accountmainData);

            int currentStampTime = GetCurrentTimeStamp();

            ToolBagTestAccountData accountData = new ToolBagTestAccountData(GetNewAccountIndex(accountmainData), currentStampTime, currentStampTime);

            accountmainData.accountDataList.Add(accountData);

            SaveAccountMainData(accountmainData);

            CopyAccount(accountmainData.accountName, accountData);
        }
예제 #6
0
        /// <summary>
        /// 获取新账号index
        /// </summary>
        /// <param name="mainData"></param>
        /// <returns></returns>
        private static int GetNewAccountIndex(ToolBagTestAccountMainData mainData)
        {
            ToolBagTestAccountData lastAccount = GetLastLoginAccount(mainData);

            if (lastAccount == null)
            {
                return(1);
            }

            DateTime lastDateTime = GetSystemTimeFromStamp(lastAccount.registTime);

            if (lastDateTime.Year == DateTime.UtcNow.Year && lastDateTime.Month == DateTime.UtcNow.Month && lastDateTime.Day == DateTime.UtcNow.Day)
            {
                return(lastAccount.index + 1);
            }
            else
            {
                return(1);
            }
        }
예제 #7
0
        /// <summary>
        /// 获取最后使用账号
        /// </summary>
        /// <returns></returns>
        private static ToolBagTestAccountData GetLastLoginAccount(ToolBagTestAccountMainData accountMainData)
        {
            if (accountMainData == null)
            {
                return(null);
            }

            if (accountMainData.accountDataList == null || accountMainData.accountDataList.Count == 0)
            {
                return(null);
            }

            ToolBagTestAccountData accountData = accountMainData.accountDataList[0];

            accountMainData.accountDataList.ForEach(x =>
            {
                //不能改成大于 防止同一秒点击多次
                if (x.lastLoginTime >= accountData.lastLoginTime)
                {
                    accountData = x;
                }
            });
            return(accountData);
        }