geometry-tower-defense-base/src-ref/DataTable/DRTagConfig.cs

41 lines
1.3 KiB
C#

using GeometryTD.CustomUtility;
using GeometryTD.Definition;
using UnityGameFramework.Runtime;
namespace GeometryTD.DataTable
{
public sealed class DRTagConfig : DataRowBase
{
private int m_Id;
public override int Id => m_Id;
public TagType TagType { get; private set; }
public TagTriggerPhase TriggerPhase { get; private set; }
public string Description { get; private set; }
public string ParamJson { get; private set; }
public override bool ParseDataRow(string dataRowString, object userData)
{
string[] columnStrings = dataRowString.Split(DataTableExtension.DataSplitSeparators);
for (int i = 0; i < columnStrings.Length; i++)
{
columnStrings[i] = columnStrings[i].Trim(DataTableExtension.DataTrimSeparators);
}
int index = 0;
index++;
m_Id = int.Parse(columnStrings[index++]);
index++;
TagType = EnumUtility<TagType>.Get(columnStrings[index++]);
TriggerPhase = EnumUtility<TagTriggerPhase>.Get(columnStrings[index++]);
Description = columnStrings[index++];
ParamJson = columnStrings[index++];
return true;
}
}
}