public void Load(string filename)
        {
            string jsonData;
            string filePath = GetFilePath(filename);

            _ = Directory.CreateDirectory(GetFolderPath());

            using (StreamReader reader = new StreamReader(filePath))
                jsonData = reader.ReadToEnd();

            if (_encrypt)
            {
                jsonData = _encryptor.Decrypt(jsonData);
            }

            Dictionary <string, byte[]> gameData = _dataHandler.ConvertToObject <Dictionary <string, byte[]> >(jsonData);

            foreach (KeyValuePair <string, byte[]> data in gameData)
            {
                if (_gameData.ContainsKey(data.Key))
                {
                    _gameData[data.Key].LoadData(data.Value);
                }
                else
                {
                    Debug.LogError($"Unexpected data received from file. key '{data.Key}' was not found in the configured data layout.");
                }
            }
        }