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(); }
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)); }