protected static void Add(List<AlmaMaterCriteria.Item> allOptions, string name, AlmaMater mater, SimDescription me, Dictionary<string,bool> lookup) { if (lookup.ContainsKey(name)) return; lookup.Add(name, true); int value = 0; if (name == me.AlmaMaterName) { value = 1; } allOptions.Add(new AlmaMaterCriteria.Item(mater, name, value)); }
protected override bool Run(SimDescription me, bool singleSelection) { if (!ApplyAll) { Dictionary<string, bool> lookup = new Dictionary<string, bool>(); List<AlmaMaterCriteria.Item> allOptions = new List<AlmaMaterCriteria.Item>(); if (BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList != null) { foreach (BoardingSchool.BoardingSchoolData data in BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList.Values) { Add(allOptions, Common.LocalizeEAString(data.SchoolNameKey), data.AlmaMaterType, me, lookup); } } Add(allOptions, Common.LocalizeEAString("Gameplay/Careers/School:Community"), AlmaMater.Community, me, lookup); foreach (RabbitHole hole in Sims3.Gameplay.Queries.GetObjects<RabbitHole>()) { foreach (CareerLocation loc in hole.CareerLocations.Values) { if (loc.Career is School) { Add(allOptions, hole.CatalogName, AlmaMater.Community, me, lookup); } } } AlmaMaterCriteria.Item choice = new CommonSelection<AlmaMaterCriteria.Item>(Name, me.FullName, allOptions).SelectSingle(); if (choice == null) return false; mAlmaMater = choice.Value.mAlmaMater; mAlmaMaterName = choice.Name; } me.AlmaMater = mAlmaMater; me.AlmaMaterName = mAlmaMaterName; switch (me.GraduationType) { case GraduationType.None: case GraduationType.NoSchool: me.GraduationType = GraduationType.Graduate; break; } if (me.BoardingSchool != null) { me.BoardingSchool.SetGraduatedSchoolType(BoardingSchool.BoardingSchoolTypes.None, false); me.BoardingSchool.CurrentSchoolType = BoardingSchool.BoardingSchoolTypes.None; } if (BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList != null) { foreach (BoardingSchool.BoardingSchoolData data in BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList.Values) { if (me.AlmaMater == data.AlmaMaterType) { if (me.BoardingSchool == null) { me.BoardingSchool = new BoardingSchool.BoardingSchoolInfo(me, BoardingSchool.BoardingSchoolTypes.None); } me.BoardingSchool.SetGraduatedSchoolType(data.SchoolType, false); break; } } } if (me.CreatedSim != null) { foreach (Diploma diploma in Inventories.QuickFind<Diploma>(me.CreatedSim.Inventory)) { diploma.mSchoolName = me.AlmaMaterName; } } return true; }
/// <summary> /// Returns the hashcode of this Object /// </summary> /// <returns>Hash code (int)</returns> public override int GetHashCode() { // Credit: http://stackoverflow.com/a/263416/677735 unchecked // Overflow is fine, just wrap { int hash = 41; // Suitable nullity checks etc, of course :) if (Id != null) { hash = hash * 59 + Id.GetHashCode(); } if (Name != null) { hash = hash * 59 + Name.GetHashCode(); } if (Description != null) { hash = hash * 59 + Description.GetHashCode(); } if (Degree != null) { hash = hash * 59 + Degree.GetHashCode(); } if (AlmaMater != null) { hash = hash * 59 + AlmaMater.GetHashCode(); } if (Email != null) { hash = hash * 59 + Email.GetHashCode(); } if (Evaluations != null) { hash = hash * 59 + Evaluations.GetHashCode(); } if (Password != null) { hash = hash * 59 + Password.GetHashCode(); } if (Comments != null) { hash = hash * 59 + Comments.GetHashCode(); } if (AuditEntered != null) { hash = hash * 59 + AuditEntered.GetHashCode(); } if (AuditEnteredBy != null) { hash = hash * 59 + AuditEnteredBy.GetHashCode(); } if (AuditUpdated != null) { hash = hash * 59 + AuditUpdated.GetHashCode(); } if (AuditUpdatedBy != null) { hash = hash * 59 + AuditUpdatedBy.GetHashCode(); } return(hash); } }
protected override bool Run(SimDescription me, bool singleSelection) { if (!ApplyAll) { Dictionary <string, bool> lookup = new Dictionary <string, bool>(); List <AlmaMaterCriteria.Item> allOptions = new List <AlmaMaterCriteria.Item>(); if (BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList != null) { foreach (BoardingSchool.BoardingSchoolData data in BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList.Values) { Add(allOptions, Common.LocalizeEAString(data.SchoolNameKey), data.AlmaMaterType, me, lookup); } } Add(allOptions, Common.LocalizeEAString("Gameplay/Careers/School:Community"), AlmaMater.Community, me, lookup); foreach (RabbitHole hole in Sims3.Gameplay.Queries.GetObjects <RabbitHole>()) { foreach (CareerLocation loc in hole.CareerLocations.Values) { if (loc.Career is School) { Add(allOptions, hole.CatalogName, AlmaMater.Community, me, lookup); } } } AlmaMaterCriteria.Item choice = new CommonSelection <AlmaMaterCriteria.Item>(Name, me.FullName, allOptions).SelectSingle(); if (choice == null) { return(false); } mAlmaMater = choice.Value.mAlmaMater; mAlmaMaterName = choice.Name; } me.AlmaMater = mAlmaMater; me.AlmaMaterName = mAlmaMaterName; switch (me.GraduationType) { case GraduationType.None: case GraduationType.NoSchool: me.GraduationType = GraduationType.Graduate; break; } if (me.BoardingSchool != null) { me.BoardingSchool.SetGraduatedSchoolType(BoardingSchool.BoardingSchoolTypes.None, false); me.BoardingSchool.CurrentSchoolType = BoardingSchool.BoardingSchoolTypes.None; } if (BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList != null) { foreach (BoardingSchool.BoardingSchoolData data in BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList.Values) { if (me.AlmaMater == data.AlmaMaterType) { if (me.BoardingSchool == null) { me.BoardingSchool = new BoardingSchool.BoardingSchoolInfo(me, BoardingSchool.BoardingSchoolTypes.None); } me.BoardingSchool.SetGraduatedSchoolType(data.SchoolType, false); break; } } } if (me.CreatedSim != null) { foreach (Diploma diploma in Inventories.QuickFind <Diploma>(me.CreatedSim.Inventory)) { diploma.mSchoolName = me.AlmaMaterName; } } return(true); }
protected static void Add(List <AlmaMaterCriteria.Item> allOptions, string name, AlmaMater mater, SimDescription me, Dictionary <string, bool> lookup) { if (lookup.ContainsKey(name)) { return; } lookup.Add(name, true); int value = 0; if (name == me.AlmaMaterName) { value = 1; } allOptions.Add(new AlmaMaterCriteria.Item(mater, name, value)); }
public Item(AlmaMater value, string name, int count) : base(new Values(value, name), name, count) { }
public Values(AlmaMater almaMater, string almaMaterName) { mAlmaMater = almaMater; mAlmaMaterName = almaMaterName; }