Beispiel #1
0
        private void ButtonClearAll_Click(ProcedureUI.Button sender)
        {
            if (EditorMessageBox.ShowQuestion(Translate("Delete all objects and child components?"), MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }

            var undoMultiAction = new UndoMultiAction();

            foreach (var groupOfObjects in GetObjects <Component_GroupOfObjects>())
            {
                var indexes = groupOfObjects.ObjectsGetAll();
                if (indexes.Count != 0)
                {
                    var action = new Component_GroupOfObjects_Editor.UndoActionCreateDelete(groupOfObjects, indexes.ToArray(), false, true);
                    undoMultiAction.AddAction(action);
                }

                var components = groupOfObjects.GetComponents();
                undoMultiAction.AddAction(new UndoActionComponentCreateDelete(Provider.DocumentWindow.Document, components, false));
            }

            if (undoMultiAction.Actions.Count != 0)
            {
                Provider.DocumentWindow.Document.CommitUndoAction(undoMultiAction);
            }
        }
Beispiel #2
0
        private void ButtonExport_Click(ProcedureUI.Button sender)
        {
            var meshes = GetObjects <Component_Mesh>();

            if (meshes.Length != 1)
            {
                return;
            }
            var mesh = meshes[0];

#if !DEPLOY
            var dialog = new SaveFileDialog();
            //dialog.InitialDirectory = Path.GetDirectoryName( RealFileName );
            //dialog.FileName = RealFileName;
            dialog.Filter           = "FBX files (*.fbx)|*.fbx";
            dialog.RestoreDirectory = true;
            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var fileName = dialog.FileName;

            if (!mesh.ExportToFBX(fileName, out var error))
            {
                EditorMessageBox.ShowWarning(error);
            }
#endif
        }
Beispiel #3
0
        private unsafe void ButtonStatistics_Click(ProcedureUI.Button sender)
        {
            var groupOfObjects = GetObjects <Component_GroupOfObjects>();

            if (groupOfObjects.Length != 1)
            {
                return;
            }

            var groupOfObject = groupOfObjects[0];
            var indexes       = groupOfObject.ObjectsGetAll();
            var objectSize    = sizeof(Component_GroupOfObjects.Object);

            var  lines      = new List <string>();
            long totalCount = 0;

            foreach (var element in groupOfObject.GetComponents <Component_GroupOfObjectsElement>())
            {
                long count = 0;
                foreach (var index in indexes)
                {
                    ref var data = ref groupOfObject.ObjectGetData(index);
                    if (data.Element == element.Index)
                    {
                        count++;
                    }
                }

                lines.Add($"{element}: {count }");
                //lines.Add( string.Format( $"Element: {element}, Objects: {count }, Size {count * objectSize / 1024 / 1024} MB.\r\n" ) );
                totalCount += count;
            }
Beispiel #4
0
 private void ButtonUpdate_Click(ProcedureUI.Button sender)
 {
     foreach (var effect in GetObjects <Component_RenderingEffect_CodeGenerated>())
     {
         effect.ResultCompile();
     }
 }
Beispiel #5
0
        ///////////////////////////////////////////////

        protected override void OnInit()
        {
            buttonRender        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Render"));
            buttonRender.Click += ButtonCalculate_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonRender });
        }
Beispiel #6
0
        private void ButtonUpload_Click(ProcedureUI.Button sender)
        {
            if (EditorMessageBox.ShowQuestion("Upload selected products to the store?", EMessageBoxButtons.OKCancel) == EDialogResult.Cancel)
            {
                return;
            }

            var item = ScreenNotifications.ShowSticky("Processing...");

            try
            {
                foreach (var product in GetObjects <Component_StoreProduct>())
                {
                    if (!product.BuildArchive())
                    {
                        return;
                    }
                }
            }
            catch (Exception e)
            {
                Log.Warning(e.Message);
                return;
            }
            finally
            {
                item.Close();
            }

            ScreenNotifications.Show("The product was prepared successfully.");
        }
        protected override void OnInitUI()
        {
            buttonBakeIntoMesh        = ProcedureForm.CreateButton(Translate("Bake into Mesh"));
            buttonBakeIntoMesh.Click += ButtonBakeIntoMesh_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonBakeIntoMesh });
        }
 private void ButtonUpdate_Click(ProcedureUI.Button sender)
 {
     foreach (var mesh in GetObjects <Component_RenderingEffect>())
     {
         mesh.ResultCompile();
     }
 }
Beispiel #9
0
        //

        protected override void OnInit()
        {
            {
                var textInfo = ProcedureForm.CreateText("Easy HDR file import");                  // Specify web of file path to a file." );
                textInfo.Bold = true;
                ProcedureForm.AddRow(new ProcedureUI.Control[] { textInfo });
            }

            {
                var textInfo = ProcedureForm.CreateText("Specify web or file path to a file, click Import.");
                ProcedureForm.AddRow(new ProcedureUI.Control[] { textInfo });
            }

            editLink = ProcedureForm.CreateEdit("https://hdrihaven.com/files/hdris/qwantani_1k.hdr");
            //editLink.TextChanged
            ProcedureForm.AddRow(new ProcedureUI.Control[] { editLink });

            buttonImport        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Import"));
            buttonImport.Click += ButtonImport_Click;
            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonImport });

            {
                var textInfo = ProcedureForm.CreateText("Huge set of 100% Free HDRIs, for Everyone");                  // Specify web of file path to a file." );
                textInfo.Bold = true;
                ProcedureForm.AddRow(new ProcedureUI.Control[] { textInfo });
            }

            buttonHDRIHaven        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Go to HDRI Haven"), ProcedureUI.Button.SizeEnum.Long);
            buttonHDRIHaven.Click += ButtonHDRIHaven_Click;
            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonHDRIHaven });
        }
        //

        protected override void OnInitUI()
        {
            buttonClick        = ProcedureForm.CreateButton("Click");
            buttonClick.Click += ButtonClick_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonClick });
        }
        private void ButtonPlay_Click(ProcedureUI.Button sender)
        {
            var obj = GetObject();

            if (obj == null)
            {
                return;
            }

            var oldValue = obj.Activated;

            //update
            if (obj.Activated)
            {
                obj.RecreateData(false);
            }
            else
            {
                obj.Activated = true;
            }

            //undo
            if (oldValue != obj.Activated)
            {
                var property   = (Metadata.Property)obj.MetadataGetMemberBySignature("property:Activated");
                var undoAction = new UndoActionPropertiesChange(new UndoActionPropertiesChange.Item(obj, property, oldValue, null));
                Provider.DocumentWindow.Document.CommitUndoAction(undoAction);
            }
        }
        //protected override void OnLoad( EventArgs e )
        //{
        //	base.OnLoad( e );

        //	if( Script != null )
        //	{
        //		kryptonTextBoxCode.Text = Script.Code;
        //		if( !string.IsNullOrEmpty( Script.Code.GetByReference ) )
        //			kryptonTextBoxCode.ReadOnly = true;
        //	}
        //}

        //private void kryptonTextBoxCode_Leave( object sender, EventArgs e )
        //{
        //	//!!!!

        //	if( Script != null && Provider.DocumentWindow?.Document != null )
        //	{
        //		var newCode = kryptonTextBoxCode.Text;
        //		if( newCode != Script.Code.Value )
        //		{
        //			var oldValue = Script.Code;

        //			var undoItem = new UndoActionPropertiesChange.Item( Script, (Metadata.Property)MetadataManager.GetTypeOfNetType( typeof( Component_Script ) ).MetadataGetMemberBySignature( "property:Code" ), oldValue, null );
        //			Provider.DocumentWindow.Document.UndoSystem.CommitAction( new UndoActionPropertiesChange( undoItem ) );
        //			Provider.DocumentWindow.Document.Modified = true;
        //		}
        //	}
        //}

        private void ButtonUpdate_Click(ProcedureUI.Button sender)
        {
            foreach (var script in GetObjects <Component_CSharpScript>())
            {
                script.Update();
            }
        }
 private void ButtonStop_Click(ProcedureUI.Button sender)
 {
     foreach (var obj in GetObjects <Component_ComputeUsingThreads>())
     {
         obj.Stop();
     }
 }
Beispiel #14
0
        //

        protected override void OnInit()
        {
            buttonUpdate        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Update"));
            buttonUpdate.Click += ButtonUpdate_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonUpdate });
        }
        protected override void OnInit()
        {
            buttonReimport        = ProcedureForm.CreateButton(Translate("Re-import"));
            buttonReimport.Click += ButtonReimport_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonReimport });
        }
        private void ButtonGenerate_Click(ProcedureUI.Button sender)
        {
            //!!!!support undo
            var text = "Generate world?\n\nUnable to undo the action.";

            if (EditorMessageBox.ShowQuestion(text, EMessageBoxButtons.OKCancel) == EDialogResult.Cancel)
            {
                return;
            }

            var notification = ScreenNotifications.ShowSticky("Processing...");

            try
            {
                foreach (var generator in GetObjects <Component_WorldGenerator>())
                {
                    generator.Generate(Provider.DocumentWindow.Document);
                }

                //!!!!
                //clear undo history
                Provider.DocumentWindow.Document?.UndoSystem.Clear();
            }
            finally
            {
                notification.Close();
            }
        }
        private void ButtonBuild_Click(ProcedureUI.Button sender)
        {
            var pathfinding = GetObject();

            if (pathfinding == null)
            {
                return;
            }

            var oldNavMeshData = pathfinding.NavMeshData;

            if (!pathfinding.BuildNavMesh(out var error))
            {
                Log.Error(error);
                return;
            }

            //undo
            {
                var property = (Metadata.Property)pathfinding.MetadataGetMemberBySignature("property:NavMeshData");

                var undoItems = new List <UndoActionPropertiesChange.Item>();
                undoItems.Add(new UndoActionPropertiesChange.Item(pathfinding, property, oldNavMeshData, null));
                var undoAction = new UndoActionPropertiesChange(undoItems.ToArray());

                Provider.DocumentWindow.Document.UndoSystem.CommitAction(undoAction);
                Provider.DocumentWindow.Document.Modified = true;
            }
        }
Beispiel #18
0
 private void ButtonHDRIHaven_Click(ProcedureUI.Button obj)
 {
     Process.Start(new ProcessStartInfo("https://hdrihaven.com/hdris/")
     {
         UseShellExecute = true
     });
 }
 private void ButtonInfo_Click(ProcedureUI.Button sender)
 {
     if (Script != null)
     {
         EditorMessageBox.ShowInfo(GetInfo(Script));
     }
 }
 private void ButtonClick_Click(ProcedureUI.Button sender)
 {
     foreach (var button in GetObjects <Component_ButtonInSpace>())
     {
         button.ClickingBegin();
     }
 }
Beispiel #21
0
        private void ButtonClearObjects_Click(ProcedureUI.Button obj)
        {
            if (EditorMessageBox.ShowQuestion(Translate("Delete all objects of the element?"), MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }

            var undoMultiAction = new UndoMultiAction();

            foreach (var element in GetObjects <Component_GroupOfObjectsElement>())
            {
                var groupOfObjects = element.Parent as Component_GroupOfObjects;
                if (groupOfObjects != null)
                {
                    var indexes = element.GetObjectsOfElement();
                    if (indexes.Count != 0)
                    {
                        var action = new Component_GroupOfObjects_Editor.UndoActionCreateDelete(groupOfObjects, indexes.ToArray(), false, true);
                        undoMultiAction.AddAction(action);
                    }
                }
            }

            if (undoMultiAction.Actions.Count != 0)
            {
                Provider.DocumentWindow.Document.CommitUndoAction(undoMultiAction);
            }
        }
Beispiel #22
0
 private void ButtonUpdate_Click(ProcedureUI.Button sender)
 {
     foreach (var system in GetObjects <Component_ParticleSystem>())
     {
         system.MustRecreateInstances();
         system.ResultCompile();
     }
 }
 private void ButtonUpdate_Click(ProcedureUI.Button sender)
 {
     foreach (var material in GetObjects <Component_Material>())
     {
         material.ResultCompile();
     }
     //foreach( var material in GetMaterials() )
     //	material.ShouldRecompile = true;
 }
Beispiel #24
0
        private unsafe void ButtonUpdateVariations_Click(ProcedureUI.Button sender)
        {
            if (EditorMessageBox.ShowQuestion(Translate("Update variations of the objects?"), MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }

            UpdateSurfaceElementVariations(false);
        }
Beispiel #25
0
        private unsafe void ButtonUpdate_Click(ProcedureUI.Button sender)
        {
            var areas = GetObjects <Component_SurfaceArea>();

            foreach (var area in areas)
            {
                area.UpdateOutput();
            }
        }
Beispiel #26
0
        private void ButtonRandomizeGroups_Click(ProcedureUI.Button obj)
        {
            if (EditorMessageBox.ShowQuestion(Translate("Refresh surface groups randomly?"), MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }

            UpdateSurfaceElementVariations(true);
        }
Beispiel #27
0
        private void ButtonResetColors_Click(ProcedureUI.Button obj)
        {
            if (EditorMessageBox.ShowQuestion(Translate("Reset color of the objects to \'1 1 1\'?"), MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }

            ResetColors();
        }
        //string workareaModeNameRestore = "";
        //DocumentWindowWithViewport.WorkareaModeClass workareaModeRestore;

        //

        protected override void OnInit()
        {
            buttonBuild        = ProcedureForm.CreateButton("Build");
            buttonBuild.Click += ButtonBuild_Click;

            buttonTest        = ProcedureForm.CreateButton("Test");
            buttonTest.Click += ButtonTest_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonBuild, buttonTest });
        }
        //

        protected override void OnInit()
        {
            buttonStart        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Start"));
            buttonStart.Click += ButtonStart_Click;

            buttonStop        = ProcedureForm.CreateButton(EditorLocalization.Translate("General", "Stop"));
            buttonStop.Click += ButtonStop_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonStart, buttonStop });
        }
        protected override void OnInitUI()
        {
            buttonPlay        = ProcedureForm.CreateButton(Translate("Play"));
            buttonPlay.Click += ButtonPlay_Click;

            buttonStop        = ProcedureForm.CreateButton(Translate("Stop"));
            buttonStop.Click += ButtonStop_Click;

            ProcedureForm.AddRow(new ProcedureUI.Control[] { buttonPlay, buttonStop });
        }