/// <summary> /// Initializes a new instance of the <see cref="GenericThingSelector"/> class. /// </summary> /// <param name="other"> Copy <paramref name="other"/> to this selector. </param> public GenericThingSelector(GenericThingSelector other) { ValidateArg.NotNull(other, nameof(other)); _genericDef = other._genericDef; _genericDef.thingCategories.ForEach(t => _thingFilter.SetAllow(t, true, _genericDef.ExcepDefs)); }
/// <summary> /// Initializes a new instance of the <see cref="GenericThingSelector"/> class. /// </summary> /// <param name="genericDef"> The generic def used for this selector. </param> public GenericThingSelector(AIGenericDef genericDef) { ValidateArg.NotNull(genericDef, nameof(genericDef)); _genericDef = genericDef; _genericDef.ThingCategoryDefs.ToList().ForEach(t => _thingFilter.SetAllow(t, true, _genericDef.ExcepDefs)); }
public GenericThingSelector(GenericThingSelector other) { ValidateArg.NotNull(other, nameof(other)); _genericDef = other._genericDef; foreach (ThingDef def in _genericDef.AvailableDefs) { _thingFilter.SetAllow(def, true); } }
public GenericThingSelector(AIGenericDef genericDef) { ValidateArg.NotNull(genericDef, nameof(genericDef)); _genericDef = genericDef; foreach (ThingDef def in _genericDef.AvailableDefs) { _thingFilter.SetAllow(def, true); } }
/// <summary> /// Save state. /// </summary> public override void ExposeData() { base.ExposeData(); string defName = _genericDef?.defName ?? string.Empty; Scribe_Values.Look(ref defName, nameof(defName)); if (Scribe.mode == LoadSaveMode.LoadingVars) { _genericDef = DefDatabase <AIGenericDef> .GetNamed(defName); } }
/// <summary> /// Save state. /// </summary> public override void ExposeData() { base.ExposeData(); if (Scribe.mode == LoadSaveMode.Saving || Scribe.mode == LoadSaveMode.LoadingVars) { _defName = _genericDef?.defName ?? string.Empty; Scribe_Values.Look(ref _defName, nameof(_defName)); } if (Scribe.mode == LoadSaveMode.ResolvingCrossRefs) { _genericDef = DefDatabase <AIGenericDef> .GetNamed(_defName); } }