2025-05-01 01:48:08 -07:00

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);
}
}
}