Example #1
0
        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));
        }
Example #2
0
        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);
     }
 }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #6
0
 public Item(AlmaMater value, string name, int count)
     : base(new Values(value, name), name, count)
 {
 }
Example #7
0
 public Values(AlmaMater almaMater, string almaMaterName)
 {
     mAlmaMater     = almaMater;
     mAlmaMaterName = almaMaterName;
 }