Пример #1
0
 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("¼Ò¾ß");
 }
Пример #2
0
 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);
     }
 }