using System; using System.Collections.Generic; using _Project.Develop.Runtime.Configs.Meta; using _Project.Develop.Runtime.Logic.Meta.Features.Wallet; using Assets._Project.Develop.Runtime.Utilities.ConfigsManagement; namespace Assets._Project.Develop.Runtime.Utilities.DataManagement.DataProviders { public class PlayerDataProvider : DataProvider { private readonly ConfigsProviderService _configsProviderService; public PlayerDataProvider( ISaveLoadService saveLoadService, ConfigsProviderService configsProviderService) : base(saveLoadService) { _configsProviderService = configsProviderService; } protected override PlayerData GetOriginData() { return new PlayerData() { WalletData = InitWalletData(), }; } private Dictionary InitWalletData() { Dictionary data = new(); StartWalletConfigSO config = _configsProviderService.GetConfig(); foreach (CurrencyTypes type in Enum.GetValues(typeof(CurrencyTypes))) data[type] = config.GetValueFor(type); return data; } } }