public UnitDataInfo(string lines) { _listUnit = new List <UnitDataCSV>(); string[] linesInFile = lines.Split('\n'); for (int i = 1; i < linesInFile.Length; i++) { //Debug.Log(line); UnitDataCSV unit = ReadUnitData(linesInFile[i]); if (unit != null) { _listUnit.Add(unit); } } _listUnit.Sort((x1, x2) => x1.ID.CompareTo(x2.ID)); }
private UnitDataCSV ReadUnitData(string line) { if (string.IsNullOrEmpty(line)) { return(null); } string[] _arr = line.Split(','); if (_arr.Length < 14) { return(null); } UnitDataCSV unit = new UnitDataCSV(); try { unit.ID = int.Parse(_arr[0]); unit.Name = _arr[1]; unit.Code = _arr[2]; unit.LightAttack = float.Parse(_arr[3]); unit.HeavyAttack = float.Parse(_arr[4]); unit.AttackRange = float.Parse(_arr[5]); unit.AttackSpeed = float.Parse(_arr[6]); unit.MovementSpeed = float.Parse(_arr[7]); unit.HP = int.Parse(_arr[8]); unit.LightArmor = float.Parse(_arr[9]); unit.HeavyArmor = float.Parse(_arr[10]); unit.GoldCost = int.Parse(_arr[11]); unit.Scale = float.Parse(_arr[12]); unit.NumberUnit = int.Parse(_arr[13]); unit.GoldBonus = int.Parse(_arr[14]); unit.Cooldown = float.Parse(_arr[15]); } catch (Exception ex) { Debug.Log("Line not valid - " + ex.Message); return(null); } return(unit); }