コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
        public GenericThingSelector(GenericThingSelector other)
        {
            ValidateArg.NotNull(other, nameof(other));

            _genericDef = other._genericDef;
            foreach (ThingDef def in _genericDef.AvailableDefs)
            {
                _thingFilter.SetAllow(def, true);
            }
        }
コード例 #4
0
        public GenericThingSelector(AIGenericDef genericDef)
        {
            ValidateArg.NotNull(genericDef, nameof(genericDef));

            _genericDef = genericDef;
            foreach (ThingDef def in _genericDef.AvailableDefs)
            {
                _thingFilter.SetAllow(def, true);
            }
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        /// <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);
            }
        }