namespace Crosstales.RTVoice.Util
{
/// Configuration for the asset.
public static class Config
{
#region Variables
/// Path to the asset inside the Unity project.
public static string ASSET_PATH = "/Plugins/crosstales/RTVoice/";
/// Enable or disable debug logging for the asset.
public static bool DEBUG = Constants.DEFAULT_DEBUG || Constants.DEV_DEBUG;
/// Automatically delete the generated audio files.
public static bool AUDIOFILE_AUTOMATIC_DELETE = Constants.DEFAULT_AUDIOFILE_AUTOMATIC_DELETE;
/*
/// Enforce 32bit versions of voices under Windows.
public static bool ENFORCE_32BIT_WINDOWS = Constants.DEFAULT_ENFORCE_32BIT_WINDOWS;
*/
/// Enforce standalone TTS (for development).
public static bool ENFORCE_STANDALONE_TTS = Constants.DEFAULT_ENFORCE_STANDALONE_TTS;
// Technical settings
/*
/// Location of the TTS-wrapper under Windows (standalone).
public static string TTS_WINDOWS_BUILD = Constants.DEFAULT_TTS_WINDOWS_BUILD;
*/
/// Location of the TTS-system under MacOS.
public static string TTS_MACOS = Constants.DEFAULT_TTS_MACOS;
/// Is the configuration loaded?
public static bool isLoaded;
private static string audiofilePath = Constants.DEFAULT_AUDIOFILE_PATH;
#endregion
#region Properties
/// Path to the generated audio files.
public static string AUDIOFILE_PATH
{
get => audiofilePath;
set => audiofilePath = Helper.ValidatePath(value);
}
/*
/// Location of the TTS-wrapper under Windows (Editor).
public static string TTS_WINDOWS_EDITOR
{
get { return ASSET_PATH + Constants.TTS_WINDOWS_SUBPATH; }
}
/// Location of the TTS-wrapper (32bit) under Windows (Editor).
public static string TTS_WINDOWS_EDITOR_x86
{
get { return ASSET_PATH + Constants.TTS_WINDOWS_x86_SUBPATH; }
}
*/
#endregion
#if UNITY_EDITOR
#region Public static methods
/// Resets all changeable variables to their default value.
public static void Reset()
{
if (!Constants.DEV_DEBUG)
DEBUG = Constants.DEFAULT_DEBUG;
AUDIOFILE_PATH = Constants.DEFAULT_AUDIOFILE_PATH;
AUDIOFILE_AUTOMATIC_DELETE = Constants.DEFAULT_AUDIOFILE_AUTOMATIC_DELETE;
//ENFORCE_32BIT_WINDOWS = Constants.DEFAULT_ENFORCE_32BIT_WINDOWS;
ENFORCE_STANDALONE_TTS = Constants.DEFAULT_ENFORCE_STANDALONE_TTS;
//TTS_WINDOWS_BUILD = Constants.DEFAULT_TTS_WINDOWS_BUILD;
TTS_MACOS = Constants.DEFAULT_TTS_MACOS;
}
/// Loads all changeable variables.
public static void Load()
{
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_ASSET_PATH))
ASSET_PATH = Common.Util.CTPlayerPrefs.GetString(Constants.KEY_ASSET_PATH);
if (!Constants.DEV_DEBUG)
{
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_DEBUG))
DEBUG = Common.Util.CTPlayerPrefs.GetBool(Constants.KEY_DEBUG);
}
else
{
DEBUG = Constants.DEV_DEBUG;
}
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_AUDIOFILE_PATH))
AUDIOFILE_PATH = Common.Util.CTPlayerPrefs.GetString(Constants.KEY_AUDIOFILE_PATH);
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_AUDIOFILE_AUTOMATIC_DELETE))
AUDIOFILE_AUTOMATIC_DELETE = Common.Util.CTPlayerPrefs.GetBool(Constants.KEY_AUDIOFILE_AUTOMATIC_DELETE);
/*
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_ENFORCE_32BIT_WINDOWS))
ENFORCE_32BIT_WINDOWS = Common.Util.CTPlayerPrefs.GetBool(Constants.KEY_ENFORCE_32BIT_WINDOWS);
*/
if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_ENFORCE_STANDALONE_TTS))
ENFORCE_STANDALONE_TTS = Common.Util.CTPlayerPrefs.GetBool(Constants.KEY_ENFORCE_STANDALONE_TTS);
//if (Common.Util.CTPlayerPrefs.HasKey(Constants.KEY_TTS_MACOS))
// TTS_MACOS = Common.Util.CTPlayerPrefs.GetString(Constants.KEY_TTS_MACOS);
isLoaded = true;
}
/// Saves all changeable variables.
public static void Save()
{
if (!Constants.DEV_DEBUG)
Common.Util.CTPlayerPrefs.SetBool(Constants.KEY_DEBUG, DEBUG);
Common.Util.CTPlayerPrefs.SetString(Constants.KEY_AUDIOFILE_PATH, AUDIOFILE_PATH);
Common.Util.CTPlayerPrefs.SetBool(Constants.KEY_AUDIOFILE_AUTOMATIC_DELETE, AUDIOFILE_AUTOMATIC_DELETE);
//Common.Util.CTPlayerPrefs.SetBool(Constants.KEY_ENFORCE_32BIT_WINDOWS, ENFORCE_32BIT_WINDOWS);
Common.Util.CTPlayerPrefs.SetBool(Constants.KEY_ENFORCE_STANDALONE_TTS, ENFORCE_STANDALONE_TTS);
//Common.Util.CTPlayerPrefs.SetString(Constants.KEY_TTS_MACOS, TTS_MACOS);
Common.Util.CTPlayerPrefs.Save();
}
#endregion
#endif
}
}
// © 2017-2020 crosstales LLC (https://www.crosstales.com)