Пример #1
0
        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);
        }
Пример #2
0
        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);
        }