public List <UMthdChked> GetMethodListFromFile( ) { if (SolverLst1 == null) { new List <UAlgMethod>(); } else { SolverLst1.Clear(); } SolverLst1.AddRange(GNPX_Eng.AnMan.SolverLst0); SolverLst1.ForEach(P => P.IsChecked = true); char[] sep = new char[] { ' ', ',' }; string st; int IDx = 0; if (File.Exists(SDK_MethodsFileName)) { using (var fIn = new StreamReader(SDK_MethodsFileName)){ while ((st = fIn.ReadLine()) != null) { bool bChk = true; if (st[0] == '*') { var mLst = st.Split(sep, StringSplitOptions.RemoveEmptyEntries); st = mLst[0].Substring(1); GMthdOption[st] = mLst[1]; } else { if (st[0] == '-') { bChk = false; st = st.Substring(1); } UAlgMethod Q = SolverLst1.Find(x => x.MethodName.Contains(st)); if (Q is UAlgMethod) { Q.ID = IDx++; Q.IsChecked = bChk; } } } } } SolverLst1.Sort((p, q) => (p.ID - q.ID)); SetMethodLis_1to2(FileOutput: false); return(SolverLst2); }
public List <UMthdChked> ChangeMethodList(int nx, int UD) { UAlgMethod MA = SolverLst1[nx], MB; if (UD < 0) { MB = SolverLst1[nx - 1]; SolverLst1[nx - 1] = MA; SolverLst1[nx] = MB; } if (UD > 0) { MB = SolverLst1[nx + 1]; SolverLst1[nx + 1] = MA; SolverLst1[nx] = MB; } SetMethodLis_1to2(FileOutput: true); return(SolverLst2); }
public List <UMthdChked> SetMethodLis_1to2(bool FileOutput) { string po = (string)GNPXApp000.GMthdOption["GeneralLogicOn"]; bool B = (po.ToInt() == 1); UAlgMethod P = SolverLst1.Find(x => x.MethodName.Contains("GeneralLogic")); if (P == null) { return(null); } P.IsChecked = B; P.IsEnabled = false; SolverLst1.Find(x => x.MethodName.Contains("LastDigit")).IsEnabled = false; SolverLst1.Find(x => x.MethodName.Contains("NakedSingle")).IsEnabled = false; SolverLst1.Find(x => x.MethodName.Contains("HiddenSingle")).IsEnabled = false; SolverLst2 = SolverLst1.ConvertAll(Q => new UMthdChked(Q)); if (FileOutput) { MethodListOutPut(); } return(SolverLst2); }
public int __DifLevel; //(difficulty) public UMthdChked(UAlgMethod P) { this.UAM = P; this.ID = P.ID; Name = P.MethodName; IsChecked = P.IsChecked; }