Esempio n. 1
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);
                    }
                }
            }
Esempio n. 2
0
        public override List <IByAgeSpeciesOption> GetOptions()
        {
            List <IByAgeSpeciesOption> results = new List <IByAgeSpeciesOption>();

            Dictionary <CASAGSAvailabilityFlags, List <InteractionTuning> > objects = new Dictionary <CASAGSAvailabilityFlags, List <InteractionTuning> >();

            foreach (InteractionTuning tuning in InteractionTuning.sAllTunings.Values)
            {
                foreach (CASAGSAvailabilityFlags ageSpecies in Retuner.AgeSpeciesToList(tuning.Availability.AgeSpeciesAvailabilityFlags))
                {
                    List <InteractionTuning> tunings;
                    if (!objects.TryGetValue(ageSpecies, out tunings))
                    {
                        tunings = new List <InteractionTuning>();
                        objects.Add(ageSpecies, tunings);
                    }

                    tunings.Add(tuning);
                }
            }

            foreach (KeyValuePair <CASAGSAvailabilityFlags, List <InteractionTuning> > pair in objects)
            {
                results.Add(new ByAgeSpeciesOption(pair.Key, pair.Value));
            }

            return(results);
        }
Esempio n. 3
0
            public void SetUserDirected(SettingsKey key, ActionData data, bool value)
            {
                mUserDirected = value;

                mFlags |= Flags.UserDirected;

                if (Retuner.StoreDefault(key, data))
                {
                    data.mUserDirectedOnly = value;
                }
            }
Esempio n. 4
0
            public void SetAutonomous(SettingsKey key, ActionData data, bool value)
            {
                mAutonomous = value;

                mFlags |= Flags.Autonomous;

                if (Retuner.StoreDefault(key, data))
                {
                    data.mAutonomous = value;
                }
            }
Esempio n. 5
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;
                }
            }
Esempio n. 6
0
 protected static List <CASAGSAvailabilityFlags> GetSettings(ActionData data)
 {
     SeasonSettings.ActionDataSetting settings = Retuner.SeasonSettings.GetSettings(data, false);
     if (settings != null)
     {
         List <CASAGSAvailabilityFlags> result;
         if (settings.GetTargetAgeSpecies(out result))
         {
             return(result);
         }
     }
     return(Retuner.AgeSpeciesToList(data.TargetAgeSpeciesAllowed));
 }
Esempio n. 7
0
 public void Apply(SettingsKey key)
 {
     try
     {
         if (Retuner.StoreDefault(key, Clone().SetToDefault(null)))
         {
             PrivateApply(null);
         }
     }
     catch (Exception e)
     {
         Common.Exception(ToString(), e);
     }
 }
Esempio n. 8
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));
        }
Esempio n. 9
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;
                 }
             }
         }
     }
 }
Esempio n. 10
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;
                }
            }
Esempio n. 11
0
            public void SetTargetAgeSpecies(SettingsKey key, ActionData data, List <CASAGSAvailabilityFlags> ageSpeciesList)
            {
                mTargetAgeSpeciesList = null;

                mFlags |= Flags.TargetAgeSpecies;

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

                if (Retuner.StoreDefault(key, data))
                {
                    data.mTargetAgeAllowed = mTargetAgeSpecies;
                }
            }
Esempio n. 12
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);
                    }
                }
            }
Esempio n. 13
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);
                    }
                }
            }
Esempio n. 14
0
            public void SetAllowPregnant(SettingsKey key, ActionData data, bool value)
            {
                mAllowPregnant = value;

                mFlags |= Flags.AllowPregnant;

                if (Retuner.StoreDefault(key, data))
                {
                    // Inverted
                    if (!value)
                    {
                        data.mDataBits |= ActionDataBase.ActionDataBits.DisallowedIfPregnant;
                    }
                    else
                    {
                        data.mDataBits &= ~ActionDataBase.ActionDataBits.DisallowedIfPregnant;
                    }
                }
            }
Esempio n. 15
0
        protected override void Perform(BooterHelper.BootFile file, XmlDbRow row)
        {
            string interactionName = row.GetString("InteractionName");

            if (string.IsNullOrEmpty(interactionName))
            {
                BooterLogger.AddError("InteractionName missing");
                return;
            }

            string objectName = row.GetString("ObjectName");

            if (string.IsNullOrEmpty(objectName))
            {
                BooterLogger.AddError("ObjectName missing");
                return;
            }

            Add(ParseKey(row), new SeasonSettings.ITUNSettings(Retuner.TuningName(objectName, interactionName), row));
        }
Esempio n. 16
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);
        }
Esempio n. 17
0
        protected override bool Allow(CASAGSAvailabilityFlags value)
        {
            switch (value)
            {
            case CASAGSAvailabilityFlags.AllAnimalsMask:
            case CASAGSAvailabilityFlags.AllBoatsMask:
            case CASAGSAvailabilityFlags.AllCatsMask:
            case CASAGSAvailabilityFlags.AllDogsMask:
            case CASAGSAvailabilityFlags.AllDomesticAnimalsMask:
            case CASAGSAvailabilityFlags.AllHorsesMask:
            case CASAGSAvailabilityFlags.AllHouseboatsMask:
            case CASAGSAvailabilityFlags.AllLittleDogsMask:
            case CASAGSAvailabilityFlags.AllWildAnimalsMask:
            case CASAGSAvailabilityFlags.GenderMask:
            case CASAGSAvailabilityFlags.HandednessMask:
            case CASAGSAvailabilityFlags.Houseboat6x20:
            case CASAGSAvailabilityFlags.Houseboat6x20Curved:
            case CASAGSAvailabilityFlags.Houseboat8x18Curved:
            case CASAGSAvailabilityFlags.HouseboatLarge:
            case CASAGSAvailabilityFlags.HouseboatMedium:
            case CASAGSAvailabilityFlags.HouseboatSmall:
            case CASAGSAvailabilityFlags.HumanAgeMask:
            case CASAGSAvailabilityFlags.LeftHanded:
            case CASAGSAvailabilityFlags.Paddleboat:
            case CASAGSAvailabilityFlags.RightHanded:
            case CASAGSAvailabilityFlags.Rowboat:
            case CASAGSAvailabilityFlags.Sailboat:
            case CASAGSAvailabilityFlags.Speedboat:
            case CASAGSAvailabilityFlags.WaterScooter:
            case CASAGSAvailabilityFlags.WindsurfBoardChild:
            case CASAGSAvailabilityFlags.WindsurfBoatAdult:
                return(false);
            }

            return(Retuner.Allow(value));
        }