public void AddToFurnitureSet(FurnitureDesign design, FurnitureSet furnitureSet) { foreach (FurnitureDesign item in design.ListChain()) { item.FurnitureSet = furnitureSet; } }
public void DeleteFurnitureSet(FurnitureSet furnitureSet) { foreach (FurnitureDesign furnitureSetDesign in GetFurnitureSetDesigns(furnitureSet)) { furnitureSetDesign.FurnitureSet = null; } m_furnitureSets.Remove(furnitureSet); }
public void MoveFurnitureSet(int move) { FurnitureSet furnitureSet = m_furnitureSetList.SelectedItem as FurnitureSet; if (furnitureSet != null) { SubsystemFurnitureBlockBehavior.MoveFurnitureSet(furnitureSet, move); Invalidate(); } }
public void MoveFurnitureSet(FurnitureSet furnitureSet, int move) { int num = m_furnitureSets.IndexOf(furnitureSet); if (num >= 0) { m_furnitureSets.RemoveAt(num); m_furnitureSets.Insert(MathUtils.Clamp(num + move, 0, m_furnitureSets.Count), furnitureSet); } }
public FurnitureSetItemWidget(FurnitureInventoryPanel furnitureInventoryWidget, FurnitureSet furnitureSet) { m_furnitureInventoryPanel = furnitureInventoryWidget; m_furnitureSet = furnitureSet; XElement node = ContentManager.Get <XElement>("Widgets/FurnitureSetItemWidget"); LoadContents(this, node); LabelWidget labelWidget = Children.Find <LabelWidget>("FurnitureSetItem.Name"); LabelWidget labelWidget2 = Children.Find <LabelWidget>("FurnitureSetItem.DesignsCount"); labelWidget.Text = ((furnitureSet == null) ? "Uncategorized" : furnitureSet.Name); labelWidget2.Text = $"{CountFurnitureDesigns()} design(s)"; }
public void DeleteFurnitureSet() { FurnitureSet furnitureSet = m_furnitureSetList.SelectedItem as FurnitureSet; if (furnitureSet != null) { int num = SubsystemFurnitureBlockBehavior.FurnitureSets.IndexOf(furnitureSet); SubsystemFurnitureBlockBehavior.DeleteFurnitureSet(furnitureSet); SubsystemFurnitureBlockBehavior.GarbageCollectDesigns(); ComponentFurnitureInventory.FurnitureSet = ((num > 0) ? SubsystemFurnitureBlockBehavior.FurnitureSets[num - 1] : null); Invalidate(); } }
public void NewFurnitureSet() { ComponentPlayer componentPlayer = ComponentFurnitureInventory.Entity.FindComponent <ComponentPlayer>(throwOnError: true); base.Input.EnterText(componentPlayer.GuiWidget, LanguageControl.Get(fName, 15), LanguageControl.Get(fName, 16), 20, delegate(string s) { if (s != null) { FurnitureSet furnitureSet = SubsystemFurnitureBlockBehavior.NewFurnitureSet(s, null); ComponentFurnitureInventory.FurnitureSet = furnitureSet; Populate(); m_furnitureSetList.ScrollToItem(furnitureSet); } }); }
public void RenameFurnitureSet() { FurnitureSet furnitureSet = m_furnitureSetList.SelectedItem as FurnitureSet; if (furnitureSet != null) { ComponentPlayer componentPlayer = ComponentFurnitureInventory.Entity.FindComponent <ComponentPlayer>(throwOnError: true); base.Input.EnterText(componentPlayer.GuiWidget, LanguageControl.Get(fName, 17), furnitureSet.Name, 20, delegate(string s) { if (s != null) { furnitureSet.Name = s; Invalidate(); } }); } }
public FurnitureSet NewFurnitureSet(string name, string importedFrom) { if (name.Length > MaxFurnitureSetNameLength) { name = name.Substring(0, MaxFurnitureSetNameLength); } int num = 0; while (FurnitureSets.FirstOrDefault((FurnitureSet fs) => fs.Name == name) != null) { num++; name = ((num > 0) ? (name + num.ToString(CultureInfo.InvariantCulture)) : name); } FurnitureSet furnitureSet = new FurnitureSet { Name = name, ImportedFrom = importedFrom }; m_furnitureSets.Add(furnitureSet); return(furnitureSet); }
public override void Load(ValuesDictionary valuesDictionary) { base.Load(valuesDictionary); m_subsystemAudio = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true); m_subsystemSoundMaterials = base.Project.FindSubsystem <SubsystemSoundMaterials>(throwOnError: true); m_subsystemItemsScanner = base.Project.FindSubsystem <SubsystemItemsScanner>(throwOnError: true); m_subsystemGameInfo = base.Project.FindSubsystem <SubsystemGameInfo>(throwOnError: true); m_subsystemPickables = base.Project.FindSubsystem <SubsystemPickables>(throwOnError: true); m_subsystemParticles = base.Project.FindSubsystem <SubsystemParticles>(throwOnError: true); ValuesDictionary value = valuesDictionary.GetValue <ValuesDictionary>("FurnitureDesigns"); foreach (FurnitureDesign item in LoadFurnitureDesigns(base.SubsystemTerrain, value)) { m_furnitureDesigns[item.Index] = item; } foreach (ValuesDictionary item2 in valuesDictionary.GetValue <ValuesDictionary>("FurnitureSets").Values.Where((object v) => v is ValuesDictionary)) { string value2 = item2.GetValue <string>("Name"); string value3 = item2.GetValue <string>("ImportedFrom", null); string value4 = item2.GetValue <string>("Indices"); int[] array = HumanReadableConverter.ValuesListFromString <int>(';', value4); FurnitureSet furnitureSet = new FurnitureSet { Name = value2, ImportedFrom = value3 }; m_furnitureSets.Add(furnitureSet); int[] array2 = array; foreach (int num in array2) { if (num >= 0 && num < m_furnitureDesigns.Length && m_furnitureDesigns[num] != null) { m_furnitureDesigns[num].FurnitureSet = furnitureSet; } } } m_subsystemItemsScanner.ItemsScanned += GarbageCollectDesigns; }
public void ImportFurnitureSet(SubsystemTerrain subsystemTerrain) { FurniturePacksManager.UpdateFurniturePacksList(); if (FurniturePacksManager.FurniturePackNames.Count() == 0) { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 18), LanguageControl.Get(fName, 19), LanguageControl.Get("Usual", "ok"), null, null)); } else { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new ListSelectionDialog(LanguageControl.Get(fName, 20), FurniturePacksManager.FurniturePackNames, 64f, (object s) => FurniturePacksManager.GetDisplayName((string)s), delegate(object s) { try { int num = 0; int num2 = 0; string text = (string)s; List <List <FurnitureDesign> > list = FurnitureDesign.ListChains(FurniturePacksManager.LoadFurniturePack(subsystemTerrain, text)); List <FurnitureDesign> list2 = new List <FurnitureDesign>(); SubsystemFurnitureBlockBehavior.GarbageCollectDesigns(); foreach (List <FurnitureDesign> item in list) { FurnitureDesign furnitureDesign = SubsystemFurnitureBlockBehavior.TryAddDesignChain(item[0], garbageCollectIfNeeded: false); if (furnitureDesign == item[0]) { list2.Add(furnitureDesign); } else if (furnitureDesign == null) { num2++; } else { num++; } } if (list2.Count > 0) { FurnitureSet furnitureSet = SubsystemFurnitureBlockBehavior.NewFurnitureSet(FurniturePacksManager.GetDisplayName(text), text); foreach (FurnitureDesign item2 in list2) { SubsystemFurnitureBlockBehavior.AddToFurnitureSet(item2, furnitureSet); } ComponentFurnitureInventory.FurnitureSet = furnitureSet; } Invalidate(); string text2 = string.Format(LanguageControl.Get(fName, 1), list2.Count); if (num > 0) { text2 += string.Format(LanguageControl.Get(fName, 2), num); } if (num2 > 0) { text2 += string.Format(LanguageControl.Get(fName, 3), num2, 65535); } DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 4), text2.Trim(), LanguageControl.Get("Usual", "ok"), null, null)); } catch (Exception ex) { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 5), ex.Message, LanguageControl.Get("Usual", "ok"), null, null)); } })); } }
public IEnumerable <FurnitureDesign> GetFurnitureSetDesigns(FurnitureSet furnitureSet) { return(m_furnitureDesigns.Where((FurnitureDesign fd) => fd != null && fd.FurnitureSet == furnitureSet)); }