public override string GetDisplayName(SubsystemTerrain subsystemTerrain, int value) { if (subsystemTerrain != null) { int designIndex = GetDesignIndex(Terrain.ExtractData(value)); FurnitureDesign design = subsystemTerrain.SubsystemFurnitureBlockBehavior.GetDesign(designIndex); if (design != null) { if (!string.IsNullOrEmpty(design.Name)) { return(design.Name); } return(design.GetDefaultName()); } } return("¼Ò¾ß"); }
public override void Update() { m_nameLabel.Text = (string.IsNullOrEmpty(m_design.Name) ? m_design.GetDefaultName() : m_design.Name); m_designWidget2d.Mode = (FurnitureDesignWidget.ViewMode)m_axis; m_designWidget3d.Mode = FurnitureDesignWidget.ViewMode.Perspective; if (m_designWidget2d.Mode == FurnitureDesignWidget.ViewMode.Side) { m_axisButton.Text = LanguageControl.Get(fName, 4); } if (m_designWidget2d.Mode == FurnitureDesignWidget.ViewMode.Top) { m_axisButton.Text = LanguageControl.Get(fName, 5); } if (m_designWidget2d.Mode == FurnitureDesignWidget.ViewMode.Front) { m_axisButton.Text = LanguageControl.Get(fName, 6); } m_leftButton.IsEnabled = IsShiftPossible(DirectionAxisToDelta(0, m_axis)); m_rightButton.IsEnabled = IsShiftPossible(DirectionAxisToDelta(1, m_axis)); m_upButton.IsEnabled = IsShiftPossible(DirectionAxisToDelta(2, m_axis)); m_downButton.IsEnabled = IsShiftPossible(DirectionAxisToDelta(3, m_axis)); m_decreaseResolutionButton.IsEnabled = IsDecreaseResolutionPossible(); m_increaseResolutionButton.IsEnabled = IsIncreaseResolutionPossible(); m_resolutionLabel.Text = $"{m_design.Resolution}"; m_buildButton.IsEnabled = m_isValid; if (m_nameButton.IsClicked) { List <Tuple <string, Action> > list = new List <Tuple <string, Action> >(); if (m_sourceDesign != null) { list.Add(new Tuple <string, Action>(LanguageControl.Get(fName, 7), delegate { Dismiss(result: false); DialogsManager.ShowDialog(base.ParentWidget, new TextBoxDialog(LanguageControl.Get(fName, 10), m_sourceDesign.Name, 20, delegate(string s) { try { if (s != null) { m_sourceDesign.Name = s; } } catch (Exception ex3) { DialogsManager.ShowDialog(base.ParentWidget, new MessageDialog(LanguageControl.Get("Usual", "error"), ex3.Message, LanguageControl.Get("Usual", "ok"), null, null)); } })); })); list.Add(new Tuple <string, Action>(LanguageControl.Get(fName, 8), delegate { DialogsManager.ShowDialog(base.ParentWidget, new TextBoxDialog(LanguageControl.Get(fName, 11), m_design.Name, 20, delegate(string s) { try { if (s != null) { m_design.Name = s; } } catch (Exception ex2) { DialogsManager.ShowDialog(base.ParentWidget, new MessageDialog(LanguageControl.Get("Usual", "error"), ex2.Message, LanguageControl.Get("Usual", "ok"), null, null)); } })); })); } else { list.Add(new Tuple <string, Action>(LanguageControl.Get(fName, 9), delegate { DialogsManager.ShowDialog(base.ParentWidget, new TextBoxDialog(LanguageControl.Get(fName, 11), m_design.Name, 20, delegate(string s) { try { if (s != null) { m_design.Name = s; } } catch (Exception ex) { DialogsManager.ShowDialog(base.ParentWidget, new MessageDialog(LanguageControl.Get("Usual", "error"), ex.Message, LanguageControl.Get("Usual", "ok"), null, null)); } })); })); } if (list.Count == 1) { list[0].Item2(); } else { DialogsManager.ShowDialog(base.ParentWidget, new ListSelectionDialog(LanguageControl.Get(fName, 11), list, 64f, (object t) => ((Tuple <string, Action>) t).Item1, delegate(object t) { ((Tuple <string, Action>)t).Item2(); })); } } if (m_axisButton.IsClicked) { m_axis = (m_axis + 1) % 3; } if (m_leftButton.IsClicked) { Shift(DirectionAxisToDelta(0, m_axis)); } if (m_rightButton.IsClicked) { Shift(DirectionAxisToDelta(1, m_axis)); } if (m_upButton.IsClicked) { Shift(DirectionAxisToDelta(2, m_axis)); } if (m_downButton.IsClicked) { Shift(DirectionAxisToDelta(3, m_axis)); } if (m_mirrorButton.IsClicked) { m_design.Mirror(m_axis); } if (m_turnRightButton.IsClicked) { m_design.Rotate(m_axis, 1); } if (m_decreaseResolutionButton.IsClicked) { DecreaseResolution(); } if (m_increaseResolutionButton.IsClicked) { IncreaseResolution(); } if (m_buildButton.IsClicked && m_isValid) { Dismiss(result: true); } if (base.Input.Back || m_cancelButton.IsClicked) { Dismiss(result: false); } }