Ejemplo n.º 1
0
        protected static List<CASAGSAvailabilityFlags> GetSettings(InteractionTuning tuning)
        {
            SeasonSettings.ITUNSettings settings = Retuner.SeasonSettings.GetSettings(tuning, false);
            if (settings != null)
            {
                List<CASAGSAvailabilityFlags> result;
                if (settings.GetAgeSpecies(out result)) return result;
            }

            return Retuner.AgeSpeciesToList(tuning.Availability.AgeSpeciesAvailabilityFlags);
        }
Ejemplo n.º 2
0
        public static void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <RabbitHole, Pregnancy.GoToHospital.Definition>();

            if (tuning != null)
            {
                tuning.Availability.Teens  = true;
                tuning.Availability.Adults = true;
                tuning.Availability.Elders = true;
            }

            Tunings.Inject <Sim, Pregnancy.TakeToHospital.Definition, Definition>(true);
        }
Ejemplo n.º 3
0
        protected static List <CASAGSAvailabilityFlags> GetSettings(InteractionTuning tuning)
        {
            SeasonSettings.ITUNSettings settings = Retuner.SeasonSettings.GetSettings(tuning, false);
            if (settings != null)
            {
                List <CASAGSAvailabilityFlags> result;
                if (settings.GetAgeSpecies(out result))
                {
                    return(result);
                }
            }

            return(Retuner.AgeSpeciesToList(tuning.Availability.AgeSpeciesAvailabilityFlags));
        }
Ejemplo n.º 4
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <CarUFO, Definition>();

            if (tuning != null)
            {
                tuning.Availability.Teens = true;
            }

            Tunings.Inject <CarUFO, Definition, NewDefinition>(false);

            sOldSingleton = Singleton;
            Singleton     = new NewDefinition();
        }
Ejemplo n.º 5
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <Sim, Pregnancy.ReactToContraction.Definition>();

            if (tuning != null)
            {
                tuning.Availability.Children = true;
                tuning.Availability.Teens    = true;
                tuning.Availability.Adults   = true;
                tuning.Availability.Elders   = true;
            }

            Tunings.Inject <Sim, Pregnancy.ReactToContraction.Definition, Definition>(true);
        }
Ejemplo n.º 6
0
        public void OnPreLoad()
        {
            Tunings.Inject <Terrain, Sims3.Gameplay.Objects.Fishing.FishHere.Definition, Definition>(true);

            InteractionTuning tuning = Tunings.GetTuning <Terrain, Sims3.Gameplay.Objects.Fishing.FishHere.Definition>();

            if (tuning != null)
            {
                tuning.SetFlags(InteractionTuning.FlagField.DisallowAutonomous, true);
                tuning.SetFlags(InteractionTuning.FlagField.DisallowUserDirected, true);
            }

            Singleton = new Definition();
        }
Ejemplo n.º 7
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <Hospital, Hospital.CustomizeBabyDNA.Definition>();

            if (tuning != null)
            {
                tuning.Availability.Teens = true;
            }

            Tunings.Inject <Hospital, Hospital.CustomizeBabyDNA.Definition, Definition>(false);

            sOldSingleton = Singleton;
            Singleton     = new Definition();
        }
Ejemplo n.º 8
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <Sim, StartBedCuddleB.Definition>();

            if (tuning != null)
            {
                tuning.Availability.Teens = true;
            }

            Woohooer.InjectAndReset <Sim, StartBedCuddleA.Definition, Definition>(false);

            sOldSingleton = Singleton;
            Singleton     = new Definition();
        }
Ejemplo n.º 9
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <Sim, Terrain.GoJogging.Definition>();

            if (tuning != null)
            {
                tuning.RemoveFlags(InteractionTuning.FlagField.DisallowUserDirected);
                tuning.RemoveFlags(InteractionTuning.FlagField.DisallowPlayerSim);

                tuning.Availability.AgeSpeciesAvailabilityFlags = CASAGSAvailabilityFlags.HumanTeen | CASAGSAvailabilityFlags.HumanYoungAdult | CASAGSAvailabilityFlags.HumanAdult | CASAGSAvailabilityFlags.HumanElder;
            }

            sOldSingleton = Singleton as InteractionDefinition;
            Singleton     = new Definition();
        }
Ejemplo n.º 10
0
 protected void SetAdvertised(SettingsKey key, InteractionTuning tuning, Dictionary <CommodityKind, float> advertised)
 {
     if (Retuner.StoreDefault(key, tuning))
     {
         foreach (KeyValuePair <CommodityKind, float> pair in advertised)
         {
             foreach (CommodityChange change in tuning.mTradeoff.mOutputs)
             {
                 if (change.Commodity == pair.Key)
                 {
                     change.mConstantChange = pair.Value;
                 }
             }
         }
     }
 }
Ejemplo n.º 11
0
        public void OnPreLoad()
        {
            Tunings.Inject <Bed, EnterRelaxing.Definition, Definition>(false);

            InteractionTuning tuning = Tunings.GetTuning <Bed, BedRelax.Definition>();

            if (tuning != null)
            {
                tuning.AddFlags(InteractionTuning.FlagField.DisallowAutonomous);
            }

            sOldSingleton = Singleton;

            Singleton       = new Definition(false);
            WoohooSingleton = new Definition(true);
        }
Ejemplo n.º 12
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.Inject <PostBoxJobBoard, PostBoxJobBoard.CheckTheBoard.Definition, Definition>(false);

            if (tuning != null)
            {
                tuning.Availability.Teens = true;
                tuning.CodeVersion        = new ProductVersion[] { ProductVersion.EP1, ProductVersion.EP9 };
                tuning.Availability.WorldRestrictionType = WorldRestrictionType.None;
            }

            sOldSingleton = Singleton;
            Singleton     = new Definition(true);

            PostBoxJobBoard.CheckTheBoardEP9.Singleton = new Definition(false);
        }
Ejemplo n.º 13
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <RabbitHole, Hospital.GetMedicalAdvice.Definition>();

            if (tuning != null)
            {
                tuning.Availability.Teens  = true;
                tuning.Availability.Adults = true;
                tuning.Availability.Elders = true;
            }

            Tunings.Inject <RabbitHole, Hospital.GetMedicalAdvice.Definition, Definition>(false);

            sOldSingleton = Singleton;
            Singleton     = new Definition();
        }
Ejemplo n.º 14
0
        public void OnPreLoad()
        {
            Tunings.Inject <HotTubBase, HotTubBase.GetIn.Definition, Definition>(false);

            InteractionTuning tuning = Tunings.Inject <HotTubBase, HotTubBase.GetIn.Definition, Definition>(false);

            if (tuning != null)
            {
                tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
            }

            sOldSingleton = Singleton;
            Singleton     = new Definition(false);

            sOldSkinnyDipSingleton = SkinnyDipSingleton;
            SkinnyDipSingleton     = new Definition(true);
        }
Ejemplo n.º 15
0
            public void SetAgeSpecies(SettingsKey key, InteractionTuning tuning, List <CASAGSAvailabilityFlags> ageSpeciesList)
            {
                mAgeSpeciesList = null;

                mFlags |= Flags.AgeSpecies;

                mAgeSpecies = CASAGSAvailabilityFlags.None;
                foreach (CASAGSAvailabilityFlags ageSpecies in ageSpeciesList)
                {
                    mAgeSpecies |= ageSpecies;
                }

                if (Retuner.StoreDefault(key, tuning))
                {
                    tuning.Availability.AgeSpeciesAvailabilityFlags = mAgeSpecies;
                }
            }
Ejemplo n.º 16
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.GetTuning <Hospital, Hospital.CreateBabyWith.CreateBabyWithDefinition>();

            if (tuning != null)
            {
                tuning.Availability.Teens = true;
            }

            Tunings.Inject <Hospital, Hospital.CreateBabyWith.CreateBabyWithDefinition, Definition>(false);

            // romantic interests are blocked by the default 30
            Hospital.CreateBabyWith.kLTRForBabyMaking = 20;

            sOldSingleton = Singleton;
            Singleton     = new Definition();
        }
Ejemplo n.º 17
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Woohooer.InjectAndReset <Terrain, SwimHere.SkinnyDipDefinition, Definition>(false);

            if (tuning != null)
            {
                tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
            }

            tuning = Tunings.GetTuning <Terrain, SwimHere.Definition>();
            if (tuning != null)
            {
                tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
            }

            sOldSingleton = SwimHere.SkinnyDipSingleton;
            SwimHere.SkinnyDipSingleton = new Definition();
        }
Ejemplo n.º 18
0
        public ListingOption(string name, InteractionTuning tuning)
            : base(name)
        {
            mTuning = tuning;

            StringBuilder builder = new StringBuilder();

            builder.Append(mTuning.FullObjectName.Substring(0x6).Replace('.', '/'));
            builder.Append("/");
            builder.Append(mTuning.ShortInteractionName);
            builder.Append(InteractionDefinitionUtilities.kInteractionNameConstant);
            string interactionLocalizationKey = builder.ToString();

            if (Localization.HasLocalizationString(interactionLocalizationKey))
            {
                mName = Common.LocalizeEAString(interactionLocalizationKey);
            }
        }
Ejemplo n.º 19
0
            public void SetUserDirected(SettingsKey key, InteractionTuning tuning, bool value)
            {
                mUserDirected = value;

                mFlags |= Flags.UserDirected;

                if (Retuner.StoreDefault(key, tuning))
                {
                    if (value)
                    {
                        tuning.RemoveFlags(InteractionTuning.FlagField.DisallowUserDirected);
                    }
                    else
                    {
                        tuning.AddFlags(InteractionTuning.FlagField.DisallowUserDirected);
                    }
                }
            }
Ejemplo n.º 20
0
            public void SetAutonomous(SettingsKey key, InteractionTuning tuning, bool value)
            {
                mAutonomous = value;

                mFlags |= Flags.Autonomous;

                if (Retuner.StoreDefault(key, tuning))
                {
                    if (value)
                    {
                        tuning.RemoveFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    }
                    else
                    {
                        tuning.AddFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    }
                }
            }
Ejemplo n.º 21
0
        private static void OnPreLoad()
        {
            if (!PreLoaded)
            {
                PreLoaded = true;
                InjectTuning <Fridge, Fridge_Have.Definition, OverridedFridge_Have.Definition>();
                InjectTuning <Fridge, Fridge_Prepare.PrepareDefinition, OverridedFridge_Prepare.PrepareDefinition>();
                InjectTuning <Stove, Stove_Have.Definition, OverridedStove_Have.Definition>();
                InjectTuning <Microwave, Microwave_Have.Definition, OverridedMicrowave_Have.Definition>();
                InjectTuning <Grill, Grill_Have.Definition, OverridedGrill_Have.Definition>();
                InjectTuning <FoodProcessor, FoodProcessor.FoodProcessor_Have.Definition, OverridedFoodProcessor_Have.Definition>();
                if (GameUtils.IsInstalled(ProductVersion.EP5))
                {
                    InteractionTuning tuning = AutonomyTuning.GetTuning(typeof(MakeGourmetFoodForPet.Definition), "Sims3.Gameplay.Objects.Appliances.MakeGourmetFoodForPet+Definition", typeof(Fridge));
                    if (tuning != null)
                    {
                        tuning.LoadFieldDisallowAutonomous(true);
                    }
                }

                if (Recipe.NameToRecipeHash.ContainsKey("WOBakeBreadCountry"))
                {
                    ApplianceTypes.Add(typeof(WoodFireOven));
                    InjectTuning <WoodFireOven, WoodFireOven.WOBake.Definition, OverridedWOBakeDefinition>();
                }
                if (Recipe.NameToRecipeHash.ContainsKey("TGCookTeppanyakiSalmon"))
                {
                    ApplianceTypes.Add(typeof(TeppanyakiGrill));
                    InjectTuning <TeppanyakiGrill, TeppanyakiGrill.TGCook.Definition, OverridedTGCookDefinition>();
                }

                char[] separator = new char[] { ':' };
                foreach (string current in SnackRequirements)
                {
                    string[] array = current.Split(separator, 2);
                    string   key   = array [0].Trim();
                    Recipe   recipe;
                    if (Recipe.NameToRecipeHash.TryGetValue(key, out recipe) && recipe.Ingredient1 == null)
                    {
                        recipe.mNonPersistableData.mIngredient1 = recipe.InitIngredient(array[1].Trim());
                    }
                }
            }
        }
Ejemplo n.º 22
0
        public bool SharedNearDistanceBehavior(float routingDistance, float loopTime)
        {
            if (!Actor.RouteToObjectRadius(Target, routingDistance))
            {
                return(false);
            }

            if (EWCatFishingSkill.sGourmetSimIDs.Contains(Target.CatHuntingComponent.mCatcherId))
            {
                // The cat who CAUGHT the fish has completed the SeafoodGourmet opportunity, so the
                // fish is more nourishing.
                // TODO: Should SeafoodGourmet fish also get a moodlet?
                InteractionTuning tuning = InteractionObjectPair.mTuning;

                foreach (CommodityChange mOutput in tuning.mTradeoff.mOutputs)
                {
                    if (mOutput.Commodity == CommodityKind.Hunger)
                    {
                        if (mOutput.mMultiplier > 0)
                        {
                            // I don't know if 0 is a possibility, but lets just rule it out.
                            mOutput.mMultiplier *= EWCatFishingSkill.kSeafoodGourmetHungerMultiplier;
                        }
                        else
                        {
                            mOutput.mMultiplier = EWCatFishingSkill.kSeafoodGourmetHungerMultiplier;
                        }
                    }
                }
            }
            EnterStateMachine("eatofffloor", "Enter", "x");
            SetParameter("isFish", true);
            BeginCommodityUpdates();
            AnimateSim("EatOffFloorLoop");
            bool flag = DoTimedLoop(loopTime, ExitReason.Default);

            EndCommodityUpdates(flag);
            mDestroyPrey = true;
            AnimateSim("Exit");
            Actor.BuffManager.AddElement(BuffNames.Tasty, Origin.FromEatingFish);
            EventTracker.SendEvent(EventTypeId.kAteFish, Actor, Target);
            return(flag);
        }
Ejemplo n.º 23
0
        public void OnPreLoad()
        {
            Woohooer.InjectAndReset <Sim, Wardrobe.WooHooInWardrobeB.Definition, ProxyDefinition>(false);

            InteractionTuning tuning = Tunings.GetTuning <Sim, Wardrobe.WooHooInWardrobeA.Definition>();

            if (tuning != null)
            {
                tuning.Availability.RemoveFlags(Availability.FlagField.DisallowedIfPregnant);
                tuning.Availability.Teens = true;
            }

            Woohooer.InjectAndReset <Wardrobe, ProxyDefinition, SafeDefinition>(false);
            Woohooer.InjectAndReset <Wardrobe, ProxyDefinition, RiskyDefinition>(false);
            Woohooer.InjectAndReset <Wardrobe, ProxyDefinition, TryForBabyDefinition>(false);

            Wardrobe.PushWoohooInWardrobe.WoohooSingleton     = SafeSingleton;
            Wardrobe.PushWoohooInWardrobe.TryForBabySingleton = TryForBabySingleton;
        }
Ejemplo n.º 24
0
        static JapLowDinnerTable()
        {
            CommodityChange item = new CommodityChange((CommodityKind)286210343, 100f, true, 100f, OutputUpdateType.ImmediateDelta, false, false, UpdateAboveAndBelowZeroType.Either);

            try
            {
                InteractionTuning tuning = AutonomyTuning.GetTuning(typeof(JapLowDinnerTable.Eat.Definition).FullName, typeof(JapLowDinnerTable).FullName);
                tuning.mTradeoff.mOutputs.Add(item);
                tuning = AutonomyTuning.GetTuning(typeof(JapLowDinnerTable.ServeMeal.Definition).FullName, typeof(ServingContainerGroup).FullName);
                tuning.mTradeoff.mOutputs.Add(item);
            }
            catch (Exception ex)
            {
                JapLowDinnerTable.DebugMsg("InteractionTuning(s) not updated\n\n" + ex.StackTrace.Substring(0, JapLowDinnerTable.UMIN(750, ex.StackTrace.Length)));
            }
            JapLowDinnerTable.mSurfaceAddOn = new SurfaceAddOn();
            JapLowDinnerTable.mSurfaceAddOn.AddSurface("ContainmentSlot_0", 1f, SurfaceType.Eating, SurfaceHeight.CoffeeTable, CarrySystemPutDownRule.Default, null);
            World.OnWorldLoadFinishedEventHandler += JapLowDinnerTable.OnWorldLoadFinished;
        }
Ejemplo n.º 25
0
        public AbductionTuningControl(InteractionTuning tuning, bool allowTeen)
        {
            mTuning = tuning;

            try
            {
                if (mTuning != null)
                {
                    mTuning.Availability.Teens  = allowTeen;
                    mTuning.Availability.Adults = true;
                    mTuning.Availability.Elders = true;
                    mDisallowAutonomous         = mTuning.HasFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    mDisallowUserDirected       = mTuning.HasFlags(InteractionTuning.FlagField.DisallowUserDirected);
                }
            }
            catch (Exception e)
            {
                Common.Exception("AbductionTuningControl", e);
            }
        }
Ejemplo n.º 26
0
        public static InteractionTuning ResetTuning(InteractionTuning tuning, bool disallowAutonomout, bool disallowUserDirected)
        {
            try
            {
                if (tuning != null)
                {
                    tuning.Availability.Teens  = false;
                    tuning.Availability.Adults = true;
                    tuning.Availability.Elders = true;
                    tuning.SetFlags(InteractionTuning.FlagField.DisallowAutonomous, disallowAutonomout);
                    tuning.SetFlags(InteractionTuning.FlagField.DisallowUserDirected, disallowUserDirected);
                }
            }
            catch (Exception e)
            {
                Common.Exception("ResetTuning", e);
            }

            return(tuning);
        }
Ejemplo n.º 27
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Woohooer.InjectAndReset <Sim, SaunaClassic.CuddleSeatedWooHooSauna.Definition, SafeDefinition>(false);

            if (tuning != null)
            {
                tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
            }

            Woohooer.InjectAndReset <Sim, SaunaClassic.CuddleSeatedWooHooSauna.Definition, ProxyDefinition>(false);
            Woohooer.InjectAndReset <Sim, SaunaClassic.CuddleSeatedWooHooSauna.Definition, RiskyDefinition>(false);
            Woohooer.InjectAndReset <Sim, SaunaClassic.CuddleSeatedWooHooSauna.Definition, TryForBabyDefinition>(false);

            Woohooer.InjectAndReset <SaunaClassic, SafeSaunaDefinition, RiskySaunaDefinition>(true);
            Woohooer.InjectAndReset <SaunaClassic, SafeSaunaDefinition, TryForBabySaunaDefinition>(true);

            SaunaClassic.CuddleSeatedWooHooSauna.Singleton           = SafeSingleton;
            SaunaClassic.CuddleSeatedWooHooSauna.TryForBoySingleton  = TryForBoySingleton;
            SaunaClassic.CuddleSeatedWooHooSauna.TryForGirlSingleton = TryForGirlSingleton;
        }
Ejemplo n.º 28
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Tunings.Inject <Terrain, SwimHere.SnorkelDefinition, Definition>(false);

            //Unnecessary?

            /*if (tuning != null)
             * {
             *  tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
             * }
             *
             * tuning = Tunings.GetTuning<Terrain, SwimHere.Definition>();
             * if (tuning != null)
             * {
             *  tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
             * }*/

            sOldSingleton    = SnorkelSingleton;
            SnorkelSingleton = new Definition();
        }
Ejemplo n.º 29
0
        public void OnPreLoad()
        {
            InteractionTuning tuning = Woohooer.InjectAndReset <Sim, HotTubBase.CuddleSeatedWooHoo.Definition, SafeDefinition>(false);

            if (tuning != null)
            {
                tuning.Availability.SetFlags(Availability.FlagField.DisallowedIfPregnant, false);
            }

            Woohooer.InjectAndReset <Sim, HotTubBase.CuddleSeatedWooHoo.Definition, ProxyDefinition>(false);

            Woohooer.InjectAndReset <Sim, HotTubBase.CuddleSeatedWooHoo.TryForBabyDefinition, RiskyDefinition>(false);
            Woohooer.InjectAndReset <Sim, HotTubBase.CuddleSeatedWooHoo.TryForBabyDefinition, TryForBabyDefinition>(false);

            Woohooer.InjectAndReset <HotTubBase, SafeTubDefinition, RiskyTubDefinition>(true);
            Woohooer.InjectAndReset <HotTubBase, SafeTubDefinition, TryForBabyTubDefinition>(true);

            HotTubBase.CuddleSeatedWooHoo.Singleton           = SafeSingleton;
            HotTubBase.CuddleSeatedWooHoo.TryForBabySingleton = TryForBabySingleton;
        }
Ejemplo n.º 30
0
            public override bool Install(ManagerPersonality main, bool initial)
            {
                if (initial)
                {
                    InteractionTuning tuning = Tunings.GetTuning <IBoobyTrap, SetBoobyTrap.Definition>();
                    if (tuning != null)
                    {
                        tuning.Availability.Adults = true;
                        tuning.Availability.Elders = true;
                    }

                    tuning = Tunings.GetTuning <Computer, Computer.SetBoobyTrap.Definition>();
                    if (tuning != null)
                    {
                        tuning.Availability.Adults = true;
                        tuning.Availability.Elders = true;
                    }
                }

                return(base.Install(main, initial));
            }
Ejemplo n.º 31
0
        protected ITUNSettings PrivateGetSettings(InteractionTuning tuning, bool create, bool isDefault)
        {
            string name = Retuner.TuningName(tuning.FullObjectName, tuning.FullInteractionName);

            ITUNSettings settings;

            if (!mSettings.TryGetValue(name, out settings))
            {
                if (create)
                {
                    settings = new ITUNSettings(name, tuning, isDefault);
                    mSettings.Add(name, settings);
                }
                else
                {
                    return(null);
                }
            }

            return(settings);
        }
Ejemplo n.º 32
0
        public static InteractionTuning ResetTuning(InteractionTuning tuning, bool disallowAutonomous, bool disallowUserDirected)
        {
            try
            {
                if (tuning != null)
                {
                    tuning.Availability.Teens = false;
                    tuning.Availability.Adults = false;
                    tuning.Availability.Elders = false;

                    tuning.SetFlags(InteractionTuning.FlagField.DisallowAutonomous, disallowAutonomous);
                    tuning.SetFlags(InteractionTuning.FlagField.DisallowUserDirected, disallowUserDirected);
                }
            }
            catch (Exception e)
            {
                Common.Exception("ResetTuning", e);
            }

            return tuning;
        }
Ejemplo n.º 33
0
        public WoohooTuningControl(InteractionTuning tuning, bool allowTeen)
        {
            mTuning = tuning;

            try
            {
                if (mTuning != null)
                {
                    mTuning.Availability.Teens = allowTeen;
                    mTuning.Availability.Adults = true;
                    mTuning.Availability.Elders = true;

                    mDisallowAutonomous = mTuning.HasFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    mDisallowUserDirected = mTuning.HasFlags(InteractionTuning.FlagField.DisallowUserDirected);
                }
            }
            catch (Exception e)
            {
                Common.Exception("WoohooTuningControl", e);
            }
        }
Ejemplo n.º 34
0
            public void SetUserDirected(SettingsKey key, InteractionTuning tuning, bool value)
            {
                mUserDirected = value;

                mFlags |= Flags.UserDirected;

                if (Retuner.StoreDefault(key, tuning))
                {
                    if (value)
                    {
                        tuning.RemoveFlags(InteractionTuning.FlagField.DisallowUserDirected);
                    }
                    else
                    {
                        tuning.AddFlags(InteractionTuning.FlagField.DisallowUserDirected);
                    }
                }
            }
Ejemplo n.º 35
0
            public void SetAutonomous(SettingsKey key, InteractionTuning tuning, bool value)
            {
                mAutonomous = value;

                mFlags |= Flags.Autonomous;

                if (Retuner.StoreDefault(key, tuning))
                {
                    if (value)
                    {
                        tuning.RemoveFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    }
                    else
                    {
                        tuning.AddFlags(InteractionTuning.FlagField.DisallowAutonomous);
                    }
                }
            }
Ejemplo n.º 36
0
 public ITUNSettings GetSettings(InteractionTuning data, bool create)
 {
     return PrivateGetSettings(data, create, false);
 }
Ejemplo n.º 37
0
            public void SetAgeSpecies(SettingsKey key, InteractionTuning tuning, List<CASAGSAvailabilityFlags> ageSpeciesList)
            {
                mAgeSpeciesList = null;

                mFlags |= Flags.AgeSpecies;

                mAgeSpecies = CASAGSAvailabilityFlags.None;
                foreach (CASAGSAvailabilityFlags ageSpecies in ageSpeciesList)
                {
                    mAgeSpecies |= ageSpecies;
                }

                if (Retuner.StoreDefault(key, tuning))
                {
                    tuning.Availability.AgeSpeciesAvailabilityFlags = mAgeSpecies;
                }
            }
Ejemplo n.º 38
0
 public AgeSpecies(InteractionTuning tuning)
     : base(GetSettings(tuning))
 {
     mTuning = tuning;
 }
Ejemplo n.º 39
0
            public void Apply(SettingsKey key, InteractionTuning tuning)
            {
                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    SetAutonomous(key, tuning, mAutonomous);
                }

                if ((mFlags & Flags.UserDirected) != Flags.None)
                {
                    SetUserDirected(key, tuning, mUserDirected);
                }

                // Not Persisted, so rebuild now
                mAgeSpeciesList = null;

                if ((mFlags & Flags.AgeSpecies) != Flags.None)
                {
                    SetAgeSpecies(key, tuning, AgeSpecies);
                }

                if ((mFlags & Flags.Availability) != Flags.None)
                {
                    SetAvailability(key, tuning, mAvailability);
                }

                SetAdvertised(key, tuning, mAdvertisedOutputs);
            }
Ejemplo n.º 40
0
 protected void SetAdvertised(SettingsKey key, InteractionTuning tuning, Dictionary<CommodityKind, float> advertised)
 {
     if (Retuner.StoreDefault(key, tuning))
     {
         foreach (KeyValuePair<CommodityKind, float> pair in advertised)
         {
             foreach (CommodityChange change in tuning.mTradeoff.mOutputs)
             {
                 if (change.Commodity == pair.Key)
                 {
                     change.mConstantChange = pair.Value;
                 }
             }
         }
     }
 }
Ejemplo n.º 41
0
 public void StoreDefaultSettings(InteractionTuning data)
 {
     PrivateGetSettings(data, true, true);
 }
Ejemplo n.º 42
0
            public void SetAvailability(SettingsKey key, InteractionTuning tuning, Availability.FlagField availability, bool set)
            {
                if ((mFlags & Flags.Availability) == Flags.None)
                {
                    mAvailability = tuning.Availability.mFlags;
                }

                mFlags |= Flags.Availability;

                if (set)
                {
                    mAvailability |= availability;
                }
                else
                {
                    mAvailability &= ~availability;
                }

                if (Retuner.StoreDefault(key, tuning))
                {
                    if (set)
                    {
                        tuning.Availability.AddFlags(availability);
                    }
                    else
                    {
                        tuning.Availability.RemoveFlags(availability);
                    }
                }
            }
Ejemplo n.º 43
0
            public ITUNSettings(string name, InteractionTuning tuning, bool isDefault)
                : this(name)
            {
                mAutonomous = !tuning.HasFlags(InteractionTuning.FlagField.DisallowAutonomous);
                mUserDirected = !tuning.HasFlags(InteractionTuning.FlagField.DisallowUserDirected);
                mAgeSpecies = tuning.Availability.AgeSpeciesAvailabilityFlags;
                mAvailability = tuning.Availability.mFlags;

                if (isDefault)
                {
                    mFlags = Flags.All;
                }
            }
Ejemplo n.º 44
0
        protected ITUNSettings PrivateGetSettings(InteractionTuning tuning, bool create, bool isDefault)
        {
            string name = Retuner.TuningName(tuning.FullObjectName, tuning.FullInteractionName);

            ITUNSettings settings;
            if (!mSettings.TryGetValue(name, out settings)) 
            {
                if (create)
                {
                    settings = new ITUNSettings(name, tuning, isDefault);
                    mSettings.Add(name, settings);
                }
                else
                {
                    return null;
                }
            }

            return settings;
        }
Ejemplo n.º 45
0
            protected void SetAvailability(SettingsKey key, InteractionTuning tuning, Availability.FlagField availability)
            {
                mAvailability = availability;

                mFlags |= Flags.Availability;

                if (Retuner.StoreDefault(key, tuning))
                {
                    tuning.Availability.mFlags = mAvailability;
                }
            }
Ejemplo n.º 46
0
        public static bool StoreDefault(SettingsKey key, InteractionTuning tuning)
        {
            if (!key.IsActive) return false;

            sDefaultSettings.StoreDefaultSettings(tuning);
            return true;
        }