Exemple #1
0
        public override void SpawnSetup(Map map, bool respawningAfterLoad)
        {
            base.SpawnSetup(map, respawningAfterLoad);
            this.CurrentMap = map;
            WorldComp.AddDresser(this);

            if (settings == null)
            {
                base.settings = new StorageSettings(this);
                base.settings.CopyFrom(this.def.building.defaultStorageSettings);
                base.settings.filter.SetDisallowAll();
            }

            foreach (Building_RepairChangeDresser r in BuildingUtil.FindThingsOfTypeNextTo <Building_RepairChangeDresser>(base.Map, base.Position, Settings.RepairAttachmentDistance))
            {
#if DEBUG_REPAIR
                Log.Warning("Adding Dresser " + this.Label + " to " + r.Label);
#endif
                r.AddDresser(this);
            }

            this.UpdatePreviousStorageFilter();
        }
Exemple #2
0
        public override IEnumerable <Gizmo> GetGizmos()
        {
            IEnumerable <Gizmo> enumerables = base.GetGizmos();

            List <Gizmo> l;

            if (enumerables != null)
            {
                l = new List <Gizmo>(enumerables);
            }
            else
            {
                l = new List <Gizmo>(1);
            }

            int groupKey = this.GetType().Name.GetHashCode();

            Command_Action a = new Command_Action();

            a.icon          = WidgetUtil.manageapparelTexture;
            a.defaultDesc   = "ChangeDresser.ManageApparelDesc".Translate();
            a.defaultLabel  = "ChangeDresser.ManageApparel".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        = delegate { Find.WindowStack.Add(new UI.StorageUI(this, null)); };
            a.groupKey      = groupKey;
            ++groupKey;
            l.Add(a);

            a               = new Command_Action();
            a.icon          = WidgetUtil.assignweaponsTexture;
            a.defaultDesc   = "ChangeDresser.AssignOutfitsDesc".Translate();
            a.defaultLabel  = "ChangeDresser.AssignOutfits".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        = delegate { Find.WindowStack.Add(new UI.AssignOutfitUI(this)); };
            a.groupKey      = groupKey;
            ++groupKey;
            l.Add(a);

            a               = new Command_Action();
            a.icon          = WidgetUtil.customapparelTexture;
            a.defaultDesc   = "ChangeDresser.CustomOutfitsDesc".Translate();
            a.defaultLabel  = "ChangeDresser.CustomOutfits".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        = delegate { Find.WindowStack.Add(new UI.CustomOutfitUI(this)); };
            a.groupKey      = groupKey;
            ++groupKey;
            l.Add(a);

            a               = new Command_Action();
            a.icon          = WidgetUtil.emptyTexture;
            a.defaultDesc   = "ChangeDresser.EmptyDesc".Translate();
            a.defaultLabel  = "ChangeDresser.Empty".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        =
                delegate
            {
                this.Empty <Apparel>();
            };
            a.groupKey = groupKey;
            ++groupKey;
            l.Add(a);

            a               = new Command_Action();
            a.icon          = WidgetUtil.collectTexture;
            a.defaultDesc   = "ChangeDresser.CollectDesc".Translate();
            a.defaultLabel  = "ChangeDresser.Collect".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        =
                delegate
            {
                this.ReclaimApparel();
            };
            a.groupKey = groupKey;
            ++groupKey;
            l.Add(a);

            a = new Command_Action();
            if (this.includeInTradeDeals)
            {
                a.icon = WidgetUtil.yesSellTexture;
            }
            else
            {
                a.icon = WidgetUtil.noSellTexture;
            }
            a.defaultDesc   = "ChangeDresser.IncludeInTradeDealsDesc".Translate();
            a.defaultLabel  = "ChangeDresser.IncludeInTradeDeals".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        =
                delegate
            {
                this.includeInTradeDeals = !this.includeInTradeDeals;
            };
            a.groupKey = groupKey;
            ++groupKey;
            l.Add(a);

            a = new Command_Action();
            if (this.UseDresserToDressFrom)
            {
                a.icon = WidgetUtil.yesDressFromTexture;
            }
            else
            {
                a.icon = WidgetUtil.noDressFromTexture;
            }
            a.defaultDesc   = "ChangeDresser.UseDresserToDressFromDesc".Translate();
            a.defaultLabel  = "ChangeDresser.UseDresserToDressFrom".Translate();
            a.activateSound = SoundDef.Named("Click");
            a.action        =
                delegate
            {
                this.UseDresserToDressFrom = !this.UseDresserToDressFrom;
                if (this.UseDresserToDressFrom)
                {
                    WorldComp.AddDresser(this);
                }
                else
                {
                    WorldComp.RemoveDesser(this);
                }
            };
            a.groupKey = groupKey;
            ++groupKey;
            l.Add(a);

            return(SaveStorageSettingsGizmoUtil.AddSaveLoadGizmos(l, SaveTypeEnum.Apparel_Management, this.settings.filter));
        }