Ejemplo n.º 1
0
        public override bool IsEqual(SettingsKey o)
        {
            SeasonKey key = o as SeasonKey;
            if (key == null) return false;

            if (mSeason != key.mSeason) return false;

            return base.IsEqual(o);
        }
Ejemplo n.º 2
0
 public override bool IsEqual(SettingsKey o)
 {
     if (o is GeneralKey)
     {
         return base.IsEqual(o);
     }
     else
     {
         return false;
     }
 }
Ejemplo n.º 3
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.º 4
0
        public override bool IsEqual(SettingsKey o)
        {
            SeasonKey key = o as SeasonKey;

            if (key == null)
            {
                return(false);
            }

            if (mSeason != key.mSeason)
            {
                return(false);
            }

            return(base.IsEqual(o));
        }
Ejemplo n.º 5
0
        public void Remove(SettingsKey key)
        {
            List <SeasonSettings> list;

            if (!SeasonSettings.TryGetValue(key.Season, out list))
            {
                return;
            }

            for (int i = list.Count - 1; i >= 0; i--)
            {
                if (list[i].Key.IsEqual(key))
                {
                    list.RemoveAt(i);
                }
            }
        }
Ejemplo n.º 6
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.º 7
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;
                }
            }
Ejemplo n.º 8
0
            public string ToXMLString(SettingsKey key)
            {
                string result = null;

                string[] names = mName.Split('|');

                result += "  <ITUN>";

                if (key != null)
                {
                    result += key.ToXMLString();
                }

                result += Common.NewLine + "    <ObjectName>" + names[0] + "</ObjectName>";
                result += Common.NewLine + "    <InteractionName>" + names[1] + "</InteractionName>";

                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    result += Common.NewLine + "    <Autonomous>" + mAutonomous + "</Autonomous>";
                }

                if ((mFlags & Flags.UserDirected) != Flags.None)
                {
                    result += Common.NewLine + "    <UserDirected>" + mUserDirected + "</UserDirected>";
                }

                if ((mFlags & Flags.AgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <AgeSpecies>" + mAgeSpecies + "</AgeSpecies>";
                }

                if ((mFlags & Flags.Availability) != Flags.None)
                {
                    result += Common.NewLine + "    <Availability>" + mAvailability + "</Availability>";
                }

                if (mAdvertisedOutputs.Count > 0)
                {
                    result += Common.NewLine + "    <Advertised>" + AdvertisedToString() + "</Advertised>";
                }

                result += Common.NewLine + "  </ITUN>";

                return(result);
            }
Ejemplo n.º 9
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.º 10
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.º 11
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;
                    }
                }
            }
Ejemplo n.º 12
0
        public bool Exists(SettingsKey key)
        {
            List <SeasonSettings> list;

            if (!SeasonSettings.TryGetValue(key.Season, out list))
            {
                return(false);
            }

            foreach (SeasonSettings settings in list)
            {
                if (settings.Key.IsEqual(key))
                {
                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 13
0
            public string ToXMLString(SettingsKey key)
            {
                string result = null;

                result += "  <Social>";

                if (key != null)
                {
                    result += key.ToXMLString();
                }

                result += Common.NewLine + "    <Name>" + mName + "</Name>";

                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    result += Common.NewLine + "    <Autonomous>" + mAutonomous + "</Autonomous>";
                }

                if ((mFlags & Flags.UserDirected) != Flags.None)
                {
                    result += Common.NewLine + "    <UserDirected>" + mUserDirected + "</UserDirected>";
                }

                if ((mFlags & Flags.AllowPregnant) != Flags.None)
                {
                    result += Common.NewLine + "    <AllowPregnant>" + mAllowPregnant + "</AllowPregnant>";
                }

                if ((mFlags & Flags.ActorAgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <ActorAgeSpecies>" + mActorAgeSpecies + "</ActorAgeSpecies>";
                }

                if ((mFlags & Flags.TargetAgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <TargetAgeSpecies>" + mTargetAgeSpecies + "</TargetAgeSpecies>";
                }

                result += Common.NewLine + "  </Social>";

                return(result);
            }
Ejemplo n.º 14
0
        public SeasonSettings GetSettings(SettingsKey key)
        {
            SeasonSettings result;

            if (key is CurrentKey)
            {
                if (sEmptySettings == null)
                {
                    sEmptySettings = new SeasonSettings(key);
                }

                result = sEmptySettings;
            }
            else
            {
                List <SeasonSettings> list;
                if (!SeasonSettings.TryGetValue(key.Season, out list))
                {
                    return(null);
                }

                result = null;
                foreach (SeasonSettings setting in list)
                {
                    if (setting.IsEqual(key))
                    {
                        result = setting;
                        break;
                    }
                }

                if (result == null)
                {
                    return(null);
                }
            }

            result.SetKey(key);

            return(result);
        }
Ejemplo n.º 15
0
        public void Import(Persistence.Lookup settings)
        {
            mKey = settings.GetChild <SettingsKey>("Key");

            mSettings.Clear();
            foreach (ITUNSettings setting in settings.GetList <ITUNSettings>("Settings"))
            {
                mSettings[setting.mName] = setting;
            }

            mTunables      = settings.GetList <TunableStore>("Tunables");
            mTunableLookup = null;

            mActionData.Clear();
            foreach (ActionDataSetting setting in settings.GetList <ActionDataSetting>("ActionData"))
            {
                mActionData[setting.mName] = setting;
            }

            Apply();
        }
Ejemplo n.º 16
0
 public override bool IsEqual(SettingsKey o)
 {
     return(o is CurrentKey);
 }
Ejemplo n.º 17
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.º 18
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.º 19
0
 public SeasonSettings(SettingsKey key)
 {
     mKey = key;
 }
Ejemplo n.º 20
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.º 21
0
 public void SetKey(SettingsKey key)
 {
     mKey = key;
 }
Ejemplo n.º 22
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.º 23
0
        public static bool StoreDefault(SettingsKey key, ActionData data)
        {
            if (!key.IsActive) return false;

            sDefaultSettings.StoreDefaultSettings(data);
            return true;
        }
Ejemplo n.º 24
0
        public static bool StoreDefault(SettingsKey key, InteractionTuning tuning)
        {
            if (!key.IsActive) return false;

            sDefaultSettings.StoreDefaultSettings(tuning);
            return true;
        }
Ejemplo n.º 25
0
            public void SetUserDirected(SettingsKey key, ActionData data, bool value)
            {
                mUserDirected = value;

                mFlags |= Flags.UserDirected;

                if (Retuner.StoreDefault(key, data))
                {
                    data.mUserDirectedOnly = value;
                }
            }
Ejemplo n.º 26
0
            public string ToXMLString(SettingsKey key)
            {
                string result = null;

                result += "  <Social>";

                if (key != null)
                {
                    result += key.ToXMLString();
                }

                result += Common.NewLine + "    <Name>" + mName + "</Name>";

                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    result += Common.NewLine + "    <Autonomous>" + mAutonomous + "</Autonomous>";
                }

                if ((mFlags & Flags.UserDirected) != Flags.None)
                {
                    result += Common.NewLine + "    <UserDirected>" + mUserDirected + "</UserDirected>";
                }

                if ((mFlags & Flags.AllowPregnant) != Flags.None)
                {
                    result += Common.NewLine + "    <AllowPregnant>" + mAllowPregnant + "</AllowPregnant>";
                }

                if ((mFlags & Flags.ActorAgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <ActorAgeSpecies>" + mActorAgeSpecies + "</ActorAgeSpecies>";
                }

                if ((mFlags & Flags.TargetAgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <TargetAgeSpecies>" + mTargetAgeSpecies + "</TargetAgeSpecies>";
                }

                result += Common.NewLine + "  </Social>";

                return result;
            }
Ejemplo n.º 27
0
            public void Apply(SettingsKey key, ActionData data)
            {
                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    SetAutonomous(key, data, mAutonomous);
                }

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

                if ((mFlags & Flags.AllowPregnant) != Flags.None)
                {
                    SetAllowPregnant(key, data, mAllowPregnant);
                }

                if ((mFlags & Flags.ActorAgeSpecies) != Flags.None)
                {
                    SetActorAgeSpecies(key, data, ActorAgeSpecies);
                }

                if ((mFlags & Flags.TargetAgeSpecies) != Flags.None)
                {
                    SetTargetAgeSpecies(key, data, TargetAgeSpecies);
                }
            }
Ejemplo n.º 28
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;
                }
            }
Ejemplo n.º 29
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;
                    }
                }
            }
Ejemplo n.º 30
0
 public bool IsEqual(SettingsKey key)
 {
     return(mKey.IsEqual(key));
 }
Ejemplo n.º 31
0
 public SeasonSettings(SettingsKey key)
 {
     mKey = key;
 }
Ejemplo n.º 32
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.º 33
0
 public bool IsEqual(SettingsKey key)
 {
     return mKey.IsEqual(key);
 }
Ejemplo n.º 34
0
        public void Import(Persistence.Lookup settings)
        {
            mKey = settings.GetChild<SettingsKey>("Key");

            mSettings.Clear();
            foreach (ITUNSettings setting in settings.GetList<ITUNSettings>("Settings"))
            {
                mSettings[setting.mName] = setting;
            }

            mTunables = settings.GetList<TunableStore>("Tunables");
            mTunableLookup = null;

            mActionData.Clear();
            foreach (ActionDataSetting setting in settings.GetList<ActionDataSetting>("ActionData"))
            {
                mActionData[setting.mName] = setting;
            }

            Apply();
        }
Ejemplo n.º 35
0
        public bool Exists(SettingsKey key)
        {
            List<SeasonSettings> list;
            if (!SeasonSettings.TryGetValue(key.Season, out list)) return false;

            foreach (SeasonSettings settings in list)
            {
                if (settings.Key.IsEqual(key)) return true;
            }

            return false;
        }
Ejemplo n.º 36
0
        public SeasonSettings Add(SettingsKey key, bool checkExist)
        {
            if (checkExist)
            {
                if (Exists(key)) return null;
            }

            List<SeasonSettings> list;
            if (!SeasonSettings.TryGetValue(key.Season, out list))
            {
                list = new List<SeasonSettings>();

                SeasonSettings.Add(key.Season, list);
            }

            SeasonSettings settings = new SeasonSettings(key);

            list.Add(settings);

            return settings;
        }
Ejemplo n.º 37
0
        public void Remove(SettingsKey key)
        {
            List<SeasonSettings> list;
            if (!SeasonSettings.TryGetValue(key.Season, out list)) return;

            for (int i = list.Count - 1; i >= 0; i--)
            {
                if (list[i].Key.IsEqual(key))
                {
                    list.RemoveAt(i);
                }
            }
        }
Ejemplo n.º 38
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.º 39
0
        public SeasonSettings GetSettings(SettingsKey key)
        {
            SeasonSettings result;

            if (key is CurrentKey)
            {
                if (sEmptySettings == null)
                {
                    sEmptySettings = new SeasonSettings(key);
                }

                result = sEmptySettings;
            }
            else
            {
                List<SeasonSettings> list;
                if (!SeasonSettings.TryGetValue(key.Season, out list)) return null;

                result = null;
                foreach (SeasonSettings setting in list)
                {
                    if (setting.IsEqual(key))
                    {
                        result = setting;
                        break;
                    }
                }

                if (result == null) return null;
            }

            result.SetKey(key);

            return result;
        }
Ejemplo n.º 40
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.º 41
0
        public virtual bool IsEqual(SettingsKey key)
        {
            if (mHours != key.mHours) return false;

            return true;
        }
Ejemplo n.º 42
0
 public void SetKey(SettingsKey key)
 {
     mKey = key;
 }
Ejemplo n.º 43
0
            public string ToXMLString(SettingsKey key)
            {
                string result = null;

                string[] names = mName.Split('|');

                result += "  <ITUN>";

                if (key != null)
                {
                    result += key.ToXMLString();
                }

                result += Common.NewLine + "    <ObjectName>" + names[0] + "</ObjectName>";
                result += Common.NewLine + "    <InteractionName>" + names[1] + "</InteractionName>";

                if ((mFlags & Flags.Autonomous) != Flags.None)
                {
                    result += Common.NewLine + "    <Autonomous>" + mAutonomous + "</Autonomous>";
                }

                if ((mFlags & Flags.UserDirected) != Flags.None)
                {
                    result += Common.NewLine + "    <UserDirected>" + mUserDirected + "</UserDirected>";
                }

                if ((mFlags & Flags.AgeSpecies) != Flags.None)
                {
                    result += Common.NewLine + "    <AgeSpecies>" + mAgeSpecies + "</AgeSpecies>";
                }

                if ((mFlags & Flags.Availability) != Flags.None)
                {
                    result += Common.NewLine + "    <Availability>" + mAvailability + "</Availability>";
                }

                if (mAdvertisedOutputs.Count > 0)
                {
                    result += Common.NewLine + "    <Advertised>" + AdvertisedToString() + "</Advertised>";
                }

                result += Common.NewLine + "  </ITUN>";

                return result;
            }
Ejemplo n.º 44
0
        public static bool StoreDefault(SettingsKey key, TunableStore store)
        {
            if (!key.IsActive) return false;

            if (store == null) return false;

            sDefaultSettings.AddTunable(store, false);
            return true;
        }
Ejemplo n.º 45
0
            public void SetAutonomous(SettingsKey key, ActionData data, bool value)
            {
                mAutonomous = value;

                mFlags |= Flags.Autonomous;

                if (Retuner.StoreDefault(key, data))
                {
                    data.mAutonomous = value;
                }
            }
Ejemplo n.º 46
0
 public ActiveSettingsToggle(SettingsKey season)
 {
     sActiveSettings = Retuner.Settings.GetSettings(season);
 }
Ejemplo n.º 47
0
 public override bool IsEqual(SettingsKey o)
 {
     return (o is CurrentKey);
 }