#if ENABLE_PROPERTY_VARIANTS || PACKAGE_DOCS_GENERATION
namespace UnityEngine.Localization.PropertyVariants.TrackedProperties
{
///
/// Represents a property whose value can be converted from and to a string.
///
public interface IStringProperty : ITrackedProperty
{
///
/// Returns the value for the LocaleIdentifier as a string representation.
///
/// The LocaleIdentifier whose variant should be returned.
/// The variants value a string or if an override does not exist for the LocaleIdentifier.
string GetValueAsString(LocaleIdentifier localeIdentifier);
///
/// Returns the value for the LocaleIdentifier as a string representation, uses the fallback if a variant does not exist.
///
/// The LocaleIdentifier whose variant should be returned.
/// If no variant exists for the LocaleIdentifier then the fallback will be used.
/// The variant or fallback value a string or if an override could not be found.
string GetValueAsString(LocaleIdentifier localeIdentifier, LocaleIdentifier fallback);
///
/// Assigns a value for the chosen LocaleIdentifier.
///
/// The LocaleIdentifier the variant should be applied to.
/// The variant value for the LocaleIdentifier.
void SetValueFromString(LocaleIdentifier localeIdentifier, string value);
}
}
#endif