Example #1
0
    //=======================================================================
    public static AllUsersSaveData getAllUsersSaveData()
    {
        //adAllText(GameConstants.PATH_TO_USERS_SAVEDATA));
        //StreamReader strRead = new StreamReader( PathUtil.GetDocumentFilePath(GameConstants.PATH_TO_USERS_SAVEDATA) );
        //string json = strRead.ReadToEnd();
        //strRead.Close();
        //AllUsersSaveData saveData = JsonUtility.FromJson<AllUsersSaveData>(json);
        AllUsersSaveData saveData;

        string fname = PathUtil.GetDocumentFilePath(GameConstants.PATH_TO_USERS_SAVEDATA);
        string json  = "";

        if (File.Exists(fname))
        {
            json = File.ReadAllText(fname);
        }
        //GameObject.Find("txt_dbg").GetComponent<Text>().text = "json=" + json + json.Length.ToString();
        if (json.Length > 0)
        {
            saveData = JsonUtility.FromJson <AllUsersSaveData>(json);
        }
        else
        {
            saveData = new AllUsersSaveData();
        }
        return(saveData);
    }
Example #2
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);
    }
Example #3
0
    //=======================================================================
    //получить данные юзера по его имени (возвращает объект юзера или null)
    public static OneUserSaveData GetUserSaveData_byName(string user_name)
    {
        AllUsersSaveData saveData = getAllUsersSaveData();

        if ((saveData != null) && !string.IsNullOrEmpty(user_name))
        {
            foreach (OneUserSaveData user in saveData.arUsers)
            {
                if (user_name == user.name)
                {
                    return(user);
                }
            }
        }
        return(null);
    }
Example #4
0
    //=======================================================================
    //получить данные текущего юзера по его имени (возвращает объект юзера или null)
    public static OneUserSaveData GetCurUserSaveData()
    {
        AllUsersSaveData saveData = getAllUsersSaveData();

        if (saveData != null)
        {
            if (string.IsNullOrEmpty(saveData.curUserName))
            {
                return(null);
            }
            foreach (OneUserSaveData user in saveData.arUsers)
            {
                if (saveData.curUserName == user.name)
                {
                    return(user);
                }
            }
        }
        return(null);
    }
Example #5
0
    //********************************************************
    public void Reload_AllUsersData()
    {
        allUsers = myUtils.getAllUsersSaveData();
        arUsers  = new List <OneUserSaveData>(); // allUsers.arUsers
        if (allUsers.arUsers != null)
        {
            for (int i = 0; i < allUsers.arUsers.Length; i++)
            {
                arUsers.Add(allUsers.arUsers[i]);
            }
        }
        myUtils.console_log(arUsers);

        GameObject itemsArea = GameObject.FindGameObjectWithTag("users_list");

        if (itemsArea.GetComponentsInChildren <Button>().Length > 0)
        {
            Button[] btns = itemsArea.GetComponentsInChildren <Button>();
            foreach (Button b in btns)
            {
                //myUtils.console_log("free btn " + b.name);
                //Destroy(b.GetComponentInParent<GameObject>());
                b.onClick = null;
                Destroy(b.gameObject);
            }
        }

        foreach (OneUserSaveData user in arUsers)
        {
            //GameObject btn = new GameObject();
            GameObject btn = (GameObject)Instantiate(Resources.Load(GameConstants.PREFAB_BTN_USER_NAME));
            btn.transform.SetParent(itemsArea.transform);
            string name = user.name; // "Вася" + i.ToString();
            btn.name = name;
            btn.GetComponentInChildren <TMP_Text>().text = name;
            btn.GetComponent <Button>().onClick.AddListener(delegate { Select_User_inList(name); });
        }

        //Select_User_inList(GetInputName());
    }
Example #6
0
    //=======================================================================
    public static void saveAllUsersSaveData(AllUsersSaveData saveData)
    {
        string fname = PathUtil.GetDocumentFilePath(GameConstants.PATH_TO_USERS_SAVEDATA);

        File.WriteAllText(fname, JsonUtility.ToJson(saveData));
    }