public bool MarkAutoSelectItems() { bool ItemStateChanged = false; foreach (var CheckedObject in AutoSelect) { if (CheckedObject.ID < -1) { continue; } if (CheckedObject.RandomizedItem > -2) { CheckedObject.RandomizedItem = -2; ItemStateChanged = true; continue; } if (CheckedObject.SpoilerRandom > -2) { CheckedObject.RandomizedItem = CheckedObject.SpoilerRandom; ItemStateChanged = true; continue; } if (CheckedObject.RandomizedState() == 2) { CheckedObject.RandomizedItem = CheckedObject.ID; ItemStateChanged = true; continue; } } return(ItemStateChanged); }
//Automatic Checks public bool CheckAutoSelectItems() { bool ItemStateChanged = false; foreach (var CheckedObject in AutoSelect) { //Check if the items checked status has been changed, most likely by CheckEntrancePair. if (ActionDic.ContainsKey(CheckedObject.ID) && ActionDic[CheckedObject.ID] != CheckedObject.Checked && CheckedObject.IsEntrance()) { continue; } if (CheckedObject.ID < -1) { continue; } if (CheckedObject.Checked && CheckedObject.RandomizedItem > -2) { if (Instance.ItemInRange(CheckedObject.RandomizedItem) && !Tools.SameItemMultipleChecks(CheckedObject.RandomizedItem, Instance) && CheckedObject.ItemBelongsToMe()) { Instance.Logic[CheckedObject.RandomizedItem].Aquired = false; LogicEditing.CheckEntrancePair(CheckedObject, Instance, false); } CheckedObject.Checked = false; if (!KeepChecked) { CheckedObject.RandomizedItem = -2; } ItemStateChanged = true; continue; } if (CheckedObject.SpoilerRandom > -2 || CheckedObject.RandomizedItem > -2 || CheckedObject.RandomizedState() == 2) { CheckedObject.Checked = true; if (CheckedObject.RandomizedState() == 2) { CheckedObject.RandomizedItem = CheckedObject.ID; } if (CheckedObject.SpoilerRandom > -2) { CheckedObject.RandomizedItem = CheckedObject.SpoilerRandom; } if (CheckedObject.RandomizedItem < 0) { CheckedObject.RandomizedItem = -1; ItemStateChanged = true; continue; } if (CheckedObject.ItemBelongsToMe()) { Instance.Logic[CheckedObject.RandomizedItem].Aquired = true; } Instance.Logic[CheckedObject.RandomizedItem].PlayerData.ItemCameFromPlayer = FromNetPlayer; LogicEditing.CheckEntrancePair(CheckedObject, Instance, true); ItemStateChanged = true; continue; } } return(ItemStateChanged); }
private void UpdateCoursesListView() { try { courses_listView.Items.Clear(); Globals.Courses.ToList().ForEach(x => { for (int i = 0; i < x.Value.Classes.Count; i++) { var item = x.Value.Classes[i]; if ((!item.Full && !item.Over) || (EditedChild != null && EditedChild.RegisteredCourses.Contains(item))) { if (num_childAge.Value >= x.Value.AcademicYearStart && num_childAge.Value <= x.Value.AcademicYearEnd) { var newAvailableCourse = new CheckedObject() { Checked = false, Class = item, Course = x.Value, }; if (Globals.Instructors.ToList().Exists(z => z.Value.TeachingCourses.Contains(item))) { newAvailableCourse.Instructor = Globals.Instructors.Single(z => z.Value.TeachingCourses.Contains(item)).Value; } else { newAvailableCourse.Instructor = new Instructor() { Name = "---" } }; //HEHE XD if (EditedChild != null && EditedChild.RegisteredCourses.Contains(item)) { newAvailableCourse.Checked = true; } courses_listView.Items.Add(newAvailableCourse); } } } }); } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } }