так что в основном у меня есть следующая проблема:
Я создал структуру userdata:
[Serializable]
public struct UserData
{
public int UserID;
public string UserName;
public int UserScore;
public int UserAvatar;
}
, затем я создал список, где я могу хранить эти значения UserData, когда новый пользовательсозданный:
[Serializable]
class SaveData
{
public List<UserData> SaveData_User;
}
public class Data_Controller : MonoBehaviour
{
public List<UserData> userData = new List<UserData>();
}
В следующей функции я заполняю список SaveData_User:
public void SetNewUser(string name, int avatar)
{
//save it directly
UserData newUser = new UserData();
newUser.UserID = PlayerPrefs.GetInt("userID") + 1;
PlayerPrefs.SetInt("userID", PlayerPrefs.GetInt("userID") + 1);
newUser.UserName = name;
newUser.UserScore = 0;
newUser.UserAvatar = avatar;
userData.Add(newUser);
SaveUserDataValues();
}
Примечание: список SaveData_User является Serializable, потому что мне нужно сохранить пользователей для нескольких сеансов.Теперь пользователи могут быть удалены, и я хочу удалить их из списка SaveData_User путем сравнения с их идентификаторами в следующей функции:
public void DeleteUser(int compareID)
{
/*PROBLEM HERE!!
//Find index of id in the userData with the compareID (note compareID should be compared with the UserID element of UserData struct)
*/PROBLEM HERE!!
//Then remove at and save changes
//userData.RemoveAt("valueMIssed");
//SaveUserDataValues();
}
кто-то знает, как сравнить значения и получить индекс индексаЗначение CompareID в моем списке SaveData_User для удаления этих UserData?
Примечание. Сохранение и загрузка userData в SaveData_User работает хорошо.
Большое спасибо!