47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using UnityEngine.Localization.Tables;
|
|
|
|
namespace UnityEditor.Localization.UI
|
|
{
|
|
class SerializedTableReference
|
|
{
|
|
TableReference m_Reference;
|
|
|
|
public SerializedProperty Property { get; }
|
|
|
|
public SerializedProperty TableNameProperty { get; }
|
|
|
|
public bool HasMultipleDifferentValues => TableNameProperty.hasMultipleDifferentValues;
|
|
|
|
public TableReference Reference
|
|
{
|
|
get => m_Reference;
|
|
set
|
|
{
|
|
m_Reference = value;
|
|
TableNameProperty.stringValue = m_Reference.GetSerializedString();
|
|
}
|
|
}
|
|
|
|
public void SetReference(LocalizationTableCollection collection)
|
|
{
|
|
if (collection == null)
|
|
Reference = null;
|
|
else if (LocalizationEditorSettings.TableReferenceMethod == TableReferenceMethod.Guid)
|
|
Reference = collection.TableCollectionNameReference;
|
|
else
|
|
Reference = collection.TableCollectionName;
|
|
}
|
|
|
|
public SerializedTableReference(SerializedProperty property)
|
|
{
|
|
Property = property;
|
|
TableNameProperty = property.FindPropertyRelative("m_TableCollectionName");
|
|
|
|
if (HasMultipleDifferentValues)
|
|
return;
|
|
|
|
Reference = TableReference.TableReferenceFromString(TableNameProperty.stringValue);
|
|
}
|
|
}
|
|
}
|