Exemplo n.º 1
0
    //=======================================================================
    // сохранить данные текущего юзера (перезапись/вставка в файл сохранений)
    public static bool SaveUserData(OneUserSaveData user)
    {
        if ((user == null) || string.IsNullOrEmpty(user.name))
        {
            return(false);
        }
        AllUsersSaveData saveData  = getAllUsersSaveData();
        bool             is_exists = false;

        if (saveData.arUsers.Length > 0)
        {
            //поиск юзера в массиве юзеров
            for (int i = 0; i < saveData.arUsers.Length; i++)
            {
                if (user.name == saveData.arUsers[i].name)
                {
                    saveData.arUsers[i] = user;
                    is_exists           = true;
                }
            }
        }
        if (!is_exists)
        {
            //добавление юзера, если такого нету
            List <OneUserSaveData> aUsers = new List <OneUserSaveData>(saveData.arUsers);
            aUsers.Add(user);
            saveData.arUsers = aUsers.ToArray();
        }
        saveData.curUserName = user.name;
        File.WriteAllText(PathUtil.GetDocumentFilePath(GameConstants.PATH_TO_USERS_SAVEDATA), JsonUtility.ToJson(saveData));
        return(true);
    }
 // инициализация (перед началом уровня)
 public void Init()
 {
     user = myUtils.GetCurUserSaveData();
     if (user.level <= 0)
     {
         user.level = 1;
         myUtils.SaveUserData(user);
     }
     scoreLevel       = 0;
     cur_scoreLevel   = 0;
     scoreLevel_delta = 0;
     next_change_time = 0f;
 }
Exemplo n.º 3
0
    //********************************************************
    //создание юзера
    public void User_Create()
    {
        string err_msg    = "";
        string input_name = GetInputName();

        Debug.Log("имя: " + input_name);
        //проверки существования имени,
        if (input_name.Length < 3)
        {
            err_msg = "Слишком короткое имя. Имя должно содержать 3+ знаков.";
        }
        else
        {
            if (arUsers.Count > 0)
            {
                //а также совпадения с уже имеющимися
                for (int i = 0; i < arUsers.Count; i++)
                //foreach (OneUserSaveData user in arUsers)
                {
                    if (arUsers[i].name.Equals(input_name))
                    {
                        err_msg = "Такое имя уже есть в списке юзеров.";
                        break;
                    }
                }
            }
        }


        if (err_msg.Length > 0)
        {
            //если есть, показ сообщения и продолжение
            MessageBox.ShowMessage(() =>
            {
                Debug.Log("mb Create click");
            }, err_msg);
        }
        else
        {
            //если нет, создание юзера и сохранение его в файл и сообщение об этом
            var newUser = new OneUserSaveData();
            newUser.name  = input_name;
            newUser.id    = 0;
            newUser.score = 0;
            newUser.level = 0;
            arUsers.Add(newUser);
            allUsers.curUserName = newUser.name;
            Save_AllUsersData();
            Reload_AllUsersData();
        }
    }