using System;
using UnityEngine;

namespace mgaia.Utils.Persistence
{
	/// <summary>
	/// Interface de post processor utilizada para processar valores que entram e saem de uma interface de arquivo de persistência
	/// </summary>
	/// <owner>Victor</owner>
	public interface IPersistenceManagerPostProcessor
	{
		/// <summary>
		/// Processa um valor que está saindo de uma interface de arquivo de persistência
		/// </summary>
		object ProcessFromInterface(string key, object defaultValue, Type typeOfValue, IPersistenceFileInterface persistenceFileInterface);

		/// <summary>
		/// Processa um valor para salvá-lo em uma interface de arquivo de persistência
		/// </summary>
		void SaveToInterface(string key, object value, Type typeOfValue, IPersistenceFileInterface persistenceFileInterface);
	}
}