public int Fill(int categoryID, ARKDataSet.EngramsDataTable tbl) { if (selectCmd is null) { selectCmd = this._commandCollection[0].Clone(); string select = selectCmd.CommandText; string where = " WHERE (Engrams.CategoryID = {0})"; string orderBy = select.Contains("ORDER BY") ? select.Substring(select.IndexOf(" ORDER BY")) : string.Empty; select = select.Substring(0, select.Length - orderBy.Length); selectCmd.CommandText = select + where + orderBy; } selectCmd.CommandText = selectCmd.CommandText.Replace("= 0", categoryID.ToString()); this.Adapter.SelectCommand = selectCmd; return(this.Adapter.Fill(tbl)); }
public string GetGameiniText() { const string autoUnlockformat = "EngramEntryAutoUnlocks=(EngramClassName=\"{0}\",LevelToAutoUnlock={1})"; // {1} and {4} can be either "true" -or- "false" const string overrideFormat = "OverrideNamedEngramEntries=(EngramIndex={0},EngramHidden={1}," + "EngramPointsCost={2},EngramLevelRequirement={3},RemoveEngramPreReq={4})"; ARKDataSet.EngramsDataTable tbl = engramsTableAdapter.GetDataByEngramOverrides(); if (tbl is null) { return(string.Empty); } List <string> unlocks = new List <string>(); List <string> overrides = new List <string>(); foreach (ARKDataSet.EngramsRow row in tbl) { if (row.UseAutoUnlockLevel) { unlocks.Add(string.Format(autoUnlockformat, row.EngramClassName, row.AutoUnlockLevel)); } if (row.Hidden || row.UseMyCost || row.UseMyLevel || row.RemovePrerequisites) { overrides.Add(string.Format(overrideFormat, row.EngramIndex, row.Hidden.ToString() , row.UseMyCost ? row.MyCost : row.ArkCost, row.UseMyLevel ? row.MyLevel : row.ArkLevel , row.RemovePrerequisites.ToString())); } } List <string> all = new List <string>(unlocks.Count + overrides.Count); all.AddRange(unlocks); all.AddRange(overrides); return(string.Join(Environment.NewLine, string.Join(Environment.NewLine, all))); }