コード例 #1
0
        protected override bool Run(SimDescription me, bool singleSelection)
        {
            List <SimTrait.Item> allOptions = new List <SimTrait.Item>();

            foreach (Sims3.Gameplay.ActorSystems.Trait trait in TraitManager.GetDictionaryTraits)
            {
                if (trait.IsReward)
                {
                    continue;
                }

                if (!trait.TraitValidForAgeSpecies(me.GetCASAGSAvailabilityFlags()))
                {
                    continue;
                }

                int count = 0;
                if (me.TraitManager.mUniversityGraduateTraitGuid == trait.Guid)
                {
                    count = 1;
                }
                else if (me.HasTrait(trait.Guid))
                {
                    continue;
                }

                allOptions.Add(new SimTrait.Item(trait.Guid, count));
            }

            SimTrait.Item selection = new CommonSelection <SimTrait.Item>(Name, me.FullName, allOptions, new SimTrait.AuxillaryColumn()).SelectSingle();
            if (selection == null)
            {
                return(false);
            }

            TraitNames traitName = selection.Value;

            me.RemoveUniversityGraduateTrait();

            if (traitName != me.TraitManager.mUniversityGraduateTraitGuid)
            {
                Sims3.Gameplay.ActorSystems.Trait selTrait = TraitManager.GetTraitFromDictionary(traitName);
                if (selTrait != null)
                {
                    me.TraitManager.mUniversityGraduateTraitEnabled = true;
                    me.AddUniversityGraduateTrait(selTrait);
                }
            }

            if ((me.CreatedSim != null) && (me.CreatedSim.SocialComponent != null))
            {
                me.CreatedSim.SocialComponent.UpdateTraits();
            }

            return(true);
        }
コード例 #2
0
        protected override bool Run(SimDescription me, bool singleSelection)
        {
            List<SimTrait.Item> allOptions = new List<SimTrait.Item>();
            foreach (Sims3.Gameplay.ActorSystems.Trait trait in TraitManager.GetDictionaryTraits)
            {
                if (trait.IsReward) continue;

                if (!trait.TraitValidForAgeSpecies(me.GetCASAGSAvailabilityFlags())) continue;

                int count = 0;
                if (me.TraitManager.mUniversityGraduateTraitGuid == trait.Guid)
                {
                    count = 1;
                }
                else if (me.HasTrait(trait.Guid))
                {
                    continue;
                }

                allOptions.Add(new SimTrait.Item (trait.Guid, count));
            }

            SimTrait.Item selection = new CommonSelection<SimTrait.Item>(Name, me.FullName, allOptions, new SimTrait.AuxillaryColumn()).SelectSingle();
            if (selection == null) return false;

            TraitNames traitName = selection.Value;

            me.RemoveUniversityGraduateTrait();

            if (traitName != me.TraitManager.mUniversityGraduateTraitGuid)
            {
                Sims3.Gameplay.ActorSystems.Trait selTrait = TraitManager.GetTraitFromDictionary(traitName);
                if (selTrait != null)
                {
                    me.TraitManager.mUniversityGraduateTraitEnabled = true;
                    me.AddUniversityGraduateTrait(selTrait);
                }
            }

            if ((me.CreatedSim != null) && (me.CreatedSim.SocialComponent != null))
            {
                me.CreatedSim.SocialComponent.UpdateTraits();
            }

            return true;
        }