using System; using GeometryTD.Definition; using GeometryTD.CustomUtility; using UnityGameFramework.Runtime; namespace GeometryTD.DataTable { /// /// 关卡表 /// public class DRLevel : DataRowBase { private int m_Id = 0; /// /// 获取关卡编号 /// public override int Id => m_Id; /// /// 获取关卡所属主题类型 /// public LevelThemeType LevelThemeType { get; private set; } /// /// 获取关卡初始基地生命 /// public int BaseHp { get; private set; } /// /// 获取关卡初始硬币数量 /// public int StartCoin { get; private set; } /// /// 获取关卡胜利条件 /// public LevelVictoryType LevelVictoryType { get; private set; } /// /// 获取关卡胜利奖励金币 /// public int RewardGold { get; private set; } /// /// 获取关卡胜利条件参数 /// public string VictoryParams { 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++; LevelThemeType = EnumUtility.Get(columnStrings[index++]); BaseHp = int.Parse(columnStrings[index++]); StartCoin = int.Parse(columnStrings[index++]); LevelVictoryType = EnumUtility.Get(columnStrings[index++]); VictoryParams = columnStrings[index++]; RewardGold = int.Parse(columnStrings[index++]); return true; } } }