Example #1
0
        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)));
        }