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); } } }
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); }
public void SetUserDirected(SettingsKey key, ActionData data, bool value) { mUserDirected = value; mFlags |= Flags.UserDirected; if (Retuner.StoreDefault(key, data)) { data.mUserDirectedOnly = value; } }
public void SetAutonomous(SettingsKey key, ActionData data, bool value) { mAutonomous = value; mFlags |= Flags.Autonomous; if (Retuner.StoreDefault(key, data)) { data.mAutonomous = value; } }
protected void SetAvailability(SettingsKey key, InteractionTuning tuning, Availability.FlagField availability) { mAvailability = availability; mFlags |= Flags.Availability; if (Retuner.StoreDefault(key, tuning)) { tuning.Availability.mFlags = mAvailability; } }
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)); }
public void Apply(SettingsKey key) { try { if (Retuner.StoreDefault(key, Clone().SetToDefault(null))) { PrivateApply(null); } } catch (Exception e) { Common.Exception(ToString(), e); } }
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)); }
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; } } } } }
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; } }
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; } }
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); } } }
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); } } }
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; } } }
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)); }
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); }
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)); }