Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ClassOne
- {
- /// <summary>
- ///
- /// Script which is called in start to check if we have nickname saved in player prefs
- /// if there is a name go and check all other data and if everythig is good switch it to GameScreen
- /// if there is no name then show add new user panel
- ///
- /// </summary>
- public static void CheckUser()
- {
- User user = new User();
- bool isNew = false;
- //Check if users nickname is in PlayerPrefs
- string userNickname = GetUserNickname();
- if (isNew)
- {
- ShowNewUserPanel();
- }
- else
- {
- if (CheckUserInfo(userNickname))
- {
- //Wellcome Screen
- }
- else
- {
- //Something is wrong
- ShowNewUserPanel();
- }
- }
- }
- public static bool CheckUserInfo(string userNickname)
- {
- bool isGood = false;
- //check all data related to that nickname
- // return true if everything is okej
- isGood = !IsNullOrEmpty(PlayerPrefs.GetString("user_username"))? true : false; // already done but ...
- isGood = !IsNullOrEmpty(PlayerPrefs.GetString("user_randpass")) ? true : false;
- return isGood;
- }
- public static string GetUserNickname()
- {
- return GetString("user_username");
- }
- public static void ShowNewUserPanel()
- {
- //Show add user panel
- }
- }
- class ScriptTwo
- {
- /// <summary>
- ///
- /// Add new user panel script!
- /// Show panel to insert Nickname
- /// Make random password
- /// Save it to player prefs
- ///
- /// </summary>
- public static void AddPlayer()
- {
- User user = new User();
- string nickname = ""; // get it from the panel
- string randompassword = CreatePassword();
- user.Nickname = nickname;
- user.Randpassword = randompassword;
- user = UserTools.AddNewUser(user);
- }
- public static string CreatePassword()
- {
- int length = 20;
- const string valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
- StringBuilder res = new StringBuilder();
- System.Random rnd = new System.Random();
- while (0 < length--)
- {
- res.Append(valid[rnd.Next(valid.Length)]);
- }
- return res.ToString();
- }
- }
- class GameManager
- {
- /// <summary>
- ///
- /// Game Manager
- /// This class is NeverDestroy Class
- /// Having public static user which we use everywhere and
- /// have Refresh function which refresing user after every action
- ///
- /// Script UserTools have all logic for user
- ///
- /// </summary>
- public static User user;
- public void UserInit()
- {
- user = CheckUserInit();
- }
- public void RefreshUser(User tempUser)
- {
- user.Update(tempUser);
- }
- public User GetStaticUser()
- {
- return user;
- }
- }
- class UserTools
- {
- /// <summary>
- ///
- /// User Tools
- /// All the logic for user in more details
- /// to be separated from script that have Update
- ///
- /// </summary>
- ///
- public User CheckUserInit()
- {
- User returnUser = new User();
- //Get user from PlayerPrefs
- string status = "User Init Status: ";
- string nickname = PlayerPrefs.GetString("user_username");
- string randpassword = PlayerPrefs.GetString("user_randompass");
- int level = PlayerPrefs.GetInt("user_level");
- int experience = PlayerPrefs.GetInt("user_experience");
- if (!IsNullOrEmpty(nickname) &&
- !IsNullOrEmpty(randpassword) &&
- !IsNullOrEmpty(level) &&
- !IsNullOrEmpty(experience))
- {
- status += "Successful!";
- }
- else
- {
- status += "Problem Getting Details -";
- status += !IsNullOrEmpty(nickname) ? "Username: Successful! , " : "Username: Failed! , ";
- status += !IsNullOrEmpty(randpassword) ? "Randompass: Successful! , " : "Randompass: Failed! , ";
- status += !IsNullOrEmpty(level) ? "Level: Successful! , " : "Level: Failed! , ";
- status += !IsNullOrEmpty(experience) ? "Experience: Successful! , " : "Experience: Failed!";
- }
- Debug.Log(status);
- returnUser.Nickname = nickname;
- returnUser.Randpassword = randpassword;
- returnUser.Level = level;
- returnUser.Experience = experience;
- return returnUser;
- }
- public User AddNewUser(User user)
- {
- user.Experience = 0;
- user.Level = 0;
- return user;
- }
- public void SaveUser(User user)
- {
- PlayerPrefs.SetString("user_username", user.Nickname);
- PlayerPrefs.SetString("user_randompass", user.Randpassword);
- PlayerPrefs.SetInt("user_level", user.Level);
- PlayerPrefs.SetInt("user_experience", user.Experience);
- Debug.Log("Player Saved!");
- }
- }
- class User
- {
- /// <summary>
- ///
- /// User model Class
- ///
- /// </summary>
- public string Nickname { get; set; }
- public string Randpassword { get; set; }
- public int Experience { get; set; }
- public int Level { get; set; }
- public User()
- {
- }
- public void Update(User user)
- {
- if (IsNullOrEmpty(user.Nicknamame)) { return; }
- // Add checking for every property
- this.Experience = user.Experience != 0 ? user.Experience : this.Experience;
- this.Level = user.Level != 0 ? user.Level : this.Level;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement