public RendererSetupClipboardData(RendererSetup renderer)
     : base(renderer, "Renderer Setup")
 {
 }
        private void _listBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            int iSelIndex = _listBox.SelectedIndex;

              if (iSelIndex == ITEM_COPY)
              {
            EditorManager.Clipboard.Data = new RendererSetupClipboardData((RendererSetup)_rendererSetup.Clone());
              }
              if (iSelIndex == ITEM_PASTE)
              {
            _rendererSetup = (RendererSetup)_clipboardVersion.Clone();  // do not need to send action - just return differnt return value
            //EditorManager.Actions.Add(SetPropertyAction.CreateSetPropertyAction(_layer,"RendererSetup",_clipboardVersion.Clone()));
              }
              if (iSelIndex == ITEM_LOAD)
              {
            LoadRendererSettings();
              }
              if (iSelIndex == ITEM_SAVE)
              {
            SaveRendererSettings();
              }
              if (iSelIndex == ITEM_EXPORT)
              {
            ExportRendererSettings();
              }

              editorService.CloseDropDown();
        }
        void LoadRendererSettings()
        {
            OpenFileDialog dlg = new OpenFileDialog();
              dlg.InitialDirectory = EditorManager.Project.ProjectDir;
              dlg.FileName = null;
              dlg.Filter = "Renderer Setup|*.Renderer";
              dlg.Title = "Load renderer setup from file";

              if (dlg.ShowDialog() != DialogResult.OK)
            return;

              string filename = dlg.FileName;
              dlg.Dispose();

              RendererSetup _setup = null;
              try
              {
            BinaryFormatter fmt = SerializationHelper.BINARY_FORMATTER;
            FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
            _setup = (RendererSetup)fmt.Deserialize(fs);
            fs.Close();
              }
              catch (Exception ex)
              {
            EditorManager.ShowMessageBox("Failed to load renderer setup from file:\n\n" + ex.Message, "Error loading file", MessageBoxButtons.OK, MessageBoxIcon.Error);
              }
              if (_setup != null)
            _rendererSetup = _setup; // new return value
        }
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;
              _rendererSetup = value as RendererSetup;
              _layer = context.Instance as V3DLayer;

              _listBox.Items.Clear();

              if (_rendererSetup == null || _layer == null)
            return value;

              bool bHasNodeClass = !string.IsNullOrEmpty(_rendererSetup._rendererNodeClass) && _rendererSetup._rendererNodeClass != EditorManager.RendererNodeManager.DefaultRendererNodeClass;
              _clipboardVersion = EditorManager.Clipboard.DataObject as RendererSetup;

              if (bHasNodeClass)
            ITEM_COPY = _listBox.Items.Add("Copy");
              if (_clipboardVersion != null)
            ITEM_PASTE = _listBox.Items.Add("Paste");
              ITEM_LOAD = _listBox.Items.Add("Load from external file");
              if (bHasNodeClass)
              {
            ITEM_SAVE = _listBox.Items.Add("Save to external file");
            ITEM_EXPORT = _listBox.Items.Add("Export to engine file");
              }

              editorService.DropDownControl(_listBox);
              return _rendererSetup; // might have changed
        }
Exemple #5
0
 static void Postfix()
 {
     RendererSetup.SetupProbes();
 }
Exemple #6
0
 static void Postfix(Male __instance)
 {
     RendererSetup.SetupProbes(__instance);
 }