docs.unity3d.com
    Show / Hide Table of Contents

    Class KeyIdColumns

    Represents 3 possible columns in CSV data:

    1. Key. The unique name of the entry. This value is always included when exporting.
    2. Id. The Id value for the entry. This field is optional however strongly recomended if you expect to change the Key names.
    3. Shared Comments. Comment taken from SharedTableData for each entry. This field is optional.
    When importing from CSV all columns are treated as optional however there must be at least 1 Key or Id field. When adding new values to be imported from the CSV the Id field can be left blank or given the value 0, a new Id will be assigned during import.

    Inheritance
    Object
    CsvColumns
    KeyIdColumns
    Inherited Members
    CsvColumns.WriteEnd(StringTableCollection)
    Namespace: UnityEditor.Localization.Plugins.CSV.Columns
    Syntax
    [Serializable]
    public class KeyIdColumns : CsvColumns, IKeyColumn

    Properties

    IdFieldName

    The name of the Id field when exporting and importing. When importing this name will be checked against the headers to determine if an Id column is present in the CSV data.

    Declaration
    public string IdFieldName { get; set; }
    Property Value
    Type Description
    String

    IncludeId

    Should the Id field be included as a field when exporting? When importing IdFieldName will be used to determine if the field is present.

    Declaration
    public bool IncludeId { get; set; }
    Property Value
    Type Description
    Boolean

    IncludeSharedComments

    Should the shared Comment be included as a field when exporting? When importing SharedCommentFieldName will be used to determine if the field is present.

    Declaration
    public bool IncludeSharedComments { get; set; }
    Property Value
    Type Description
    Boolean

    KeyFieldName

    The name of the Key field when exporting and importing. When importing this name will be checked against the headers to determine if a Key column is present in the CSV data.

    Declaration
    public string KeyFieldName { get; set; }
    Property Value
    Type Description
    String

    SharedCommentFieldName

    The name of the Shared Comments field when importing and exporting. When importing this name will be checked against the headers to determine if a Shared Comment column is present in the CSV data.

    Declaration
    public string SharedCommentFieldName { get; set; }
    Property Value
    Type Description
    String

    Methods

    ReadBegin(StringTableCollection, CsvReader)

    Called when reading a CSV file column header row. This call should be used to determine which column indexes to use during ReadRow(SharedTableData.SharedTableEntry, CsvReader). Use reader.GetFieldIndex("Column Header", isTryGet: true) to check for a column with a matching name.

    Declaration
    public override void ReadBegin(StringTableCollection collection, CsvReader csvReader)
    Parameters
    Type Name Description
    StringTableCollection collection

    The target collection the CSV file is being imported into.

    CsvReader csvReader

    Provides acces to the CSV file.

    Overrides
    CsvColumns.ReadBegin(StringTableCollection, CsvReader)

    ReadEnd(StringTableCollection)

    Called when the CSV file has been imported. This can be used to perform any required cleanup.

    Declaration
    public override void ReadEnd(StringTableCollection collection)
    Parameters
    Type Name Description
    StringTableCollection collection

    The target collection the CSV file was imported into.

    Overrides
    CsvColumns.ReadEnd(StringTableCollection)

    ReadKey(CsvReader)

    Returns the entry that should be mapped for the current row or null if one can not be found.

    Declaration
    public SharedTableData.SharedTableEntry ReadKey(CsvReader reader)
    Parameters
    Type Name Description
    CsvReader reader

    Provides read access to the CSV file.

    Returns
    Type Description
    SharedTableData.SharedTableEntry

    The mapped entry or null if one could not be found.

    Implements
    IKeyColumn.ReadKey(CsvReader)

    ReadRow(SharedTableData.SharedTableEntry, CsvReader)

    Called when reading each row of the CSV file. Unity recommends to store the indexes of the rows you are interested in during ReadBegin(StringTableCollection, CsvReader) and then use them to access the row using reader.GetField.

    Declaration
    public override void ReadRow(SharedTableData.SharedTableEntry keyEntry, CsvReader reader)
    Parameters
    Type Name Description
    SharedTableData.SharedTableEntry keyEntry

    The current entry being read.

    CsvReader reader

    Provides read access to the CSV file.

    Overrides
    CsvColumns.ReadRow(SharedTableData.SharedTableEntry, CsvReader)

    WriteBegin(StringTableCollection, CsvWriter)

    Called when writing the header row of the CSV file. Each column that will be written to during WriteRow(SharedTableData.SharedTableEntry, IList<StringTableEntry>, CsvWriter) should have its column header written here using writer.WriteField("Header Title").

    Declaration
    public override void WriteBegin(StringTableCollection collection, CsvWriter csvWriter)
    Parameters
    Type Name Description
    StringTableCollection collection

    The collection being exported.

    CsvWriter csvWriter

    Provides access to write to a CSV file.

    Overrides
    CsvColumns.WriteBegin(StringTableCollection, CsvWriter)

    WriteRow(SharedTableData.SharedTableEntry, IList<StringTableEntry>, CsvWriter)

    Called when writing each row of the CSV file. This is called in the same order as WriteBegin(StringTableCollection, CsvWriter) and expects each column that was written to be populated each time. If a column will not always contain a value, you can use writer.WriteField(string.Empty).

    Declaration
    public override void WriteRow(SharedTableData.SharedTableEntry keyEntry, IList<StringTableEntry> tableEntries, CsvWriter writer)
    Parameters
    Type Name Description
    SharedTableData.SharedTableEntry keyEntry

    The shared table data for the current entry that is being written to the row.

    IList<StringTableEntry> tableEntries

    The locale specific table entries for this row.

    CsvWriter writer

    Provides write acces to the CSV file.

    Overrides
    CsvColumns.WriteRow(SharedTableData.SharedTableEntry, IList<StringTableEntry>, CsvWriter)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023