internal void ListDraw() { try { tt.RemoveAll(); foreach (Control it in panList.Controls) { it.Dispose(); } panList.Controls.Clear(); panList.Size = new Size(730, 0); panList.Location = new Point(0, 0); int y = 0; foreach (var it in r.Trains) { string type_string = ""; switch (it.Data.Rank) { case TrainData.TrainRank.HIGH: type_string = TextManager.Get().Text("hightrain"); break; case TrainData.TrainRank.DEFAULT: type_string = TextManager.Get().Text("defaulttrain"); break; } TrainList01 sl = new TrainList01(it, true, type_string, false, r.Name); sl.Location = new Point(0, y); panList.Controls.Add(sl); y += sl.Height; panList.Size = new Size(730, y); tt.SetToolTip(sl, $"{it.Name} ({it.Data.Name}, {type_string})"); } if (panList.Controls.Count <= 10) { panListBack.AutoScroll = false; panListBack.Size = new Size(730, panListBack.Height); } else { panListBack.AutoScroll = true; panListBack.Size = new Size(750, panListBack.Height); } } catch (Exception ex) { RTCore.Environment.ReportError(ex, AccessManager.AccessKey); } }
public void ListDraw(string s = "") { try { foreach (Control it in panList.Controls) { TrainList01 tl = it as TrainList01; if (tl.isSelect) { Selects.Add(tl.t); } } tt.RemoveAll(); foreach (Control it in panList.Controls) { it.Dispose(); } panList.Controls.Clear(); panList.Size = new Size(730, 0); panList.Location = new Point(0, 0); int y = 0; if (s == string.Empty) { foreach (var it in TrainManager.Trains) { if (it.Owner != GameManager.Company) { continue; } string type = ""; switch (it.Data.Rank) { case TrainData.TrainRank.HIGH: type = TextManager.Get().Text("hightrain"); break; case TrainData.TrainRank.DEFAULT: type = TextManager.Get().Text("defaulttrain"); break; } string route_name = ""; if (it.Route == null) { route_name = TextManager.Get().Text("uninputtrain"); } else { route_name = TextManager.Get().Text("trainroute").Replace("%ROUTENAME%", it.Route.Name); } TrainList01 lst = new TrainList01(it, false, type, true, route_name); lst.Location = new Point(0, y); panList.Controls.Add(lst); y += lst.Height; panList.Size = new Size(730, y); tt.SetToolTip(lst, $"{it.Name} ({it.Data.Name}, {type}, {route_name})"); if (Selects.Contains(it)) { lst.isSelect = true; lst.BackColor = ResourceManager.Get("list.trainlist01.background.select"); } } Selects = new List <Train>(); } else { List <string> names = new List <string>(); foreach (var it in TrainManager.Trains) { if (it.Owner == GameManager.Company) { names.Add(it.Name); } } List <string> result = RTAPI.StringAPI.Search(names, s); foreach (var it in TrainManager.Trains) { if (it.Owner != GameManager.Company) { continue; } if (!result.Contains(it.Name)) { continue; } string type = ""; switch (it.Data.Rank) { case TrainData.TrainRank.HIGH: type = TextManager.Get().Text("hightrain"); break; case TrainData.TrainRank.DEFAULT: type = TextManager.Get().Text("defaulttrain"); break; } string route_name = ""; if (it.Route == null) { route_name = TextManager.Get().Text("uninputtrain"); } else { route_name = TextManager.Get().Text("trainroute").Replace("%ROUTENAME%", it.Route.Name); } TrainList01 lst = new TrainList01(it, false, type, true, route_name); lst.Location = new Point(0, y); panList.Controls.Add(lst); y += lst.Height; panList.Size = new Size(730, y); tt.SetToolTip(lst, $"{it.Name} ({it.Data.Name}, {type}, {route_name})"); if (Selects.Contains(it)) { lst.isSelect = true; lst.BackColor = ResourceManager.Get("list.trainlist01.background.select"); } } } if (panList.Controls.Count <= 9) { panListBack.AutoScroll = false; panListBack.Size = new Size(730, panListBack.Height); } else { panListBack.AutoScroll = true; panListBack.Size = new Size(750, panListBack.Height); } } catch (Exception ex) { RTCore.Environment.ReportError(ex, AccessManager.AccessKey); } }
internal void ListDraw(string search = "") { List <Train> Selects = new List <Train>(); foreach (Control it in panList.Controls) { if (it is TrainList01) { TrainList01 lst = it as TrainList01; if (lst.isSelect) { Selects.Add(lst.t); } } } tt.RemoveAll(); foreach (Control it in panList.Controls) { it.Dispose(); } panList.Controls.Clear(); panList.Size = new Size(730, 0); panList.Location = new Point(0, 0); if (search == string.Empty) { int y = 0; foreach (var it in TrainManager.Trains) { if (it.Route != null) { continue; } if (it.Owner != GameManager.Company) { continue; } string type_string = ""; switch (it.Data.Rank) { case TrainData.TrainRank.HIGH: type_string = TextManager.Get().Text("hightrain"); break; case TrainData.TrainRank.DEFAULT: type_string = TextManager.Get().Text("defaulttrain"); break; } TrainList01 sl = new TrainList01(it, true, type_string); sl.Location = new Point(0, y); panList.Controls.Add(sl); y += sl.Height; panList.Size = new Size(730, y); tt.SetToolTip(sl, $"{it.Name} ({it.Data.Name}, {type_string})"); if (Selects.Contains(it)) { sl.isSelect = true; BackColor = ResourceManager.Get("list.trainlist01.background.sel"); } } } else { List <string> all_item = new List <string>(); foreach (var it in TrainManager.Trains) { if (it.Route != null) { continue; } if (it.Owner != GameManager.Company) { continue; } all_item.Add(it.Name); } List <string> result = RTAPI.StringAPI.Search(all_item, search); int y = 0; foreach (var it in TrainManager.Trains) { if (it.Route != null) { continue; } if (it.Owner != GameManager.Company) { continue; } if (!result.Contains(it.Name)) { continue; } string type_string = ""; switch (it.Data.Rank) { case TrainData.TrainRank.HIGH: type_string = TextManager.Get().Text("hightrain"); break; case TrainData.TrainRank.DEFAULT: type_string = TextManager.Get().Text("defaulttrain"); break; } TrainList01 sl = new TrainList01(it, true, type_string); sl.Location = new Point(0, y); panList.Controls.Add(sl); y += sl.Height; panList.Size = new Size(730, y); tt.SetToolTip(sl, $"{it.Name} ({it.Data.Name}, {type_string})"); if (Selects.Contains(it)) { sl.isSelect = true; BackColor = ResourceManager.Get("list.trainlist01.background.sel"); } } } if (panList.Controls.Count <= 9) { panListBack.AutoScroll = false; panListBack.Size = new Size(730, panListBack.Height); } else { panListBack.AutoScroll = true; panListBack.Size = new Size(750, panListBack.Height); } }