public void Add(HeroSaveDataFormat heroSaveData, bool write = true) { if (!UserSaveDataManager.Instance.DataExist) { UserSaveDataManager.Instance.InitUserData(true); } UserSaveDataManager.Instance.UserData.HeroSaveDataList.Add(heroSaveData.CloneEx()); if (write) { UserSaveDataManager.Instance.WriteToPlayerPrefs(); } this.HeroSaveDataListChangedEvent.Invoke(UserSaveDataManager.Instance.UserData.HeroSaveDataList); }
public bool Overwrite(HeroSaveDataFormat heroSaveData, bool write = true) { if (!UserSaveDataManager.Instance.DataExist) { return(false); } if (UserSaveDataManager.Instance.UserData.HeroSaveDataList == null || UserSaveDataManager.Instance.UserData.HeroSaveDataList.Count == 0) { return(false); } int _targetIndex = UserSaveDataManager.Instance.UserData.HeroSaveDataList.FindIndex(item => { if (item.SlotID == heroSaveData.SlotID) { return(true); } return(false); }); if (_targetIndex == -1) { Debug.LogErrorFormat("slotID : {0} is not exsit!", heroSaveData.SlotID); return(false); } UserSaveDataManager.Instance.UserData.HeroSaveDataList [_targetIndex] = heroSaveData.CloneEx(); if (write) { UserSaveDataManager.Instance.WriteToPlayerPrefs(); } this.HeroSaveDataListChangedEvent.Invoke(UserSaveDataManager.Instance.UserData.HeroSaveDataList); return(true); }