diff --git a/Desktop/Desktop.csproj b/Desktop/Desktop.csproj new file mode 100644 index 0000000..cc6917b --- /dev/null +++ b/Desktop/Desktop.csproj @@ -0,0 +1,202 @@ + + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {046C631B-DF60-496E-B2ED-C7BBFBF2F059} + WinExe + Properties + Desktop + Venus Particle Editor + 512 + DesktopGL + v4.5.2 + + + + true + bin\$(MonoGamePlatform)\$(Platform)\$(Configuration)\ + DEBUG;TRACE;LINUX + full + AnyCPU + prompt + false + 4 + + + bin\$(MonoGamePlatform)\$(Platform)\$(Configuration)\ + TRACE;LINUX + true + pdbonly + AnyCPU + prompt + false + 4 + + + venus.ico + + + app.manifest + + + + GlobalFields.cs + + + JsonHelper.cs + + + KeyboardHelper.cs + + + LoggerHelper.cs + + + MainScreen.cs + + + Modifiers\CircleContainer.cs + + + Modifiers\ColourInterpolator2.cs + + + Modifiers\Drag.cs + + + Modifiers\HueInterpolator2.cs + + + Modifiers\LinearGravity.cs + + + Modifiers\OpacityFastFade.cs + + + Modifiers\OpacityInterpolator2.cs + + + Modifiers\OpacityInterpolator3.cs + + + Modifiers\RectContainer.cs + + + Modifiers\RectLoopContainer.cs + + + Modifiers\Rotation.cs + + + Modifiers\ScaleInterpolator2.cs + + + Modifiers\VelocityColour.cs + + + Modifiers\VelocityColourInfinite.cs + + + Modifiers\VelocityHue.cs + + + Modifiers\Vortex.cs + + + + + + + ..\libs\DataTypes.dll + + + ..\libs\GeonBit.UI.dll + + + False + ..\libs\MonoGame.Framework.dll + + + ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + + + + + + ..\libs\VenusParticleEngine.dll + + + + + + + + + x86\SDL2.dll + PreserveNewest + + + x64\SDL2.dll + PreserveNewest + + + x86\soft_oal.dll + PreserveNewest + + + x64\soft_oal.dll + PreserveNewest + + + x86\libSDL2-2.0.so.0 + PreserveNewest + + + x64\libSDL2-2.0.so.0 + PreserveNewest + + + x86\libopenal.so.1 + PreserveNewest + + + x64\libopenal.so.1 + PreserveNewest + + + libSDL2-2.0.0.dylib + PreserveNewest + + + libopenal.1.dylib + PreserveNewest + + + MonoGame.Framework.dll.config + PreserveNewest + + + Content\Content.mgcb + + + + + + + + + + + + \ No newline at end of file diff --git a/Desktop/Icon.bmp b/Desktop/Icon.bmp new file mode 100644 index 0000000..2b48165 Binary files /dev/null and b/Desktop/Icon.bmp differ diff --git a/Desktop/Icon.ico b/Desktop/Icon.ico new file mode 100644 index 0000000..7d9dec1 Binary files /dev/null and b/Desktop/Icon.ico differ diff --git a/Desktop/Program.cs b/Desktop/Program.cs new file mode 100644 index 0000000..9f5d42e --- /dev/null +++ b/Desktop/Program.cs @@ -0,0 +1,20 @@ +using System; + +namespace VenusParticleEditor +{ + /// + /// The main class. + /// + public static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + using (var game = new MainScreen()) + game.Run(); + } + } +} diff --git a/Desktop/Properties/AssemblyInfo.cs b/Desktop/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..020ed33 --- /dev/null +++ b/Desktop/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Venus Particle Editor")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyCopyright("mmbelkiman 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1ef469eb-eaca-4fb0-9668-b471f6d0ae9a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Desktop/app.config b/Desktop/app.config new file mode 100644 index 0000000..ff99501 --- /dev/null +++ b/Desktop/app.config @@ -0,0 +1,3 @@ + + + diff --git a/Desktop/app.manifest b/Desktop/app.manifest new file mode 100644 index 0000000..b734e78 --- /dev/null +++ b/Desktop/app.manifest @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true/pm + + + + diff --git a/Desktop/packages.config b/Desktop/packages.config new file mode 100644 index 0000000..07e3593 --- /dev/null +++ b/Desktop/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Desktop/venus.ico b/Desktop/venus.ico new file mode 100644 index 0000000..3c376a9 Binary files /dev/null and b/Desktop/venus.ico differ diff --git a/README.md b/README.md index 144e786..3ad7a78 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,27 @@ -# Venus-Particle-Editor -Particle editor to Monogame, based in Mercury Particle Engine +![](https://img.itch.zone/aW1nLzE4NTQ4ODYucG5n/original/xRVobf.png) + +This is a sourcode to Particle Editor for [MonoGame](https://github.com/mono/MonoGame). +This editor use [Venus Particle Engine](https://github.com/mmbelkiman/Venus-Particle-Engine) + +![](https://media.giphy.com/media/7A4F1Riiterh0X0YAU/giphy.gif) + +# Download executable +[![Itch.io](https://jessemillar.com/available-on-itchio-badge/badge-bw.png)](https://mmbelkiman.itch.io/venus-particle-editor) + +# Depedencies + - [Newtonsoft.Json 11.0.2](https://github.com/JamesNK/Newtonsoft.Json/tree/11.0.2) + - Monogame 3.7 or higher + - [GeonBitUI 3.4](https://github.com/RonenNess/GeonBit.UI) + +# Load Json at your project +Please, look at the [Venus Particle Engine](https://github.com/mmbelkiman/Venus-Particle-Engine) demo + +## Commands + - F9 move particle + - F10 change background + - F11 full screen mode + - F12 show/hide log + +[![kofi](https://az743702.vo.msecnd.net/cdn/kofi2.png)](https://ko-fi.com/B0B2KE8I) + +Icon made by Smashicons from www.flaticon.com \ No newline at end of file diff --git a/Venus Particle Editor.sln b/Venus Particle Editor.sln new file mode 100644 index 0000000..3657a5a --- /dev/null +++ b/Venus Particle Editor.sln @@ -0,0 +1,30 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2016 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Venus Particle Editor", "Venus Particle Editor\Venus Particle Editor.shproj", "{A0CDBD0E-3A41-42B7-9425-A838BC2C7383}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Desktop", "Desktop\Desktop.csproj", "{046C631B-DF60-496E-B2ED-C7BBFBF2F059}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Venus Particle Editor\Venus_Particle_Editor.projitems*{a0cdbd0e-3a41-42b7-9425-a838bc2c7383}*SharedItemsImports = 13 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {046C631B-DF60-496E-B2ED-C7BBFBF2F059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {046C631B-DF60-496E-B2ED-C7BBFBF2F059}.Debug|Any CPU.Build.0 = Debug|Any CPU + {046C631B-DF60-496E-B2ED-C7BBFBF2F059}.Release|Any CPU.ActiveCfg = Release|Any CPU + {046C631B-DF60-496E-B2ED-C7BBFBF2F059}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6DB7DD82-83C3-465D-BBA4-519320CCB724} + EndGlobalSection +EndGlobal diff --git a/Venus Particle Editor/Content/Content.mgcb b/Venus Particle Editor/Content/Content.mgcb new file mode 100644 index 0000000..14a5779 --- /dev/null +++ b/Venus Particle Editor/Content/Content.mgcb @@ -0,0 +1,1610 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:DesktopGL +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + +/reference:..\..\libs\DataTypes.dll + +#---------------------------------- Content ---------------------------------# + +#begin GeonBit.UI/themes/hd/effects/disabled.fx +/importer:EffectImporter +/processor:EffectProcessor +/processorParam:DebugMode=Auto +/build:GeonBit.UI/themes/hd/effects/disabled.fx + +#begin GeonBit.UI/themes/hd/effects/silhouette.fx +/importer:EffectImporter +/processor:EffectProcessor +/processorParam:DebugMode=Auto +/build:GeonBit.UI/themes/hd/effects/silhouette.fx + +#begin GeonBit.UI/themes/hd/fonts/Bold.spritefont +/importer:FontDescriptionImporter +/processor:FontDescriptionProcessor +/processorParam:PremultiplyAlpha=True +/processorParam:TextureFormat=Compressed +/build:GeonBit.UI/themes/hd/fonts/Bold.spritefont + +#begin GeonBit.UI/themes/hd/fonts/Italic.spritefont +/importer:FontDescriptionImporter +/processor:FontDescriptionProcessor +/processorParam:PremultiplyAlpha=True +/processorParam:TextureFormat=Compressed +/build:GeonBit.UI/themes/hd/fonts/Italic.spritefont + +#begin GeonBit.UI/themes/hd/fonts/Regular.spritefont +/importer:FontDescriptionImporter +/processor:FontDescriptionProcessor +/processorParam:PremultiplyAlpha=True +/processorParam:TextureFormat=Compressed +/build:GeonBit.UI/themes/hd/fonts/Regular.spritefont + +#begin GeonBit.UI/themes/hd/fonts/RobotoMono-Bold.ttf +/copy:GeonBit.UI/themes/hd/fonts/RobotoMono-Bold.ttf + +#begin GeonBit.UI/themes/hd/fonts/RobotoMono-Italic.ttf +/copy:GeonBit.UI/themes/hd/fonts/RobotoMono-Italic.ttf + +#begin GeonBit.UI/themes/hd/fonts/RobotoMono-Regular.ttf +/copy:GeonBit.UI/themes/hd/fonts/RobotoMono-Regular.ttf + +#begin GeonBit.UI/themes/hd/styles/Button-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Button-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Button-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Button-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Button-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Button-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/ButtonParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ButtonParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBox-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBox-Default.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBox-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBox-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBox-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBox-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBoxParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBoxParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/ColoredRectangle-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ColoredRectangle-Default.xml + +#begin GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/DropDown-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDown-Default.xml + +#begin GeonBit.UI/themes/hd/styles/DropDown-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDown-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/DropDown-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDown-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Entity-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Entity-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Entity-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Entity-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Entity-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Entity-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/example.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/example.xml + +#begin GeonBit.UI/themes/hd/styles/Header-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Header-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Header-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Header-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Header-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Header-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/HorizontalLine-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/HorizontalLine-Default.xml + +#begin GeonBit.UI/themes/hd/styles/HorizontalLine-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/HorizontalLine-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/HorizontalLine-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/HorizontalLine-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Icon-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Icon-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Icon-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Icon-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Icon-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Icon-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Image-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Image-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Image-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Image-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Image-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Image-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Label-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Label-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Label-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Label-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Label-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Label-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Panel-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Panel-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Panel-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Panel-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Panel-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Panel-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButton-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButton-Default.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Paragraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Paragraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Paragraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Paragraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Paragraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Paragraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBar-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBar-Default.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBarFill-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBarFill-Default.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBar-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBar-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/ProgressBar-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/ProgressBar-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButton-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButton-Default.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButton-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButton-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButton-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButton-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButtonParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButtonParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/SelectList-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectList-Default.xml + +#begin GeonBit.UI/themes/hd/styles/SelectList-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectList-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/SelectList-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectList-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/SelectListParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectListParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/Slider-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Slider-Default.xml + +#begin GeonBit.UI/themes/hd/styles/Slider-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Slider-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/Slider-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/Slider-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/TextInput-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInput-Default.xml + +#begin GeonBit.UI/themes/hd/styles/TextInput-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInput-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/TextInput-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInput-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputParagraph-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputParagraph-Default.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputPlaceholder-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputPlaceholder-Default.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseHover.xml + +#begin GeonBit.UI/themes/hd/styles/VerticalScrollbar-Default.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/VerticalScrollbar-Default.xml + +#begin GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseDown.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseDown.xml + +#begin GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseHover.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseHover.xml + +#begin GeonBit.UI/themes/hd/textures/arrow_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/arrow_down.png + +#begin GeonBit.UI/themes/hd/textures/arrow_up.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/arrow_up.png + +#begin GeonBit.UI/themes/hd/textures/button_alternative.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_alternative.png + +#begin GeonBit.UI/themes/hd/textures/button_alternative_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_alternative_down.png + +#begin GeonBit.UI/themes/hd/textures/button_alternative_hover.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_alternative_hover.png + +#begin GeonBit.UI/themes/hd/textures/button_alternative_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/button_alternative_md.xml + +#begin GeonBit.UI/themes/hd/textures/button_default.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_default.png + +#begin GeonBit.UI/themes/hd/textures/button_default_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_default_down.png + +#begin GeonBit.UI/themes/hd/textures/button_default_hover.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_default_hover.png + +#begin GeonBit.UI/themes/hd/textures/button_default_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/button_default_md.xml + +#begin GeonBit.UI/themes/hd/textures/button_fancy.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_fancy.png + +#begin GeonBit.UI/themes/hd/textures/button_fancy_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_fancy_down.png + +#begin GeonBit.UI/themes/hd/textures/button_fancy_hover.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/button_fancy_hover.png + +#begin GeonBit.UI/themes/hd/textures/button_fancy_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/button_fancy_md.xml + +#begin GeonBit.UI/themes/hd/textures/checkbox.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/checkbox.png + +#begin GeonBit.UI/themes/hd/textures/checkbox_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/checkbox_down.png + +#begin GeonBit.UI/themes/hd/textures/checkbox_hover.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/checkbox_hover.png + +#begin GeonBit.UI/themes/hd/textures/cursor_default.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/cursor_default.png + +#begin GeonBit.UI/themes/hd/textures/cursor_default_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/cursor_default_md.xml + +#begin GeonBit.UI/themes/hd/textures/cursor_ibeam.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/cursor_ibeam.png + +#begin GeonBit.UI/themes/hd/textures/cursor_ibeam_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/cursor_ibeam_md.xml + +#begin GeonBit.UI/themes/hd/textures/cursor_pointer.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/cursor_pointer.png + +#begin GeonBit.UI/themes/hd/textures/cursor_pointer_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/cursor_pointer_md.xml + +#begin GeonBit.UI/themes/hd/textures/horizontal_line.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/horizontal_line.png + +#begin GeonBit.UI/themes/hd/textures/icons/Apple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Apple.png + +#begin GeonBit.UI/themes/hd/textures/icons/Armor.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Armor.png + +#begin GeonBit.UI/themes/hd/textures/icons/Axe.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Axe.png + +#begin GeonBit.UI/themes/hd/textures/icons/background.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/background.png + +#begin GeonBit.UI/themes/hd/textures/icons/BloodySword.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/BloodySword.png + +#begin GeonBit.UI/themes/hd/textures/icons/Bone.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Bone.png + +#begin GeonBit.UI/themes/hd/textures/icons/Book.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Book.png + +#begin GeonBit.UI/themes/hd/textures/icons/Cubes.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Cubes.png + +#begin GeonBit.UI/themes/hd/textures/icons/Diamond.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Diamond.png + +#begin GeonBit.UI/themes/hd/textures/icons/Explanation.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Explanation.png + +#begin GeonBit.UI/themes/hd/textures/icons/Feather.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Feather.png + +#begin GeonBit.UI/themes/hd/textures/icons/FloppyDisk.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/FloppyDisk.png + +#begin GeonBit.UI/themes/hd/textures/icons/GoldCoins.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/GoldCoins.png + +#begin GeonBit.UI/themes/hd/textures/icons/GoldShard.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/GoldShard.png + +#begin GeonBit.UI/themes/hd/textures/icons/Heart.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Heart.png + +#begin GeonBit.UI/themes/hd/textures/icons/Helmet.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Helmet.png + +#begin GeonBit.UI/themes/hd/textures/icons/Key.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Key.png + +#begin GeonBit.UI/themes/hd/textures/icons/MagicBook.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/MagicBook.png + +#begin GeonBit.UI/themes/hd/textures/icons/MagicWand.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/MagicWand.png + +#begin GeonBit.UI/themes/hd/textures/icons/Map.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Map.png + +#begin GeonBit.UI/themes/hd/textures/icons/None.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/None.png + +#begin GeonBit.UI/themes/hd/textures/icons/OrbBlue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/OrbBlue.png + +#begin GeonBit.UI/themes/hd/textures/icons/OrbGreen.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/OrbGreen.png + +#begin GeonBit.UI/themes/hd/textures/icons/OrbRed.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/OrbRed.png + +#begin GeonBit.UI/themes/hd/textures/icons/Pistol.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Pistol.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionBlue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionBlue.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionCyan.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionCyan.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionGreen.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionGreen.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionPurple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionPurple.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionRed.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionRed.png + +#begin GeonBit.UI/themes/hd/textures/icons/PotionYellow.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/PotionYellow.png + +#begin GeonBit.UI/themes/hd/textures/icons/Ring.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Ring.png + +#begin GeonBit.UI/themes/hd/textures/icons/RingGold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RingGold.png + +#begin GeonBit.UI/themes/hd/textures/icons/RingGoldRuby.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RingGoldRuby.png + +#begin GeonBit.UI/themes/hd/textures/icons/RingRuby.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RingRuby.png + +#begin GeonBit.UI/themes/hd/textures/icons/RubyBlue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RubyBlue.png + +#begin GeonBit.UI/themes/hd/textures/icons/RubyGreen.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RubyGreen.png + +#begin GeonBit.UI/themes/hd/textures/icons/RubyPink.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RubyPink.png + +#begin GeonBit.UI/themes/hd/textures/icons/RubyPurple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RubyPurple.png + +#begin GeonBit.UI/themes/hd/textures/icons/RubyRed.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/RubyRed.png + +#begin GeonBit.UI/themes/hd/textures/icons/Sack.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Sack.png + +#begin GeonBit.UI/themes/hd/textures/icons/Scroll.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Scroll.png + +#begin GeonBit.UI/themes/hd/textures/icons/Shield.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Shield.png + +#begin GeonBit.UI/themes/hd/textures/icons/ShieldAndSword.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/ShieldAndSword.png + +#begin GeonBit.UI/themes/hd/textures/icons/Shovel.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Shovel.png + +#begin GeonBit.UI/themes/hd/textures/icons/SilverShard.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/SilverShard.png + +#begin GeonBit.UI/themes/hd/textures/icons/Skull.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Skull.png + +#begin GeonBit.UI/themes/hd/textures/icons/Sword.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Sword.png + +#begin GeonBit.UI/themes/hd/textures/icons/Trap.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/Trap.png + +#begin GeonBit.UI/themes/hd/textures/icons/ZoomIn.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/ZoomIn.png + +#begin GeonBit.UI/themes/hd/textures/icons/ZoomOut.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:GeonBit.UI/themes/hd/textures/icons/ZoomOut.png + +#begin GeonBit.UI/themes/hd/textures/panel_default.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/panel_default.png + +#begin GeonBit.UI/themes/hd/textures/panel_default_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/panel_default_md.xml + +#begin GeonBit.UI/themes/hd/textures/panel_fancy.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/panel_fancy.png + +#begin GeonBit.UI/themes/hd/textures/panel_fancy_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/panel_fancy_md.xml + +#begin GeonBit.UI/themes/hd/textures/panel_golden.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/panel_golden.png + +#begin GeonBit.UI/themes/hd/textures/panel_golden_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/panel_golden_md.xml + +#begin GeonBit.UI/themes/hd/textures/panel_listbackground.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/panel_listbackground.png + +#begin GeonBit.UI/themes/hd/textures/panel_listbackground_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/panel_listbackground_md.xml + +#begin GeonBit.UI/themes/hd/textures/panel_simple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/panel_simple.png + +#begin GeonBit.UI/themes/hd/textures/panel_simple_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/panel_simple_md.xml + +#begin GeonBit.UI/themes/hd/textures/progressbar.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/progressbar.png + +#begin GeonBit.UI/themes/hd/textures/progressbar_fill.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/progressbar_fill.png + +#begin GeonBit.UI/themes/hd/textures/progressbar_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/progressbar_md.xml + +#begin GeonBit.UI/themes/hd/textures/radio.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/radio.png + +#begin GeonBit.UI/themes/hd/textures/radio_down.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/radio_down.png + +#begin GeonBit.UI/themes/hd/textures/radio_hover.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/radio_hover.png + +#begin GeonBit.UI/themes/hd/textures/scrollbar.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/scrollbar.png + +#begin GeonBit.UI/themes/hd/textures/scrollbar_mark.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/scrollbar_mark.png + +#begin GeonBit.UI/themes/hd/textures/scrollbar_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/scrollbar_md.xml + +#begin GeonBit.UI/themes/hd/textures/slider_default.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/slider_default.png + +#begin GeonBit.UI/themes/hd/textures/slider_default_mark.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/slider_default_mark.png + +#begin GeonBit.UI/themes/hd/textures/slider_default_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/slider_default_md.xml + +#begin GeonBit.UI/themes/hd/textures/slider_fancy.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/slider_fancy.png + +#begin GeonBit.UI/themes/hd/textures/slider_fancy_mark.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/slider_fancy_mark.png + +#begin GeonBit.UI/themes/hd/textures/slider_fancy_md.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/textures/slider_fancy_md.xml + +#begin GeonBit.UI/themes/hd/textures/white_texture.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color16Bit +/build:GeonBit.UI/themes/hd/textures/white_texture.png + +#begin GeonBit.UI/themes/hd/ThemeData.xml +/importer:XmlImporter +/processor:PassThroughProcessor +/build:GeonBit.UI/themes/hd/ThemeData.xml + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/ThemeData.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/ThemeData.xml new file mode 100644 index 0000000..0a9e5bd --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/ThemeData.xml @@ -0,0 +1,22 @@ + + + + Hd + Ronen Ness + A higher-res, old-school style UI theme GeonBit.UI comes with by default. + This theme is mostly based on Michele Bucelli ("Buch") works. +Sources can be found here: + +- http://opengameart.org/content/golden-ui +- http://opengameart.org/content/roguelikerpg-icons +- http://opengameart.org/content/roguelikerpg-items +- http://opengameart.org/content/arabian-icons +- http://opengameart.org/content/2d-static-spritesicons +- http://opengameart.org/content/30-ability-icons +- http://opengameart.org/content/whispers-of-avalon-item-icons + + 1.0.0 + + MIT + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/disabled.fx b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/disabled.fx new file mode 100644 index 0000000..6774d71 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/disabled.fx @@ -0,0 +1,38 @@ +#if OPENGL + #define SV_POSITION POSITION + #define VS_SHADERMODEL vs_3_0 + #define PS_SHADERMODEL ps_3_0 +#else + #define VS_SHADERMODEL vs_4_0_level_9_1 + #define PS_SHADERMODEL ps_4_0_level_9_1 +#endif + +Texture2D SpriteTexture; + +sampler2D SpriteTextureSampler = sampler_state +{ + Texture = ; +}; + +struct VertexShaderOutput +{ + float4 Position : SV_POSITION; + float4 Color : COLOR0; + float2 TextureCoordinates : TEXCOORD0; +}; + +float4 MainPS(VertexShaderOutput input) : COLOR +{ + float4 color = tex2D(SpriteTextureSampler,input.TextureCoordinates) * input.Color; + float value = (color.r + color.g + color.b) / 3; + color.r = color.g = color.b = value; + return color; +} + +technique SpriteDrawing +{ + pass P0 + { + PixelShader = compile PS_SHADERMODEL MainPS(); + } +}; \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/silhouette.fx b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/silhouette.fx new file mode 100644 index 0000000..0bd81f3 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/effects/silhouette.fx @@ -0,0 +1,39 @@ +#if OPENGL + #define SV_POSITION POSITION + #define VS_SHADERMODEL vs_3_0 + #define PS_SHADERMODEL ps_3_0 +#else + #define VS_SHADERMODEL vs_4_0_level_9_1 + #define PS_SHADERMODEL ps_4_0_level_9_1 +#endif + +Texture2D SpriteTexture; + +sampler2D SpriteTextureSampler = sampler_state +{ + Texture = ; +}; + +struct VertexShaderOutput +{ + float4 Position : SV_POSITION; + float4 Color : COLOR0; + float2 TextureCoordinates : TEXCOORD0; +}; + +float4 MainPS(VertexShaderOutput input) : COLOR +{ + float4 color = tex2D(SpriteTextureSampler,input.TextureCoordinates) * input.Color; + color.r = 1 * color.a * input.Color.r; + color.g = 1 * color.a * input.Color.g; + color.b = 1 * color.a * input.Color.b; + return color; +} + +technique SpriteDrawing +{ + pass P0 + { + PixelShader = compile PS_SHADERMODEL MainPS(); + } +}; \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Bold.spritefont b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Bold.spritefont new file mode 100644 index 0000000..b0bfeca --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Bold.spritefont @@ -0,0 +1,60 @@ + + + + + + + RobotoMono-Bold + + + 14 + + + 0 + + + true + + + + + + + + + + + + ~ + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Italic.spritefont b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Italic.spritefont new file mode 100644 index 0000000..eb5ba96 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Italic.spritefont @@ -0,0 +1,60 @@ + + + + + + + RobotoMono-Italic + + + 14 + + + 0 + + + true + + + + + + + + + + + + ~ + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Regular.spritefont b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Regular.spritefont new file mode 100644 index 0000000..f172f10 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/Regular.spritefont @@ -0,0 +1,60 @@ + + + + + + + RobotoMono-Regular + + + 14 + + + 0 + + + true + + + + + + + + + + + + ~ + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Bold.ttf b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Bold.ttf new file mode 100644 index 0000000..07ef607 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Bold.ttf differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Italic.ttf b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Italic.ttf new file mode 100644 index 0000000..ef92c37 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Italic.ttf differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Regular.ttf b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Regular.ttf new file mode 100644 index 0000000..b158a33 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/fonts/RobotoMono-Regular.ttf differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-Default.xml new file mode 100644 index 0000000..2baf4a1 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-Default.xml @@ -0,0 +1,20 @@ + + + + 2 + + + + + + + + + + + + + 0 60 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Button-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-Default.xml new file mode 100644 index 0000000..d9c6cbc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseDown.xml new file mode 100644 index 0000000..8ef401a --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + FFAAAAAA + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ButtonParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-Default.xml new file mode 100644 index 0000000..cedb146 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 40 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBox-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-Default.xml new file mode 100644 index 0000000..d9c6cbc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseDown.xml new file mode 100644 index 0000000..c50f02f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + FFFFFF00 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseHover.xml new file mode 100644 index 0000000..c50f02f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/CheckBoxParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + FFFFFF00 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-Default.xml new file mode 100644 index 0000000..e0beb18 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-Default.xml @@ -0,0 +1,20 @@ + + + + + FFFFFFFF + FF000000 + 2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ColoredRectangle-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-Default.xml new file mode 100644 index 0000000..1399eb9 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 220 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDown-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-Default.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-Default.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/DropDownSelectedParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-Default.xml new file mode 100644 index 0000000..e05e24c --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-Default.xml @@ -0,0 +1,19 @@ + + + + 1 + FFFFFFFF + 00000000 + 0 + false + Regular + 00000000 + 00000000 + 0 0 + 26 26 + 0 0 + 0 8 + 1 + 0 0 + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Entity-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-Default.xml new file mode 100644 index 0000000..3ba2c61 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-Default.xml @@ -0,0 +1,20 @@ + + + + 1.2 + FFFFFF00 + + + true + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Header-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-Default.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/HorizontalLine-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-Default.xml new file mode 100644 index 0000000..74c72ff --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + + + + + + + + + + + + + 50 50 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseHover.xml new file mode 100644 index 0000000..8ff04a1 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Icon-MouseHover.xml @@ -0,0 +1,20 @@ + + + + 1.1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-Default.xml new file mode 100644 index 0000000..1beedd1 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + FFFFFFFF + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Image-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-Default.xml new file mode 100644 index 0000000..db3ad89 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-Default.xml @@ -0,0 +1,20 @@ + + + + 0.8 + FFCCCCCC + FF000000 + 2 + false + Regular + + + + + + + + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Label-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-Default.xml new file mode 100644 index 0000000..52d5b24 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-Default.xml @@ -0,0 +1,20 @@ + + + + 2 + FFFFFFFF + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Panel-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-Default.xml new file mode 100644 index 0000000..6ef020c --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-Default.xml @@ -0,0 +1,20 @@ + + + + 2 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButton-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-Default.xml new file mode 100644 index 0000000..d9c6cbc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseDown.xml new file mode 100644 index 0000000..8ef401a --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + FFAAAAAA + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/PanelTabsButtonParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-Default.xml new file mode 100644 index 0000000..7c53712 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + FFFFFFFF + FF000000 + 2 + false + Regular + + + + + + + + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Paragraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-Default.xml new file mode 100644 index 0000000..14ec90b --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 52 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBar-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-Default.xml new file mode 100644 index 0000000..115fb41 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-Default.xml @@ -0,0 +1,20 @@ + + + + + FF84CC40 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/ProgressBarFill-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-Default.xml new file mode 100644 index 0000000..eb36dcc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 50 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButton-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-Default.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/RadioButtonParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-Default.xml new file mode 100644 index 0000000..f0a2f8e --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-Default.xml @@ -0,0 +1,19 @@ + + + + + + + + + + 64000000 + + + 30 22 + + + + 0 220 + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectList-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-Default.xml new file mode 100644 index 0000000..7c53712 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + FFFFFFFF + FF000000 + 2 + false + Regular + + + + + + + + + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseDown.xml new file mode 100644 index 0000000..c50f02f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + FFFFFF00 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseHover.xml new file mode 100644 index 0000000..c50f02f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/SelectListParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + FFFFFF00 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-Default.xml new file mode 100644 index 0000000..bb0c9ac --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 30 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/Slider-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-Default.xml new file mode 100644 index 0000000..cbae23d --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 0 65 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInput-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-Default.xml new file mode 100644 index 0000000..d9c6cbc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputParagraph-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-Default.xml new file mode 100644 index 0000000..c675854 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-Default.xml @@ -0,0 +1,20 @@ + + + + 1 + FF969696 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/TextInputPlaceholder-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-Default.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-Default.xml new file mode 100644 index 0000000..b06b406 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-Default.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + 30 0 + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseDown.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseDown.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseDown.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseHover.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseHover.xml new file mode 100644 index 0000000..b9c80cc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/VerticalScrollbar-MouseHover.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/example.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/example.xml new file mode 100644 index 0000000..eda93f2 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/styles/example.xml @@ -0,0 +1,47 @@ + + + + + + 1 + + FFFFFFFF + + FF000000 + + 2 + + false + + Regular + + 00000000 + + 00000000 + + 0 0 + + 10 10 + + 0 0 + + 0 0 + + 1 + + 50 50 + + \ No newline at end of file diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_down.png new file mode 100644 index 0000000..4dd07bb Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_up.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_up.png new file mode 100644 index 0000000..65a3b01 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/arrow_up.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative.png new file mode 100644 index 0000000..b2f6aa1 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_down.png new file mode 100644 index 0000000..48e47dd Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_hover.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_hover.png new file mode 100644 index 0000000..74e018d Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_hover.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_md.xml new file mode 100644 index 0000000..be50e84 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_alternative_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default.png new file mode 100644 index 0000000..37dc988 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_down.png new file mode 100644 index 0000000..268dd99 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_hover.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_hover.png new file mode 100644 index 0000000..18d81c2 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_hover.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_md.xml new file mode 100644 index 0000000..50107f4 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_default_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.35 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy.png new file mode 100644 index 0000000..7fa0dd8 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_down.png new file mode 100644 index 0000000..8c3f37a Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_hover.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_hover.png new file mode 100644 index 0000000..a0f439a Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_hover.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_md.xml new file mode 100644 index 0000000..46b65bc --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/button_fancy_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.35 + 0.0 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox.png new file mode 100644 index 0000000..8bafc50 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_down.png new file mode 100644 index 0000000..1a77817 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_hover.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_hover.png new file mode 100644 index 0000000..be740d6 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/checkbox_hover.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default.png new file mode 100644 index 0000000..0bc4377 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default_md.xml new file mode 100644 index 0000000..e779d69 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_default_md.xml @@ -0,0 +1,11 @@ + + + + + + 0 + 0 + 40 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam.png new file mode 100644 index 0000000..2027785 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam_md.xml new file mode 100644 index 0000000..10d5e52 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_ibeam_md.xml @@ -0,0 +1,11 @@ + + + + + + 0 + -8 + 40 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer.png new file mode 100644 index 0000000..e62b106 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer_md.xml new file mode 100644 index 0000000..82abccb --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/cursor_pointer_md.xml @@ -0,0 +1,11 @@ + + + + + + -4 + 0 + 50 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/horizontal_line.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/horizontal_line.png new file mode 100644 index 0000000..5ae5bd1 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/horizontal_line.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Apple.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Apple.png new file mode 100644 index 0000000..9069cc5 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Apple.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Armor.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Armor.png new file mode 100644 index 0000000..e8cff60 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Armor.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Axe.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Axe.png new file mode 100644 index 0000000..05748e2 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Axe.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/BloodySword.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/BloodySword.png new file mode 100644 index 0000000..abf9eed Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/BloodySword.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Bone.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Bone.png new file mode 100644 index 0000000..869d817 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Bone.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Book.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Book.png new file mode 100644 index 0000000..3da1b01 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Book.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Cubes.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Cubes.png new file mode 100644 index 0000000..1e10123 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Cubes.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Diamond.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Diamond.png new file mode 100644 index 0000000..20d46ab Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Diamond.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Explanation.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Explanation.png new file mode 100644 index 0000000..0927841 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Explanation.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Feather.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Feather.png new file mode 100644 index 0000000..1ec35ae Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Feather.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/FloppyDisk.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/FloppyDisk.png new file mode 100644 index 0000000..60f8520 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/FloppyDisk.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldCoins.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldCoins.png new file mode 100644 index 0000000..596e556 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldCoins.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldShard.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldShard.png new file mode 100644 index 0000000..9d77a5c Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/GoldShard.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Heart.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Heart.png new file mode 100644 index 0000000..fa0bb39 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Heart.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Helmet.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Helmet.png new file mode 100644 index 0000000..965cb60 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Helmet.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Key.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Key.png new file mode 100644 index 0000000..887a299 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Key.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicBook.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicBook.png new file mode 100644 index 0000000..48ca3d4 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicBook.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicWand.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicWand.png new file mode 100644 index 0000000..dbc92f4 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/MagicWand.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Map.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Map.png new file mode 100644 index 0000000..b79bf46 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Map.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/None.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/None.png new file mode 100644 index 0000000..82fa43a Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/None.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbBlue.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbBlue.png new file mode 100644 index 0000000..6262527 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbBlue.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbGreen.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbGreen.png new file mode 100644 index 0000000..0cd0fc2 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbGreen.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbRed.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbRed.png new file mode 100644 index 0000000..0efaaea Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/OrbRed.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Pistol.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Pistol.png new file mode 100644 index 0000000..117de9b Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Pistol.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionBlue.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionBlue.png new file mode 100644 index 0000000..ed177e9 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionBlue.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionCyan.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionCyan.png new file mode 100644 index 0000000..1e7597a Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionCyan.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionGreen.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionGreen.png new file mode 100644 index 0000000..d4233d0 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionGreen.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionPurple.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionPurple.png new file mode 100644 index 0000000..fa36c2b Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionPurple.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionRed.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionRed.png new file mode 100644 index 0000000..776d63e Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionRed.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionYellow.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionYellow.png new file mode 100644 index 0000000..da55f89 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/PotionYellow.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Ring.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Ring.png new file mode 100644 index 0000000..abe924c Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Ring.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGold.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGold.png new file mode 100644 index 0000000..1e64111 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGold.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGoldRuby.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGoldRuby.png new file mode 100644 index 0000000..e303fd1 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingGoldRuby.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingRuby.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingRuby.png new file mode 100644 index 0000000..03cd193 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RingRuby.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyBlue.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyBlue.png new file mode 100644 index 0000000..69646a3 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyBlue.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyGreen.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyGreen.png new file mode 100644 index 0000000..b14be2e Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyGreen.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPink.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPink.png new file mode 100644 index 0000000..2d6abc5 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPink.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPurple.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPurple.png new file mode 100644 index 0000000..066b638 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyPurple.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyRed.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyRed.png new file mode 100644 index 0000000..c3336c6 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/RubyRed.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sack.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sack.png new file mode 100644 index 0000000..6dbe355 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sack.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Scroll.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Scroll.png new file mode 100644 index 0000000..1047714 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Scroll.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shield.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shield.png new file mode 100644 index 0000000..5cd2772 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shield.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ShieldAndSword.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ShieldAndSword.png new file mode 100644 index 0000000..181b7a1 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ShieldAndSword.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shovel.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shovel.png new file mode 100644 index 0000000..2443a72 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Shovel.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/SilverShard.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/SilverShard.png new file mode 100644 index 0000000..3e534e3 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/SilverShard.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Skull.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Skull.png new file mode 100644 index 0000000..2d83478 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Skull.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sword.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sword.png new file mode 100644 index 0000000..140c9c1 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Sword.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Trap.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Trap.png new file mode 100644 index 0000000..2033a1c Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/Trap.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomIn.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomIn.png new file mode 100644 index 0000000..817178b Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomIn.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomOut.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomOut.png new file mode 100644 index 0000000..c6faffb Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/ZoomOut.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/background.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/background.png new file mode 100644 index 0000000..82b18be Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/icons/background.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default.png new file mode 100644 index 0000000..8bc26d9 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default_md.xml new file mode 100644 index 0000000..7fa94b7 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_default_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.2 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy.png new file mode 100644 index 0000000..d9eedd6 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy_md.xml new file mode 100644 index 0000000..2b3fc1f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_fancy_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.2 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden.png new file mode 100644 index 0000000..3057704 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden_md.xml new file mode 100644 index 0000000..2b3fc1f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_golden_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.2 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground.png new file mode 100644 index 0000000..02ac7de Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground_md.xml new file mode 100644 index 0000000..2b3fc1f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_listbackground_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.2 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple.png new file mode 100644 index 0000000..1430cc7 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple_md.xml new file mode 100644 index 0000000..2b3fc1f --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/panel_simple_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.2 + 0.2 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar.png new file mode 100644 index 0000000..5750692 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_fill.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_fill.png new file mode 100644 index 0000000..79b0d81 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_fill.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_md.xml new file mode 100644 index 0000000..cea6983 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/progressbar_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.1375 + 0.0 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio.png new file mode 100644 index 0000000..5fe5420 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_down.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_down.png new file mode 100644 index 0000000..85b9a83 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_down.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_hover.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_hover.png new file mode 100644 index 0000000..2e0f36f Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/radio_hover.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar.png new file mode 100644 index 0000000..3a98a60 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_mark.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_mark.png new file mode 100644 index 0000000..fef0a10 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_mark.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_md.xml new file mode 100644 index 0000000..44688b9 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/scrollbar_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.0 + 0.3 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default.png new file mode 100644 index 0000000..84846e3 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_mark.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_mark.png new file mode 100644 index 0000000..23c0e81 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_mark.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_md.xml new file mode 100644 index 0000000..d27d99d --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_default_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.03 + 0.0 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy.png new file mode 100644 index 0000000..11a06e5 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_mark.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_mark.png new file mode 100644 index 0000000..9be39ae Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_mark.png differ diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_md.xml b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_md.xml new file mode 100644 index 0000000..cd4cc37 --- /dev/null +++ b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/slider_fancy_md.xml @@ -0,0 +1,10 @@ + + + + + + 0.28 + 0.0 + + + diff --git a/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/white_texture.png b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/white_texture.png new file mode 100644 index 0000000..a782975 Binary files /dev/null and b/Venus Particle Editor/Content/GeonBit.UI/themes/hd/textures/white_texture.png differ diff --git a/Venus Particle Editor/GlobalFields.cs b/Venus Particle Editor/GlobalFields.cs new file mode 100644 index 0000000..69a2a24 --- /dev/null +++ b/Venus Particle Editor/GlobalFields.cs @@ -0,0 +1,19 @@ +using Microsoft.Xna.Framework; + +namespace VenusParticleEditor +{ + class GlobalFields + { + // public static Vector2 PANEL_EDITOR_SIZE = new Vector2(600, 504); + + public static Vector2 PANEL_EDITOR_SIZE = new Vector2(0.6f, 0.71f); + public static Vector2 PANEL_EDITOR_SIZE_FULLSCREEN = new Vector2(0.4f, 0.71f); + + + public static Vector2 PANEL_EDITOR_INSIDE_SIZE = new Vector2(-1f, -1f); + public static string SOFTWARE_VERSION = "1.0.0"; + public static string GEONBITUI_VERION = "3.4.0.0"; + public static int APP_WIDTH = 1000; + public static int APP_HEIGHT = 720; + } +} diff --git a/Venus Particle Editor/JsonHelper.cs b/Venus Particle Editor/JsonHelper.cs new file mode 100644 index 0000000..57ffb9c --- /dev/null +++ b/Venus Particle Editor/JsonHelper.cs @@ -0,0 +1,26 @@ +using Newtonsoft.Json; +using System.IO; + +namespace VenusParticleEditor +{ + public class JsonHelper + { + public static void WriteToJsonFile(string filePath, T objectToWrite, bool append = false) where T : new() + { + TextWriter writer = null; + try + { + var settings = new JsonSerializerSettings(); + + var contentsToWriteToFile = JsonConvert.SerializeObject(objectToWrite); + writer = new StreamWriter(filePath, append); + writer.Write(contentsToWriteToFile); + } + finally + { + if (writer != null) + writer.Close(); + } + } + } +} diff --git a/Venus Particle Editor/KeyboardHelper.cs b/Venus Particle Editor/KeyboardHelper.cs new file mode 100644 index 0000000..33c854b --- /dev/null +++ b/Venus Particle Editor/KeyboardHelper.cs @@ -0,0 +1,69 @@ +#region Using Statements +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using System; +using System.Reflection; +#endregion + +namespace VenusParticleEditor +{ + public class KeyboardHelper + { + public bool Enabled = true; + + /// + /// Constructs a new input state. + /// + public KeyboardHelper() + { + KeyboardState = new KeyboardState(); + PreviousKeyboardState = new KeyboardState(); + } + + public KeyboardState KeyboardState { get; private set; } + public KeyboardState PreviousKeyboardState { get; private set; } + + /// + /// Reads the latest state of the keyboard and gamepad. + /// + public void Update(GameTime gameTime) + { + if (!Enabled) { return; } + + PreviousKeyboardState = KeyboardState; + KeyboardState = Keyboard.GetState(); + } + + public Keys[] GetPressedKeys() + { + if (!Enabled) { return new Keys[0]; } + + return KeyboardState.GetPressedKeys(); + } + + public bool IsKeyDown(Keys key) + { + if (!Enabled) { return false; } + Console.WriteLine(key + " " + KeyboardState.IsKeyDown(key) + Keyboard.GetState().IsKeyDown(key)); + + return KeyboardState.IsKeyDown(key); + } + + /// + /// Helper for checking if a key was newly pressed during this update. + /// + public bool IsNewKeyPress(Keys key) + { + if (!Enabled) { return false; } + + return KeyboardState.IsKeyDown(key) && PreviousKeyboardState.IsKeyUp(key); + } + + public bool IsNewKeyRelease(Keys key) + { + if (!Enabled) { return false; } + + return PreviousKeyboardState.IsKeyDown(key) && KeyboardState.IsKeyUp(key); + } + } +} \ No newline at end of file diff --git a/Venus Particle Editor/LoggerHelper.cs b/Venus Particle Editor/LoggerHelper.cs new file mode 100644 index 0000000..7d23f54 --- /dev/null +++ b/Venus Particle Editor/LoggerHelper.cs @@ -0,0 +1,95 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using System; + +namespace VenusParticleEditor +{ + public class LoggerHelper + { + public enum CONSOLE_TYPE_MESSAGE { ERROR, WARNING, INFO } + + private readonly int PANEL_HEIGHT = 180; + + private RichParagraph _paragraphConsole; + private Panel _panelConsole; + private string _consoleTextBackup = ""; + private bool _active = true; + + public bool Active + { + set + { + _active = value; + _panelConsole.Visible = _active; + } + + get + { + return _active; + } + } + public Panel PanelConsole + { + get { return _panelConsole; } + } + + public LoggerHelper() + { + _panelConsole = new Panel(new Vector2(0.7f, PANEL_HEIGHT), PanelSkin.Simple, Anchor.BottomLeft) + { + Padding = Vector2.Zero, + PanelOverflowBehavior = PanelOverflowBehavior.VerticalScroll + }; + _panelConsole.Scrollbar.AdjustMaxAutomatically = true; + + _paragraphConsole = new RichParagraph("teste", scale: 0.97f); + _panelConsole.AddChild(_paragraphConsole); + } + + public void Error(string text) + { + WriteConsole(text, CONSOLE_TYPE_MESSAGE.ERROR); + } + + public void Warning(string text) + { + WriteConsole(text, CONSOLE_TYPE_MESSAGE.WARNING); + } + + public void Info(string text) + { + WriteConsole(text, CONSOLE_TYPE_MESSAGE.INFO); + } + + public void WriteConsole(string text, CONSOLE_TYPE_MESSAGE typeMessage) + { + Console.WriteLine(typeMessage.ToString() + " " + text); + + string prefix = ""; + string posfix = "\n"; + switch (typeMessage) + { + case CONSOLE_TYPE_MESSAGE.INFO: + prefix = "{{BLUE}} - "; + break; + case CONSOLE_TYPE_MESSAGE.WARNING: + prefix = "{{ORANGE}} - "; + break; + case CONSOLE_TYPE_MESSAGE.ERROR: + prefix = "{{RED}} - "; + break; + } + + if (typeMessage == CONSOLE_TYPE_MESSAGE.ERROR) + { + _consoleTextBackup += prefix + text + "{{DEFAULT}}" + posfix; + } + else + { + _consoleTextBackup += prefix + "{{DEFAULT}}" + text + posfix; + } + + _paragraphConsole.Text = _consoleTextBackup; + } + } +} diff --git a/Venus Particle Editor/MainScreen.cs b/Venus Particle Editor/MainScreen.cs new file mode 100644 index 0000000..7f70ef5 --- /dev/null +++ b/Venus Particle Editor/MainScreen.cs @@ -0,0 +1,1605 @@ +#region Using Statements +using System; +using GeonBit.UI; +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using System.IO; +using System.Windows.Forms; +using System.Collections.Generic; +using System.Reflection; +using VenusParticleEngine.Core; +using VenusParticleEditor.Modifiers; +using VenusParticleEngine.Core.Profiles; +using static VenusParticleEngine.Core.Profiles.Profile; +#endregion + +/*** + * Venus Particle Editor + * 1.0.0.0 feb/2019 + * Marcelo Belkiman @mmbelkiman + * Icon made by Smashicons from www.flaticon.com + * */ +namespace VenusParticleEditor +{ + public class MainScreen : Game + { + #region ============= Enum + private enum EnumEmitterProfiles { BoxProfile, BoxFillProfile, BoxUniformProfile, CircleProfile, LineProfile, PointProfile, RingProfile, SprayProfile }; + private enum EnumEmitterCircleRadiation { In, Out, None }; + private enum EnumEmitterAxis { Up, Down, Left, Right }; + private enum EnumEmitterBlendMode { Add, Alpha, Subtract }; + private enum EnumExecutionStrategy { Parallel, Serial }; + #endregion + + #region ============= Fields final + private readonly string EMITTER_PRINCIPAL_NAME = "principal"; + private readonly float FONT_SCALE = 1f; + private readonly int TOP_PANEL_HEIGHT = 65; + #endregion + + #region ============= Fields + private GraphicsDeviceManager _graphics; + private ParticleEffect _particleEffect; + private KeyboardHelper _keyboardHelper; + private LoggerHelper _logger; + private SpriteBatch _spriteBatch; + private Color _currentClearColor = Color.CornflowerBlue; + + private string _currentEmitter; + private bool _queueActionExport = false; + private bool _queueActionLoad = false; + private bool _moveCursorMode = false; + + private Modifiers.CircleContainer _modifierCircleContainer; + private Modifiers.ColourInterpolator2 _modifierColourInterpolator2; + private Modifiers.Drag _modifierDrag; + private Modifiers.HueInterpolator2 _modifierHueInterpolator2; + private Modifiers.LinearGravity _modifierLinearGravity; + private Modifiers.OpacityFastFade _modifierOpacityFastFade; + private Modifiers.OpacityInterpolator2 _modifierOpacityInterpolator2; + private Modifiers.OpacityInterpolator3 _modifierOpacityInterpolator3; + private Modifiers.RectContainer _modifierRectContainer; + private Modifiers.RectLoopContainer _modifierRectLoopContainer; + private Modifiers.Rotation _modifierRotation; + private Modifiers.ScaleInterpolator2 _modifierScaleInterpolator2; + private Modifiers.VelocityColour _modifierVelocityColour; + private Modifiers.VelocityColourInfinite _modifierVelocityColourInfinite; + private Modifiers.VelocityHue _modifierVelocityHue; + private Modifiers.Vortex _modifierVortex; + + private GeonBit.UI.Entities.Panel _texturePanelImage; + private GeonBit.UI.Entities.Panel _panelEditor; + private GeonBit.UI.Entities.RadioButton _textureRadioSquare; + private GeonBit.UI.Entities.RadioButton _textureRadioImage; + private GeonBit.UI.Entities.Button _buttonRemoveEmitter; + private Paragraph _parametersParagraphColorH; + private Paragraph _parametersParagraphColorS; + private Paragraph _parametersParagraphColorL; + private Paragraph _parametersParagraphOpacity; + private Paragraph _paragraphImageName; + private Slider _parametersSliderColorH; + private Slider _parametersSliderColorS; + private Slider _parametersSliderColorL; + private Slider _parametersSliderOpacity; + private DropDown _dropdownEmitter; + private DropDown _dropdownProfile; + private DropDown _dropdownProfileCircleRadiation; + private DropDown _dropdownProfileAxis; + private DropDown _dropdownBlendMode; + private DropDown _dropdownExecutionStrategy; + private TextInput _inputCapacity; + private TextInput _inputTimeMilleseconds; + private TextInput _inputProfileWidth; + private TextInput _inputProfileHeight; + private TextInput _inputProfileRadius; + private TextInput _inputProfileLength; + private TextInput _inputProfileSpread; + private TextInput _inputScale; + private TextInput _inputQuantity; + private TextInput _inputReclaimFrequency; + private TextInput _inputOffsetX; + private TextInput _inputOffsetY; + private TextInput _inputSpeedMin; + private TextInput _inputSpeedMax; + private TextInput _inputRotationMin; + private TextInput _inputRotationMax; + private TextInput _inputMassMin; + private TextInput _inputMassMax; + #endregion + + #region ============= Constructor + public MainScreen() + { + _graphics = new GraphicsDeviceManager(this) + { + PreferredBackBufferWidth = GlobalFields.APP_WIDTH, + PreferredBackBufferHeight = GlobalFields.APP_HEIGHT, + // PreferMultiSampling = true, + SynchronizeWithVerticalRetrace = true, + IsFullScreen = false, + HardwareModeSwitch = false, + SupportedOrientations = DisplayOrientation.LandscapeRight, + }; + Content.RootDirectory = "Content"; + } + #endregion + + #region ============= Superclass methods + protected override void Initialize() + { + UserInterface.Initialize(Content, BuiltinThemes.hd); + UserInterface.Active.UseRenderTarget = true; + UserInterface.Active.IncludeCursorInRenderTarget = false; + + _particleEffect = new ParticleEffect(); + _keyboardHelper = new KeyboardHelper(); + _logger = new LoggerHelper(); + _spriteBatch = new SpriteBatch(GraphicsDevice); + + InitializeUI(); + AddEmitter(EMITTER_PRINCIPAL_NAME); + + base.Initialize(); + + _logger.Info("Venus Particle Editor Ver: " + GlobalFields.SOFTWARE_VERSION); + _logger.Warning("by: marcelo belkiman @mmbelkiman"); + _logger.Info("Geon Bit UI ver: " + GlobalFields.GEONBITUI_VERION); + _logger.Info("Newtonsoft.Json ver: " + Assembly.LoadFrom("Newtonsoft.Json.dll").GetName().Version); + _logger.Info("Monogame ver: " + Assembly.LoadFrom("Monogame.Framework.dll").GetName().Version); + _logger.Info("Venus Particle engine ver: " + Assembly.LoadFrom("VenusParticleEngine.dll").GetName().Version); + _logger.Info("F9 move particle" + + " / F10 change background" + + "/ F11 full screen mode" + + "/ F12 show/hide log"); + } + + protected override void Draw(GameTime gameTime) + { + try + { + UserInterface.Active.Draw(_spriteBatch); + GraphicsDevice.Clear(_currentClearColor); + UserInterface.Active.DrawMainRenderTarget(_spriteBatch); + } + catch (Exception e) + { + GraphicsDevice.Clear(_currentClearColor); + UserInterface.Active.Dispose(); + _logger.Error(e.Message); + } + + _spriteBatch.Begin(blendState: BlendState.AlphaBlend); + _spriteBatch.Draw(_particleEffect); + _spriteBatch.End(); + + base.Draw(gameTime); + } + + protected override void Update(GameTime gameTime) + { + if (_queueActionExport) + Export(); + + if (_queueActionLoad) + Load(); + + if (_moveCursorMode) + { _particleEffect.Trigger(new Vector(Mouse.GetState().X, Mouse.GetState().Y)); } + else + { _particleEffect.Trigger(new Vector(150, 400)); } + + UserInterface.Active.Update(gameTime); + + _keyboardHelper.Update(gameTime); + + if (!_particleEffect.Emitters.ContainsKey(_currentEmitter)) return; + + _modifierCircleContainer.Update(); + _modifierColourInterpolator2.Update(); + _modifierDrag.Update(); + _modifierHueInterpolator2.Update(); + _modifierLinearGravity.Update(); + _modifierOpacityFastFade.Update(); + _modifierOpacityInterpolator2.Update(); + _modifierOpacityInterpolator3.Update(); + _modifierRectContainer.Update(); + _modifierRectLoopContainer.Update(); + _modifierRotation.Update(); + _modifierScaleInterpolator2.Update(); + _modifierVelocityColour.Update(); + _modifierVelocityColourInfinite.Update(); + _modifierVelocityHue.Update(); + _modifierVortex.Update(); + + if (_textureRadioImage.Checked) + { _texturePanelImage.Visible = true; } + else + { _texturePanelImage.Visible = false; } + + _particleEffect.Update((float)gameTime.ElapsedGameTime.TotalSeconds); + + UpdateCapacity(); + UpdateTimeMilleseconds(); + UpdateProfile(); + UpdateBlendMode(); + UpdateReclaimFrequency(); + UpdateExecutionStrategy(); + UpdateOffset(); + UpdateColor(); + UpdateOpacity(); + UpdateQuantity(); + UpdateSpeed(); + UpdateScale(); + UpdateRotation(); + UpdateMass(); + + UpdateKeyboard(); + + base.Update(gameTime); + } + #endregion + + private void CreateTopMenu() + { + // create top panel + GeonBit.UI.Entities.Panel topPanel = new GeonBit.UI.Entities.Panel(new Vector2(0, TOP_PANEL_HEIGHT + 2), PanelSkin.Simple, Anchor.TopCenter); + topPanel.Padding = Vector2.Zero; + UserInterface.Active.AddEntity(topPanel); + + // add export button + GeonBit.UI.Entities.Button buttonExport = new GeonBit.UI.Entities.Button("Export", ButtonSkin.Default, Anchor.AutoInline, new Vector2(170, TOP_PANEL_HEIGHT)) + { + OnClick = (Entity btn) => { this.Export(); } + }; + topPanel.AddChild(buttonExport); + + // add Load button + GeonBit.UI.Entities.Button buttonLoad = new GeonBit.UI.Entities.Button("Load", ButtonSkin.Default, Anchor.AutoInline, new Vector2(170, TOP_PANEL_HEIGHT)) + { + OnClick = (Entity btn) => { this.Load(); } + }; + topPanel.AddChild(buttonLoad); + + // add Load button + GeonBit.UI.Entities.Button buttonMove = new GeonBit.UI.Entities.Button("Move", ButtonSkin.Default, Anchor.AutoInline, new Vector2(170, TOP_PANEL_HEIGHT)) + { + OnClick = (Entity btn) => + { + _moveCursorMode = !_moveCursorMode; + } + }; + topPanel.AddChild(buttonMove); + + // add title and text + var welcomeText = new RichParagraph("{{ORANGE}} Venus {{DEFAULT}}Particle Editor", Anchor.TopLeft, new Vector2(180, TOP_PANEL_HEIGHT), offset: new Vector2(50, 90)); + UserInterface.Active.AddEntity(welcomeText); + + //Dropdown Emitter + _dropdownEmitter = new DropDown(new Vector2(290, -1), anchor: Anchor.TopRight, offset: new Vector2(170, 0)) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + //Add new Emitter + if (_dropdownEmitter.SelectedIndex == _dropdownEmitter.Count - 1) + { + var textInput = new TextInput(false) + { + PlaceholderText = "Name" + }; + GeonBit.UI.Utils.MessageBox.ShowMsgBox( + "Reffer", "Please insert name to new entitiy", + new GeonBit.UI.Utils.MessageBox.MsgBoxOption[] { + new GeonBit.UI.Utils.MessageBox.MsgBoxOption("ADD", () => + { + if (string.IsNullOrEmpty(textInput.Value)) + { + textInput.Value = (_dropdownEmitter.Count + 1).ToString(); + } + + AddEmitter(textInput.Value); + _buttonRemoveEmitter.Enabled = true; + + return true; + }), + }, new Entity[] { textInput }); + } + else + { + if (_dropdownEmitter.SelectedValue != null) + _currentEmitter = _dropdownEmitter.SelectedValue; + RefreshEmitter(); + } + } + }; + + _dropdownEmitter.AddItem("Add new"); + UserInterface.Active.AddEntity(_dropdownEmitter); + + _buttonRemoveEmitter = new GeonBit.UI.Entities.Button("Remove", ButtonSkin.Default, Anchor.TopRight, new Vector2(170, TOP_PANEL_HEIGHT), offset: new Vector2(0, 0)) + { + Enabled = false, + OnClick = (Entity btn) => + { + if (_dropdownEmitter.SelectedIndex >= 0) + { + _logger.Info("remove emitter => " + _dropdownEmitter.SelectedValue + " at pos " + _dropdownEmitter.SelectedIndex); + _particleEffect.Emitters.Remove(_dropdownEmitter.SelectedValue); + + _dropdownEmitter.RemoveItem(_dropdownEmitter.SelectedIndex); + _dropdownEmitter.SelectedIndex = -1; + + if (_dropdownEmitter.Count == 2) + { + _buttonRemoveEmitter.Enabled = false; + } + + } + } + }; + UserInterface.Active.AddEntity(_buttonRemoveEmitter); + } + + private void InitializeUI() + { + CreateTopMenu(); + + // Add console panel + var Name = new RichParagraph("by: Marcelo Belkiman @mmbelkiman", Anchor.BottomLeft); + UserInterface.Active.AddEntity(Name); + UserInterface.Active.AddEntity(_logger.PanelConsole); + + // add exit button + GeonBit.UI.Entities.Button exitBtn = new GeonBit.UI.Entities.Button("Exit", anchor: Anchor.BottomRight, size: new Vector2(200, -1)) + { + OnClick = (Entity entity) => { Exit(); } + }; + UserInterface.Active.AddEntity(exitBtn); + + // Panel: + { + _panelEditor = new GeonBit.UI.Entities.Panel(GlobalFields.PANEL_EDITOR_SIZE, PanelSkin.Fancy, Anchor.CenterRight, offset: new Vector2(0, -40)); + UserInterface.Active.AddEntity(_panelEditor); + + // create panel tabs + PanelTabs tabs = new PanelTabs + { + BackgroundSkin = PanelSkin.Default + }; + _panelEditor.AddChild(tabs); + + // add panel + { + _textureRadioImage = new GeonBit.UI.Entities.RadioButton("Image", Anchor.AutoInline, new Vector2(0.5f, -1f)) + { + OnClick = (Entity btn) => { this.LoadImage(); } + }; + } + { + _textureRadioSquare = new GeonBit.UI.Entities.RadioButton("Square", Anchor.AutoInline, new Vector2(0.5f, -1f), isChecked: true) + { + OnClick = (Entity btn) => { this.EmitterToSquare(); } + }; + } + + // add first panel + { + TabData tab = tabs.AddTab("Emitter"); + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Type")); + + tab.panel.AddChild(_textureRadioSquare); + tab.panel.AddChild(_textureRadioImage); + } + + { + _texturePanelImage = new GeonBit.UI.Entities.Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 100), anchor: Anchor.AutoInline, skin: PanelSkin.Simple, offset: new Vector2(0, 0)); + _paragraphImageName = new Paragraph("name:", Anchor.AutoInline, scale: FONT_SCALE); + _texturePanelImage.AddChild(_paragraphImageName); + tab.panel.AddChild(_texturePanelImage); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Capacity", Anchor.AutoInline, new Vector2(0.3f, -1), scale: FONT_SCALE)); + _inputCapacity = new TextInput(false, new Vector2(0.7f, -1f), anchor: Anchor.AutoInline); + _inputCapacity.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputCapacity.Value = "0"; + _inputCapacity.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputCapacity); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Time Milliseconds", Anchor.AutoInline, new Vector2(0.3f, -1), scale: FONT_SCALE)); + _inputTimeMilleseconds = new TextInput(false, new Vector2(0.7f, -1f), anchor: Anchor.AutoInline); + _inputTimeMilleseconds.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputTimeMilleseconds.Value = "1000"; + _inputTimeMilleseconds.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputTimeMilleseconds); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Profile", Anchor.AutoInline, new Vector2(0.3f, -1), scale: FONT_SCALE)); + + _dropdownProfile = new DropDown(new Vector2(0.7f, -1), anchor: Anchor.AutoInline) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + UpdateProfile(); + RefreshEmitterProfile(); + } + }; + _dropdownProfile.AddItem(EnumEmitterProfiles.BoxProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.BoxFillProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.BoxUniformProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.CircleProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.LineProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.PointProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.RingProfile.ToString()); + _dropdownProfile.AddItem(EnumEmitterProfiles.SprayProfile.ToString()); + tab.panel.AddChild(_dropdownProfile); + + tab.panel.AddChild(new Paragraph("Width", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputProfileWidth = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputProfileWidth.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputProfileWidth.Value = "1"; + _inputProfileWidth.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputProfileWidth); + + tab.panel.AddChild(new Paragraph("Height", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputProfileHeight = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputProfileHeight.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputProfileHeight.Value = "1"; + _inputProfileHeight.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputProfileHeight); + + tab.panel.AddChild(new Paragraph("radius", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _inputProfileRadius = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputProfileRadius.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputProfileRadius.Value = "1"; + _inputProfileRadius.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputProfileRadius); + + tab.panel.AddChild(new Paragraph("CircleRadiation", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _dropdownProfileCircleRadiation = new DropDown(new Vector2(0.5f, -1), anchor: Anchor.AutoInline) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + UpdateProfile(); + RefreshEmitterProfile(); + } + }; + _dropdownProfileCircleRadiation.AddItem(EnumEmitterCircleRadiation.In.ToString()); + _dropdownProfileCircleRadiation.AddItem(EnumEmitterCircleRadiation.Out.ToString()); + _dropdownProfileCircleRadiation.AddItem(EnumEmitterCircleRadiation.None.ToString()); + tab.panel.AddChild(_dropdownProfileCircleRadiation); + + tab.panel.AddChild(new Paragraph("Axis", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _dropdownProfileAxis = new DropDown(new Vector2(0.5f, -1), anchor: Anchor.AutoInline) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + UpdateProfile(); + RefreshEmitterProfile(); + } + }; + _dropdownProfileAxis.AddItem(EnumEmitterAxis.Up.ToString()); + _dropdownProfileAxis.AddItem(EnumEmitterAxis.Down.ToString()); + _dropdownProfileAxis.AddItem(EnumEmitterAxis.Left.ToString()); + _dropdownProfileAxis.AddItem(EnumEmitterAxis.Right.ToString()); + tab.panel.AddChild(_dropdownProfileAxis); + + tab.panel.AddChild(new Paragraph("Length", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _inputProfileLength = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputProfileLength.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputProfileLength.Value = "1"; + _inputProfileLength.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputProfileLength); + + tab.panel.AddChild(new Paragraph("Spread", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _inputProfileSpread = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputProfileSpread.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputProfileSpread.Value = "1"; + _inputProfileSpread.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputProfileSpread); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Blend Mode", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _dropdownBlendMode = new DropDown(new Vector2(0.5f, -1), anchor: Anchor.AutoInline) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + UpdateBlendMode(); + } + }; + _dropdownBlendMode.AddItem(EnumEmitterBlendMode.Add.ToString()); + _dropdownBlendMode.AddItem(EnumEmitterBlendMode.Alpha.ToString()); + _dropdownBlendMode.AddItem(EnumEmitterBlendMode.Subtract.ToString()); + tab.panel.AddChild(_dropdownBlendMode); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Reclaim Frequency", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _inputReclaimFrequency = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputReclaimFrequency.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputReclaimFrequency.Value = "1"; + _inputReclaimFrequency.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputReclaimFrequency); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Execution Strategy", Anchor.AutoInline, new Vector2(0.5f, -1), scale: FONT_SCALE)); + _dropdownExecutionStrategy = new DropDown(new Vector2(0.5f, -1), anchor: Anchor.AutoInline) + { + DefaultText = "Click to change", + OnValueChange = (entity) => + { + UpdateExecutionStrategy(); + } + }; + _dropdownExecutionStrategy.AddItem(EnumExecutionStrategy.Parallel.ToString()); + _dropdownExecutionStrategy.AddItem(EnumExecutionStrategy.Serial.ToString()); + tab.panel.AddChild(_dropdownExecutionStrategy); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Offset")); + + tab.panel.AddChild(new Paragraph("X", Anchor.AutoInline, new Vector2(0.1f, -1), scale: FONT_SCALE)); + _inputOffsetX = new TextInput(false, new Vector2(0.4f, -1f), anchor: Anchor.AutoInline); + _inputOffsetX.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputOffsetX.Value = "1"; + _inputOffsetX.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputOffsetX); + + tab.panel.AddChild(new Paragraph("Y", Anchor.AutoInline, new Vector2(0.1f, -1), scale: FONT_SCALE)); + _inputOffsetY = new TextInput(false, new Vector2(0.4f, -1f), anchor: Anchor.AutoInline); + _inputOffsetY.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputOffsetY.Value = "1"; + _inputOffsetY.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputOffsetY); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Color HSL")); + + _parametersSliderColorH = new Slider(0, 360, SliderSkin.Default); + _parametersParagraphColorH = new Paragraph("HUE", scale: FONT_SCALE); + tab.panel.AddChild(_parametersParagraphColorH); + tab.panel.AddChild(_parametersSliderColorH); + + _parametersSliderColorS = new Slider(0, 100, SliderSkin.Default); + _parametersParagraphColorS = new Paragraph("Saturation", scale: FONT_SCALE); + tab.panel.AddChild(_parametersParagraphColorS); + tab.panel.AddChild(_parametersSliderColorS); + + _parametersSliderColorL = new Slider(0, 100, SliderSkin.Default); + _parametersParagraphColorL = new Paragraph("Lightness", scale: FONT_SCALE); + tab.panel.AddChild(_parametersParagraphColorL); + tab.panel.AddChild(_parametersSliderColorL); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _parametersSliderOpacity = new Slider(0, 100, SliderSkin.Default); + _parametersParagraphOpacity = new Paragraph("Opacity", scale: FONT_SCALE); + tab.panel.AddChild(_parametersParagraphOpacity); + tab.panel.AddChild(_parametersSliderOpacity); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Quantity", Anchor.AutoInline, new Vector2(0.3f, -1), scale: FONT_SCALE)); + _inputQuantity = new TextInput(false, new Vector2(0.7f, -1f), anchor: Anchor.AutoInline); + _inputQuantity.Validators.Add(new TextValidatorNumbersOnly(false, 0)); + _inputQuantity.Value = "1"; + _inputQuantity.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputQuantity); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Speed")); + + tab.panel.AddChild(new Paragraph("Min", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputSpeedMin = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputSpeedMin.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputSpeedMin.Value = "1"; + _inputSpeedMin.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputSpeedMin); + + tab.panel.AddChild(new Paragraph("Max", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputSpeedMax = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputSpeedMax.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputSpeedMax.Value = "1"; + _inputSpeedMax.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputSpeedMax); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new Paragraph("Scale", Anchor.AutoInline, new Vector2(0.3f, -1), scale: FONT_SCALE)); + _inputScale = new TextInput(false, new Vector2(0.7f, -1f), anchor: Anchor.AutoInline); + _inputScale.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputScale.Value = "1"; + _inputScale.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputScale); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Rotation")); + + tab.panel.AddChild(new Paragraph("Min", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputRotationMin = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputRotationMin.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputRotationMin.Value = "1"; + _inputRotationMin.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputRotationMin); + + tab.panel.AddChild(new Paragraph("Max", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputRotationMax = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputRotationMax.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputRotationMax.Value = "1"; + _inputRotationMax.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputRotationMax); + } + + tab.panel.AddChild(new HorizontalLine()); + { + tab.panel.AddChild(new RichParagraph("{{GOLD}} Mass")); + + tab.panel.AddChild(new Paragraph("Min", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputMassMin = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputMassMin.Validators.Add(new TextValidatorNumbersOnly(true)); + _inputMassMin.Value = "1"; + _inputMassMin.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputMassMin); + + tab.panel.AddChild(new Paragraph("Max", Anchor.AutoInline, new Vector2(0.2f, -1), scale: FONT_SCALE)); + _inputMassMax = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputMassMax.Validators.Add(new TextValidatorNumbersOnly(true)); + _inputMassMax.Value = "1"; + _inputMassMax.ValueWhenEmpty = "1"; + tab.panel.AddChild(_inputMassMax); + } + + tab.panel.PanelOverflowBehavior = PanelOverflowBehavior.VerticalScroll; + tab.panel.Scrollbar.AdjustMaxAutomatically = true; + } + + // add Modifiers panel + { + TabData tab = tabs.AddTab("Modifiers"); + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierCircleContainer = new Modifiers.CircleContainer(); + tab.panel.AddChild(_modifierCircleContainer.Panel); + } + + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierColourInterpolator2 = new Modifiers.ColourInterpolator2(); + tab.panel.AddChild(_modifierColourInterpolator2.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierDrag = new Drag(); + tab.panel.AddChild(_modifierDrag.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierHueInterpolator2 = new Modifiers.HueInterpolator2(); + tab.panel.AddChild(_modifierHueInterpolator2.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierLinearGravity = new Modifiers.LinearGravity(); + tab.panel.AddChild(_modifierLinearGravity.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierOpacityFastFade = new Modifiers.OpacityFastFade(); + tab.panel.AddChild(_modifierOpacityFastFade.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierOpacityInterpolator2 = new Modifiers.OpacityInterpolator2(); + tab.panel.AddChild(_modifierOpacityInterpolator2.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierOpacityInterpolator3 = new Modifiers.OpacityInterpolator3(); + tab.panel.AddChild(_modifierOpacityInterpolator3.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierRectContainer = new Modifiers.RectContainer(); + tab.panel.AddChild(_modifierRectContainer.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierRectLoopContainer = new Modifiers.RectLoopContainer(); + tab.panel.AddChild(_modifierRectLoopContainer.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierRotation = new Modifiers.Rotation(); + tab.panel.AddChild(_modifierRotation.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierScaleInterpolator2 = new Modifiers.ScaleInterpolator2(); + tab.panel.AddChild(_modifierScaleInterpolator2.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierVelocityColour = new Modifiers.VelocityColour(); + tab.panel.AddChild(_modifierVelocityColour.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierVelocityColourInfinite = new Modifiers.VelocityColourInfinite(); + tab.panel.AddChild(_modifierVelocityColourInfinite.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierVelocityHue = new Modifiers.VelocityHue(); + tab.panel.AddChild(_modifierVelocityHue.Panel); + } + + tab.panel.AddChild(new HorizontalLine()); + { + _modifierVortex = new Modifiers.Vortex(); + tab.panel.AddChild(_modifierVortex.Panel); + } + + tab.panel.PanelOverflowBehavior = PanelOverflowBehavior.VerticalScroll; + tab.panel.Scrollbar.AdjustMaxAutomatically = true; + } + } + } + + private void Export() + { + if (_graphics.IsFullScreen) + { + ToggleFullscreen(); + _queueActionExport = true; + return; + } + + _queueActionExport = false; + SaveFileDialog fileDialog = new SaveFileDialog + { + Title = "Save Particle", + Filter = "Particle (*.ptc;)|*.ptc;" + }; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + try + { + JsonHelper.WriteToJsonFile(fileDialog.FileName, _particleEffect); + _logger.Info("EXPORT: " + fileDialog.FileName); + } + catch (Exception e) + { + _logger.Error("EXPORT: " + e.Message); + } + + foreach (KeyValuePair keyValue in _particleEffect.Emitters) + { + try + { + if (keyValue.Value.Texture.Name != null && !keyValue.Value.Texture.Name.Equals("")) + { + + if (System.IO.File.Exists(Path.GetDirectoryName(fileDialog.FileName) + "\\" + Path.GetFileName(keyValue.Value.Texture.Name))) + { + _logger.Warning("EXPORT IGNORE IMG " + Path.GetDirectoryName(fileDialog.FileName) + "\\" + Path.GetFileName(keyValue.Value.Texture.Name)); + } + else + { + File.Copy( + keyValue.Value.Texture.Name, + Path.GetDirectoryName(fileDialog.FileName) + "\\" + Path.GetFileName(keyValue.Value.Texture.Name), + true); + + _logger.Info("EXPORT IMG " + Path.GetDirectoryName(fileDialog.FileName) + "\\" + Path.GetFileName(keyValue.Value.Texture.Name)); + } + } + } + catch (DirectoryNotFoundException dirNotFound) + { + _logger.Error(dirNotFound.Message); + } + catch (IOException ioEx) + { + _logger.Error(ioEx.Message); + } + } + } + } + + private void EmitterToSquare() + { + Texture2D Texture = new Texture2D(GraphicsDevice, 1, 1); + + _particleEffect.Emitters[_currentEmitter].Texture = Texture; + _particleEffect.Emitters[_currentEmitter].Texture.SetData(new[] { Color.White }); + } + + private void LoadImage() + { + OpenFileDialog fileDialog = new OpenFileDialog(); + + fileDialog.Title = "Load Image"; + fileDialog.Filter = "PNG (*.png;)|*.png;" + + "|jpg (*.jpg;)|*.jpg;" + + "|XNB (*.xnb;)|*.xnb;" + + "|All Files (*.*)|*.*"; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + if (fileDialog.FileName.Contains(".xnb")) + { + LoadImageXNB(fileDialog.FileName); + } + else + { + LoadImageNormal(fileDialog.FileName); + } + + if (_particleEffect.Emitters[_currentEmitter].Texture.Width > _particleEffect.Emitters[_currentEmitter].Texture.Height) + { + _inputScale.Value = _particleEffect.Emitters[_currentEmitter].Texture.Width.ToString(); + } + else + { + _inputScale.Value = _particleEffect.Emitters[_currentEmitter].Texture.Height.ToString(); + } + _paragraphImageName.Text = "name:" + Path.GetFileName(fileDialog.FileName); + } + else + { + _textureRadioImage.Checked = false; + _textureRadioSquare.Checked = true; + } + } + + private void LoadImageNormal(string fileName) + { + FileStream fileStream = new FileStream(fileName, FileMode.Open); + Texture2D spriteAtlas = Texture2D.FromStream(GraphicsDevice, fileStream); + spriteAtlas.Name = fileName; + fileStream.Dispose(); + _particleEffect.Emitters[_currentEmitter].Texture = spriteAtlas; + _particleEffect.Emitters[_currentEmitter].Texture.Name = fileName; + _parametersSliderColorL.Value = 100; + } + + private void LoadImageXNB(string fileName) + { + _particleEffect.Emitters[_currentEmitter].Texture = Content.Load(fileName.Replace(".xnb", "")); + } + + private void Load() + { + if (_graphics.IsFullScreen) + { + ToggleFullscreen(); + _queueActionLoad = true; + return; + } + + _queueActionLoad = false; + + OpenFileDialog fileDialog = new OpenFileDialog + { + Title = "Load particle", + Filter = "Particle (*.ptc;)|*.ptc;" + + "|All Files (*.*)|*.*" + }; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + //Remove all items from dropdown + _dropdownEmitter.SelectedIndex = -1; + int countDropdown = _dropdownEmitter.Count; + for (int i = 0; i < countDropdown; i++) + { + _dropdownEmitter.RemoveItem(0); + } + + ParticleEffect pe = ParticleEffect.ReadFromJsonFile(fileDialog.FileName, GraphicsDevice, Content); + + //Add new items at dropdown + foreach (var item in pe.Emitters) + { + _dropdownEmitter.AddItem(item.Key); + } + _dropdownEmitter.AddItem("Add new"); + _dropdownEmitter.SelectedIndex = 0; + _currentEmitter = _dropdownEmitter.SelectedValue; + + if (_dropdownEmitter.Count > 2) + { + _buttonRemoveEmitter.Enabled = true; + } + else + { + _buttonRemoveEmitter.Enabled = false; + } + + foreach (var item in pe.Emitters) + { + if (string.IsNullOrEmpty(item.Value.TexturePath)) + { + item.Value.Texture = new Texture2D(GraphicsDevice, 1, 1); + item.Value.Texture.SetData(new[] { Color.White }); + } + } + + _particleEffect = pe; + + _inputProfileHeight.Value = _particleEffect.Emitters[_currentEmitter].Profile.Height.ToString(); + _inputProfileWidth.Value = _particleEffect.Emitters[_currentEmitter].Profile.Width.ToString(); + _inputProfileLength.Value = _particleEffect.Emitters[_currentEmitter].Profile.Length.ToString(); + _inputProfileSpread.Value = _particleEffect.Emitters[_currentEmitter].Profile.Spread.ToString(); + _inputProfileRadius.Value = _particleEffect.Emitters[_currentEmitter].Profile.Radius.ToString(); + + RefreshEmitter(); + + if (_particleEffect.Emitters[_currentEmitter].TexturePath.Equals("")) + { + _textureRadioSquare.Checked = true; + } + else + { + _textureRadioImage.Checked = true; + _paragraphImageName.Text = "name:" + Path.GetFileName(_particleEffect.Emitters[_currentEmitter].TexturePath); + } + + _logger.Info("LOAD " + Path.GetDirectoryName(fileDialog.FileName)); + } + } + + private void AddEmitter(string Name) + { + _particleEffect.Emitters.Add(Name, + new Emitter(100, TimeSpan.FromMilliseconds(1000f), Profile.Point()) + { + Texture = new Texture2D(GraphicsDevice, 1, 1), + BlendMode = BlendMode.Alpha, + ReclaimFrequency = 1f, + ForceLoop = true, + ModifierExecutionStrategy = ModifierExecutionStrategy.Serial(), + Offset = Vector.Zero, + Parameters = new ReleaseParameters + { + Colour = new Colour(0, .5f, .5f), + Opacity = 1f, + Quantity = 1, + Speed = 1.1f, + Scale = 10f, + Rotation = 0f, + Mass = 1.1f + }, + SpriteEffects = SpriteEffects.None, + LayerDepth = 0 + }); + + _particleEffect.Emitters[Name].Texture.SetData(new[] { Color.White }); + + _dropdownEmitter.RemoveItem("Add new"); + _dropdownEmitter.AddItem(Name); + _dropdownEmitter.AddItem("Add new"); + _dropdownEmitter.SelectedIndex = _dropdownEmitter.Count - 2; + _currentEmitter = _dropdownEmitter.SelectedValue; + + _textureRadioSquare.Checked = true; + _textureRadioImage.Checked = false; + + if (!Name.Equals(EMITTER_PRINCIPAL_NAME)) + _logger.Info("add emitter => " + Name + " at pos " + (_particleEffect.Emitters.Count - 1)); + } + + private void UpdateKeyboard() + { + if (_keyboardHelper.IsNewKeyRelease(Microsoft.Xna.Framework.Input.Keys.F9)) + { + _moveCursorMode = !_moveCursorMode; + } + + if (_keyboardHelper.IsNewKeyRelease(Microsoft.Xna.Framework.Input.Keys.F10)) + { + if (_currentClearColor == Color.White) + { + _currentClearColor = Color.CornflowerBlue; + return; + } + if (_currentClearColor == Color.Black) + _currentClearColor = Color.White; + if (_currentClearColor == Color.CornflowerBlue) + _currentClearColor = Color.Black; + } + + if (_keyboardHelper.IsNewKeyRelease(Microsoft.Xna.Framework.Input.Keys.F11)) + { + ToggleFullscreen(); + } + + if (_keyboardHelper.IsNewKeyRelease(Microsoft.Xna.Framework.Input.Keys.F12)) + { + _logger.Active = !_logger.Active; + } + } + + private void ToggleFullscreen() + { + _graphics.IsFullScreen = !_graphics.IsFullScreen; + if (_graphics.IsFullScreen) + { + _panelEditor.Size = GlobalFields.PANEL_EDITOR_SIZE_FULLSCREEN; + } + else + { + _panelEditor.Size = GlobalFields.PANEL_EDITOR_SIZE; + } + + _graphics.ApplyChanges(); + } + + private void UpdateBlendMode() + { + if (_particleEffect.Emitters[_currentEmitter].BlendMode.ToString() != _dropdownBlendMode.SelectedValue) + { + switch (_dropdownBlendMode.SelectedValue) + { + case nameof(EnumEmitterBlendMode.Add): + _particleEffect.Emitters[_currentEmitter].BlendMode = BlendMode.Add; + break; + case nameof(EnumEmitterBlendMode.Alpha): + _particleEffect.Emitters[_currentEmitter].BlendMode = BlendMode.Alpha; + break; + case nameof(EnumEmitterBlendMode.Subtract): + _particleEffect.Emitters[_currentEmitter].BlendMode = BlendMode.Subtract; + break; + } + } + } + + private void UpdateExecutionStrategy() + { + if (_particleEffect.Emitters[_currentEmitter].ModifierExecutionStrategy.ToString() != _dropdownExecutionStrategy.SelectedValue) + { + switch (_dropdownExecutionStrategy.SelectedValue) + { + case nameof(EnumExecutionStrategy.Parallel): + _particleEffect.Emitters[_currentEmitter].ModifierExecutionStrategy = ModifierExecutionStrategy.Parallel(); + break; + case nameof(EnumExecutionStrategy.Serial): + _particleEffect.Emitters[_currentEmitter].ModifierExecutionStrategy = ModifierExecutionStrategy.Serial(); + break; + } + } + } + + private void UpdateOffset() + { + Vector newOffset = Vector.Zero; + + if (_inputOffsetX.Value != null && !_inputOffsetX.Value.Equals("") && !_inputOffsetX.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Offset.X != float.Parse(_inputOffsetX.Value.Replace(".", ","))) + newOffset.X = float.Parse(_inputOffsetX.Value.Replace(".", ",")); + + if (_inputOffsetY.Value != null && !_inputOffsetY.Value.Equals("") && !_inputOffsetY.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Offset.Y != float.Parse(_inputOffsetY.Value.Replace(".", ","))) + newOffset.Y = float.Parse(_inputOffsetY.Value.Replace(".", ",")); + + if (newOffset.X != _particleEffect.Emitters[_currentEmitter].Offset.X + || newOffset.Y != _particleEffect.Emitters[_currentEmitter].Offset.Y) + { + _particleEffect.Emitters[_currentEmitter].Offset = newOffset; + } + } + + private void UpdateProfile() + { + string name = _particleEffect.Emitters[_currentEmitter].Profile.ToString(); + + switch (_dropdownProfile.SelectedValue) + { + case nameof(EnumEmitterProfiles.BoxFillProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileWidth.Value != null && !_inputProfileWidth.Value.Equals("") && !_inputProfileWidth.Value.Equals("-") + && ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width != float.Parse(_inputProfileWidth.Value.Replace(".", ","))) + { ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width = float.Parse(_inputProfileWidth.Value.Replace(".", ",")); } + + if (_inputProfileHeight.Value != null && !_inputProfileHeight.Value.Equals("") && !_inputProfileHeight.Value.Equals("-") + && ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height != float.Parse(_inputProfileHeight.Value.Replace(".", ","))) + { ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height = float.Parse(_inputProfileHeight.Value.Replace(".", ",")); } + } + else + _particleEffect.Emitters[_currentEmitter].Profile = Profile.BoxFill( + _particleEffect.Emitters[_currentEmitter].Profile.Width, _particleEffect.Emitters[_currentEmitter].Profile.Height); + break; + case nameof(EnumEmitterProfiles.BoxProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileWidth.Value != null && !_inputProfileWidth.Value.Equals("") && !_inputProfileWidth.Value.Equals("-") + && ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width != float.Parse(_inputProfileWidth.Value.Replace(".", ","))) + { ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width = float.Parse(_inputProfileWidth.Value.Replace(".", ",")); } + + if (_inputProfileHeight.Value != null && !_inputProfileHeight.Value.Equals("") && !_inputProfileHeight.Value.Equals("-") + && ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height != float.Parse(_inputProfileHeight.Value.Replace(".", ","))) + { ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height = float.Parse(_inputProfileHeight.Value.Replace(".", ",")); } + } + else + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Box(100, 100); + break; + case nameof(EnumEmitterProfiles.BoxUniformProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileWidth.Value != null && !_inputProfileWidth.Value.Equals("") && !_inputProfileWidth.Value.Equals("-") + && ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width != float.Parse(_inputProfileWidth.Value.Replace(".", ","))) + { ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width = float.Parse(_inputProfileWidth.Value.Replace(".", ",")); } + + if (_inputProfileHeight.Value != null && !_inputProfileHeight.Value.Equals("") && !_inputProfileHeight.Value.Equals("-") + && ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height != float.Parse(_inputProfileHeight.Value.Replace(".", ","))) + { ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height = float.Parse(_inputProfileHeight.Value.Replace(".", ",")); } + } + else + _particleEffect.Emitters[_currentEmitter].Profile = Profile.BoxUniform(100, 100); + break; + case nameof(EnumEmitterProfiles.CircleProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileRadius.Value != null && !_inputProfileRadius.Value.Equals("") && !_inputProfileRadius.Value.Equals("-") + && ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius != float.Parse(_inputProfileRadius.Value.Replace(".", ","))) + { + ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius = float.Parse(_inputProfileRadius.Value.Replace(".", ",")); + } + + if (((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate.ToString() != _dropdownProfileCircleRadiation.SelectedValue) + { + switch (_dropdownProfileCircleRadiation.SelectedValue) + { + case nameof(EnumEmitterCircleRadiation.In): + ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.In; + break; + case nameof(EnumEmitterCircleRadiation.Out): + ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.Out; + break; + case nameof(EnumEmitterCircleRadiation.None): + ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.None; + break; + } + } + } + else + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Circle(_particleEffect.Emitters[_currentEmitter].Profile.Radius, _particleEffect.Emitters[_currentEmitter].Profile.Radiate); + break; + case nameof(EnumEmitterProfiles.LineProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileLength.Value != null && !_inputProfileLength.Value.Equals("") && !_inputProfileLength.Value.Equals("-") + && ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Length != float.Parse(_inputProfileLength.Value.Replace(".", ","))) + { + ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Length = float.Parse(_inputProfileLength.Value.Replace(".", ",")); + } + + switch (_dropdownProfileAxis.SelectedValue) + { + case nameof(EnumEmitterAxis.Up): + if (((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis != Axis.Up) + { + ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis = Axis.Up; + } + break; + case nameof(EnumEmitterAxis.Down): + if (((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis != Axis.Down) + { + ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis = Axis.Down; + } + break; + case nameof(EnumEmitterAxis.Left): + if (((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis != Axis.Left) + { + ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis = Axis.Left; + } + break; + case nameof(EnumEmitterAxis.Right): + if (((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis != Axis.Right) + { + ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Axis = Axis.Right; + } + break; + } + } + else + { + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Line(Axis.Down, 100); + } + break; + case nameof(EnumEmitterProfiles.PointProfile): + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Point(); + break; + case nameof(EnumEmitterProfiles.RingProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileRadius.Value != null && !_inputProfileRadius.Value.Equals("") && !_inputProfileRadius.Value.Equals("-") + && ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius != float.Parse(_inputProfileRadius.Value.Replace(".", ","))) + { + ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius = float.Parse(_inputProfileRadius.Value.Replace(".", ",")); + } + + if (((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate.ToString() != _dropdownProfileCircleRadiation.SelectedValue) + { + switch (_dropdownProfileCircleRadiation.SelectedValue) + { + case nameof(EnumEmitterCircleRadiation.In): + ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.In; + break; + case nameof(EnumEmitterCircleRadiation.Out): + ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.Out; + break; + case nameof(EnumEmitterCircleRadiation.None): + ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate = CircleProfile.CircleRadiation.None; + break; + } + } + } + else + { + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Ring(100, CircleRadiation.In); + } + break; + case nameof(EnumEmitterProfiles.SprayProfile): + if (name.Equals(_dropdownProfile.SelectedValue)) + { + if (_inputProfileSpread.Value != null && !_inputProfileSpread.Value.Equals("") && !_inputProfileSpread.Value.Equals("-") + && ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Spread != float.Parse(_inputProfileSpread.Value.Replace(".", ","))) + { + ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Spread = float.Parse(_inputProfileSpread.Value.Replace(".", ",")); + } + + switch (_dropdownProfileAxis.SelectedValue) + { + case nameof(EnumEmitterAxis.Up): + if (((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction != Axis.Up) + { + ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction = Axis.Up; + } + break; + case nameof(EnumEmitterAxis.Down): + if (((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction != Axis.Down) + { + ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction = Axis.Down; + } + break; + case nameof(EnumEmitterAxis.Left): + if (((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction != Axis.Left) + { + ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction = Axis.Left; + } + break; + case nameof(EnumEmitterAxis.Right): + if (((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction != Axis.Right) + { + ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Direction = Axis.Right; + } + break; + } + } + else + { + _particleEffect.Emitters[_currentEmitter].Profile = Profile.Spray(Axis.Down, 100); + } + break; + } + } + + private void UpdateReclaimFrequency() + { + if (_inputReclaimFrequency.Value != null && !_inputReclaimFrequency.Value.Equals("") && !_inputReclaimFrequency.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].ReclaimFrequency != float.Parse(_inputReclaimFrequency.Value.Replace(".", ","))) + _particleEffect.Emitters[_currentEmitter].ReclaimFrequency = float.Parse(_inputReclaimFrequency.Value.Replace(".", ",")); + } + + private void UpdateTimeMilleseconds() + { + if (_inputTimeMilleseconds.Value != null && !_inputTimeMilleseconds.Value.Equals("") && !_inputTimeMilleseconds.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Term.TotalMilliseconds != int.Parse(_inputTimeMilleseconds.Value)) + _particleEffect.Emitters[_currentEmitter].Term = TimeSpan.FromMilliseconds(double.Parse(_inputTimeMilleseconds.Value)); + } + + private void UpdateCapacity() + { + if (_inputCapacity.Value != null && !_inputCapacity.Value.Equals("") && !_inputCapacity.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Capacity != int.Parse(_inputCapacity.Value)) + _particleEffect.Emitters[_currentEmitter].Capacity = int.Parse(_inputCapacity.Value); + } + + private void UpdateColor() + { + _parametersParagraphColorH.Text = "HUE " + _parametersSliderColorH.Value; + _parametersParagraphColorS.Text = "Saturation " + _parametersSliderColorS.Value + "%"; + _parametersParagraphColorL.Text = "Lightness " + _parametersSliderColorL.Value + "%"; + + _particleEffect.Emitters[_currentEmitter].Parameters.Colour = new VenusParticleEngine.Core.Colour( + _parametersSliderColorH.Value, + (float)_parametersSliderColorS.Value / 100, + (float)_parametersSliderColorL.Value / 100); + } + + private void UpdateOpacity() + { + _parametersParagraphOpacity.Text = "Opacity " + _parametersSliderOpacity.Value + "%"; + _particleEffect.Emitters[_currentEmitter].Parameters.Opacity = (float)_parametersSliderOpacity.Value / 100; + } + + private void UpdateQuantity() + { + if (_inputQuantity.Value != null && !_inputQuantity.Value.Equals("") && !_inputQuantity.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Quantity != int.Parse(_inputQuantity.Value)) + { + _particleEffect.Emitters[_currentEmitter].Parameters.Quantity = int.Parse(_inputQuantity.Value); + } + + } + + private void UpdateSpeed() + { + float min = _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Min; + float max = _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Max; + + if (_inputSpeedMin.Value != null && !_inputSpeedMin.Value.Equals("") && !_inputSpeedMin.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Min != float.Parse(_inputSpeedMin.Value.Replace(".", ","))) + { + min = float.Parse(_inputSpeedMin.Value.Replace(".", ",")); + } + + if (_inputSpeedMax.Value != null && !_inputSpeedMax.Value.Equals("") && !_inputSpeedMax.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Max != float.Parse(_inputSpeedMax.Value.Replace(".", ","))) + { + max = float.Parse(_inputSpeedMax.Value.Replace(".", ",")); + } + + _particleEffect.Emitters[_currentEmitter].Parameters.Speed = new RangeF(min, max); + } + + private void UpdateScale() + { + if (_inputScale.Value != null && !_inputScale.Value.Equals("") && !_inputScale.Value.Equals("-")) + _particleEffect.Emitters[_currentEmitter].Parameters.Scale = float.Parse(_inputScale.Value.Replace(".", ",")); + } + + private void UpdateRotation() + { + float min = _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Min; + float max = _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Max; + + if (_inputRotationMin.Value != null && !_inputRotationMin.Value.Equals("") && !_inputRotationMin.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Min != float.Parse(_inputRotationMin.Value.Replace(".", ","))) + { + min = float.Parse(_inputRotationMin.Value.Replace(".", ",")); + } + + if (_inputRotationMax.Value != null && !_inputRotationMax.Value.Equals("") && !_inputRotationMax.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Max != float.Parse(_inputRotationMax.Value.Replace(".", ","))) + { + max = float.Parse(_inputRotationMax.Value.Replace(".", ",")); + } + + _particleEffect.Emitters[_currentEmitter].Parameters.Rotation = new RangeF(min, max); + } + + private void UpdateMass() + { + float min = _particleEffect.Emitters[_currentEmitter].Parameters.Mass.Min; + float max = _particleEffect.Emitters[_currentEmitter].Parameters.Mass.Max; + + if (_inputMassMin.Value != null && !_inputMassMin.Value.Equals("") && !_inputMassMin.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Min != float.Parse(_inputMassMin.Value.Replace(".", ","))) + { + min = float.Parse(_inputMassMin.Value.Replace(".", ",")); + } + + if (_inputMassMax.Value != null && !_inputMassMax.Value.Equals("") && !_inputMassMax.Value.Equals("-") + && _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Max != float.Parse(_inputMassMax.Value.Replace(".", ","))) + { + max = float.Parse(_inputMassMax.Value.Replace(".", ",")); + } + + _particleEffect.Emitters[_currentEmitter].Parameters.Mass = new RangeF(min, max); + } + + private void UpdateDropdownProfileAxisFromParticle() + { + if ((_particleEffect.Emitters[_currentEmitter].Profile).Axis == Axis.Up) + { + _dropdownProfileAxis.SelectedValue = "Up"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Axis == Axis.Down) + { + _dropdownProfileAxis.SelectedValue = "Down"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Axis == Axis.Left) + { + _dropdownProfileAxis.SelectedValue = "Left"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Axis == Axis.Right) + { + _dropdownProfileAxis.SelectedValue = "Right"; + } + } + private void UpdateDropdownProfileDirectionFromParticle() + { + if ((_particleEffect.Emitters[_currentEmitter].Profile).Direction == Axis.Up) + { + _dropdownProfileAxis.SelectedValue = "Up"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Direction == Axis.Down) + { + _dropdownProfileAxis.SelectedValue = "Down"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Direction == Axis.Left) + { + _dropdownProfileAxis.SelectedValue = "Left"; + } + else if ((_particleEffect.Emitters[_currentEmitter].Profile).Direction == Axis.Right) + { + _dropdownProfileAxis.SelectedValue = "Right"; + } + } + + private void RefreshEmitterProfile() + { + _inputProfileWidth.Enabled = false; + _inputProfileHeight.Enabled = false; + _inputProfileRadius.Enabled = false; + _dropdownProfileCircleRadiation.Enabled = false; + _dropdownProfileAxis.Enabled = false; + _inputProfileLength.Enabled = false; + _inputProfileSpread.Enabled = false; + + switch (_dropdownProfile.SelectedValue) + { + case nameof(EnumEmitterProfiles.BoxProfile): + _inputProfileWidth.Enabled = true; + _inputProfileHeight.Enabled = true; + + _inputProfileHeight.Value = ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height.ToString(); + _inputProfileWidth.Value = ((BoxProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width.ToString(); + break; + case nameof(EnumEmitterProfiles.BoxFillProfile): + _inputProfileWidth.Enabled = true; + _inputProfileHeight.Enabled = true; + + _inputProfileHeight.Value = ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height.ToString(); + _inputProfileWidth.Value = ((BoxFillProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width.ToString(); + break; + case nameof(EnumEmitterProfiles.BoxUniformProfile): + _inputProfileWidth.Enabled = true; + _inputProfileHeight.Enabled = true; + + _inputProfileHeight.Value = ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Height.ToString(); + _inputProfileWidth.Value = ((BoxUniformProfile)_particleEffect.Emitters[_currentEmitter].Profile).Width.ToString(); + break; + case nameof(EnumEmitterProfiles.CircleProfile): + _inputProfileRadius.Enabled = true; + _dropdownProfileCircleRadiation.Enabled = true; + _inputProfileRadius.Value = ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius.ToString(); + _dropdownProfileCircleRadiation.SelectedValue = ((CircleProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate.ToString(); + break; + case nameof(EnumEmitterProfiles.LineProfile): + _dropdownProfileAxis.Enabled = true; + _inputProfileLength.Enabled = true; + + _inputProfileLength.Value = ((LineProfile)_particleEffect.Emitters[_currentEmitter].Profile).Length.ToString(); + + UpdateDropdownProfileAxisFromParticle(); + break; + case nameof(EnumEmitterProfiles.PointProfile): + break; + case nameof(EnumEmitterProfiles.RingProfile): + _inputProfileRadius.Enabled = true; + _dropdownProfileCircleRadiation.Enabled = true; + + _inputProfileRadius.Value = ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radius.ToString(); + _dropdownProfileCircleRadiation.SelectedValue = ((RingProfile)_particleEffect.Emitters[_currentEmitter].Profile).Radiate.ToString(); + break; + case nameof(EnumEmitterProfiles.SprayProfile): + _dropdownProfileAxis.Enabled = true; + _inputProfileSpread.Enabled = true; + + _inputProfileSpread.Value = ((SprayProfile)_particleEffect.Emitters[_currentEmitter].Profile).Spread.ToString(); + + UpdateDropdownProfileDirectionFromParticle(); + break; + } + } + + private void RefreshEmitter() + { + if (_particleEffect.Emitters.Count < 1 || _currentEmitter == null) return; + if (!_particleEffect.Emitters.ContainsKey(_currentEmitter)) return; + + _parametersSliderColorH.Value = (int)_particleEffect.Emitters[_currentEmitter].Parameters.Colour.Min.H; + _parametersSliderColorS.Value = ((int)(_particleEffect.Emitters[_currentEmitter].Parameters.Colour.Min.S * 100)); + _parametersSliderColorL.Value = ((int)(_particleEffect.Emitters[_currentEmitter].Parameters.Colour.Min.L * 100)); + _parametersSliderOpacity.Value = ((int)(_particleEffect.Emitters[_currentEmitter].Parameters.Opacity.Min * 100)); + + _inputCapacity.Value = _particleEffect.Emitters[_currentEmitter].Capacity.ToString(); + _inputTimeMilleseconds.Value = _particleEffect.Emitters[_currentEmitter].Term.TotalMilliseconds.ToString(); + _dropdownProfile.SelectedValue = _particleEffect.Emitters[_currentEmitter].Profile.ToString(); + RefreshEmitterProfile(); + _dropdownBlendMode.SelectedValue = _particleEffect.Emitters[_currentEmitter].BlendMode.ToString(); + _inputReclaimFrequency.Value = _particleEffect.Emitters[_currentEmitter].ReclaimFrequency.ToString(); + _dropdownExecutionStrategy.SelectedValue = _particleEffect.Emitters[_currentEmitter].ModifierExecutionStrategy.ToString(); + _inputOffsetX.Value = _particleEffect.Emitters[_currentEmitter].Offset.X.ToString(); + _inputOffsetY.Value = _particleEffect.Emitters[_currentEmitter].Offset.Y.ToString(); + _inputQuantity.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Quantity.Min.ToString(); + _inputSpeedMin.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Min.ToString(); + _inputSpeedMax.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Speed.Max.ToString(); + _inputScale.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Scale.Min.ToString(); + _inputRotationMin.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Min.ToString(); + _inputRotationMax.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Rotation.Max.ToString(); + _inputMassMin.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Mass.Min.ToString(); + _inputMassMax.Value = _particleEffect.Emitters[_currentEmitter].Parameters.Mass.Max.ToString(); + + _modifierCircleContainer.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierColourInterpolator2.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierDrag.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierHueInterpolator2.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierLinearGravity.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierOpacityFastFade.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierOpacityInterpolator2.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierOpacityInterpolator3.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierRectContainer.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierRectLoopContainer.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierRectLoopContainer.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierRotation.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierScaleInterpolator2.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierVelocityColour.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierVelocityColourInfinite.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierVelocityHue.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + _modifierVortex.Refresh(_particleEffect.Emitters[_currentEmitter].Modifiers); + } + } +} \ No newline at end of file diff --git a/Venus Particle Editor/Modifiers/CircleContainer.cs b/Venus Particle Editor/Modifiers/CircleContainer.cs new file mode 100644 index 0000000..0fb641a --- /dev/null +++ b/Venus Particle Editor/Modifiers/CircleContainer.cs @@ -0,0 +1,132 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using VenusParticleEngine.Core.Modifiers.Container; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class CircleContainer + { + private CheckBox _checkboxActive; + private string _key = "CircleContainerModifier"; + private Panel _panelMaster; + private Panel _panelInside; + private Vector2 _masterSize = new Vector2(-1f, 450); + private Vector2 _masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph _paragraphRadius; + private TextInput _inputRadius; + + private CheckBox _checkboxInside; + + private Paragraph _paragraphRestitutionCoefficient; + private TextInput _inputRestitutionCoefficient; + + public Panel Panel + { + get { return _panelMaster; } + } + + public CircleContainer() + { + _panelMaster = new Panel(_masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 330), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + _panelMaster.AddChild(new RichParagraph("{{GOLD}} Circle Container")); + _panelMaster.AddChild(_checkboxActive); + _panelMaster.AddChild(_panelInside); + + _paragraphRadius = new Paragraph("Radius"); + _inputRadius = new TextInput(false, new Vector2(-1, -1f), anchor: Anchor.AutoInline); + _inputRadius.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputRadius.Value = "0.1"; + _inputRadius.ValueWhenEmpty = "0.1"; + _panelInside.AddChild(_paragraphRadius); + _panelInside.AddChild(_inputRadius); + + _checkboxInside = new CheckBox("Inside", isChecked: false); + _panelInside.AddChild(_checkboxInside); + + _paragraphRestitutionCoefficient = new Paragraph("Restitution Coefficient"); + _inputRestitutionCoefficient = new TextInput(false, new Vector2(-1, -1f), anchor: Anchor.AutoInline); + _inputRestitutionCoefficient.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputRestitutionCoefficient.Value = "0.1"; + _inputRestitutionCoefficient.ValueWhenEmpty = "0.1"; + _panelInside.AddChild(_paragraphRestitutionCoefficient); + _panelInside.AddChild(_inputRestitutionCoefficient); + + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(_key)) + { + _inputRadius.Value = ((VenusParticleEngine.Core.Modifiers.Container.CircleContainerModifier)_modifiers[_key]).Radius.ToString().Replace(",", "."); + + _checkboxInside.Checked = ((VenusParticleEngine.Core.Modifiers.Container.CircleContainerModifier)_modifiers[_key]).Inside; + + _inputRestitutionCoefficient.Value = ((VenusParticleEngine.Core.Modifiers.Container.CircleContainerModifier)_modifiers[_key]).RestitutionCoefficient.ToString().Replace(",", "."); + } + } + + private void OnClickCheckboxActive() + { + if (_checkboxActive.Checked) + { + _modifiers.Add(_key, new VenusParticleEngine.Core.Modifiers.Container.CircleContainerModifier()); + } + else + { + _modifiers.Remove(_key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(_key)) + { + _panelInside.Visible = true; + _panelMaster.Size = _masterSize; + _checkboxActive.Checked = true; + } + else + { + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + _checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(_key)) + { + UpdateModifier(_modifiers[_key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + CircleContainerModifier currentModifier = (CircleContainerModifier)modifier; + + if (_inputRadius.Value != null && !_inputRadius.Value.Equals("") && !_inputRadius.Value.Equals("-")) + currentModifier.Radius = float.Parse(_inputRadius.Value.Replace(".", ",")); + + currentModifier.Inside = _checkboxInside.Checked; + + if (_inputRestitutionCoefficient.Value != null && !_inputRestitutionCoefficient.Value.Equals("") && !_inputRestitutionCoefficient.Value.Equals("-")) + currentModifier.RestitutionCoefficient = float.Parse(_inputRestitutionCoefficient.Value.Replace(".", ",")); + + _modifiers[_key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/ColourInterpolator2.cs b/Venus Particle Editor/Modifiers/ColourInterpolator2.cs new file mode 100644 index 0000000..4cccb14 --- /dev/null +++ b/Venus Particle Editor/Modifiers/ColourInterpolator2.cs @@ -0,0 +1,154 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class ColourInterpolator2 + { + private CheckBox checkboxActive; + private string key = "ColourInterpolator2"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 750); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph colour1H; + private Slider sliderColour1H; + private Paragraph colour1S; + private Slider sliderColour1S; + private Paragraph colour1L; + private Slider sliderColour1L; + + private Paragraph colour2H; + private Slider sliderColour2H; + private Paragraph colour2S; + private Slider sliderColour2S; + private Paragraph colour2L; + private Slider sliderColour2L; + + public Panel Panel + { + get { return panelMaster; } + } + + public ColourInterpolator2() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 600), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Colour Interpolator 2")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelInside.AddChild(new Paragraph("Color 1", Anchor.AutoInline, new Vector2(0, -1))); + colour1H = new Paragraph("Hue"); + sliderColour1H = new Slider(0, 360, SliderSkin.Default); + panelInside.AddChild(colour1H); + panelInside.AddChild(sliderColour1H); + + colour1S = new Paragraph("Saturation"); + sliderColour1S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1S); + panelInside.AddChild(sliderColour1S); + + colour1L = new Paragraph("Lightness"); + sliderColour1L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1L); + panelInside.AddChild(sliderColour1L); + + panelInside.AddChild(new Paragraph("Color 2", Anchor.AutoInline, new Vector2(0, -1))); + colour2H = new Paragraph("Hue"); + sliderColour2H = new Slider(0, 360, SliderSkin.Default); + sliderColour2H.Value = 50; + panelInside.AddChild(colour2H); + panelInside.AddChild(sliderColour2H); + + colour2S = new Paragraph("Saturation"); + sliderColour2S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2S); + panelInside.AddChild(sliderColour2S); + + colour2L = new Paragraph("Lightness"); + sliderColour2L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2L); + panelInside.AddChild(sliderColour2L); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderColour1H.Value = (int)((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).InitialColour.H; + sliderColour1S.Value = ((int)(((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).InitialColour.S * 100)); + sliderColour1L.Value = ((int)(((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).InitialColour.L * 100)); + + sliderColour2H.Value = (int)((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).FinalColour.H; + sliderColour2S.Value = ((int)(((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).FinalColour.S * 100)); + sliderColour2L.Value = ((int)(((VenusParticleEngine.Core.Modifiers.ColourInterpolator2)_modifiers[key]).FinalColour.L * 100)); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.ColourInterpolator2()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VenusParticleEngine.Core.Modifiers.ColourInterpolator2 currentModifier = (VenusParticleEngine.Core.Modifiers.ColourInterpolator2)modifier; + + colour1H.Text = "HUE " + sliderColour1H.Value; + colour1S.Text = "Saturation " + sliderColour1S.Value + "%"; + colour1L.Text = "Lightness " + sliderColour1L.Value + "%"; + colour2H.Text = "HUE " + sliderColour2H.Value; + colour2S.Text = "Saturation " + sliderColour2S.Value + "%"; + colour2L.Text = "Lightness " + sliderColour2L.Value + "%"; + + currentModifier.InitialColour = new VenusParticleEngine.Core.Colour(sliderColour1H.Value, (float)sliderColour1S.Value / 100, (float)sliderColour1L.Value / 100); + currentModifier.FinalColour = new VenusParticleEngine.Core.Colour(sliderColour2H.Value, (float)sliderColour2S.Value / 100, (float)sliderColour2L.Value / 100); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/Drag.cs b/Venus Particle Editor/Modifiers/Drag.cs new file mode 100644 index 0000000..6950783 --- /dev/null +++ b/Venus Particle Editor/Modifiers/Drag.cs @@ -0,0 +1,116 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class Drag + { + private CheckBox checkboxActive; + private string key = "Drag"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput dragCoefficient; + private TextInput density; + + public Panel Panel + { + get { return panelMaster; } + } + + public Drag() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + panelMaster.AddChild(new RichParagraph("{{GOLD}} Drag")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Drag Coefficient", Anchor.AutoInline, new Vector2(0.5f, -1))); + dragCoefficient = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + dragCoefficient.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + dragCoefficient.Value = "1.5"; + dragCoefficient.ValueWhenEmpty = "0.1"; + panelInside.AddChild(dragCoefficient); + + panelInside.AddChild(new Paragraph("Density", Anchor.AutoInline, new Vector2(0.5f, -1))); + density = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + density.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + density.Value = "80.1"; + density.ValueWhenEmpty = "0.1"; + panelInside.AddChild(density); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + dragCoefficient.Value = ((DragModifier)_modifiers[key]).DragCoefficient.ToString(); + density.Value = ((DragModifier)_modifiers[key]).Density.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new DragModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + DragModifier currentModifier = (DragModifier)modifier; + + if (dragCoefficient.Value != null && !dragCoefficient.Value.Equals("") && !dragCoefficient.Value.Equals("-")) + currentModifier.DragCoefficient = float.Parse(dragCoefficient.Value.Replace(".",",")); + + if (density.Value != null && !density.Value.Equals("") && !density.Value.Equals("-")) + currentModifier.Density = float.Parse(density.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/HueInterpolator2.cs b/Venus Particle Editor/Modifiers/HueInterpolator2.cs new file mode 100644 index 0000000..0e5c24f --- /dev/null +++ b/Venus Particle Editor/Modifiers/HueInterpolator2.cs @@ -0,0 +1,118 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class HueInterpolator2 + { + private CheckBox checkboxActive; + private string key = "HueInterpolator2"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph colour1H; + private Slider sliderColour1H; + + private Paragraph colour2H; + private Slider sliderColour2H; + + public Panel Panel + { + get { return panelMaster; } + } + + public HueInterpolator2() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} HUE Interpolator 2")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelInside.AddChild(new Paragraph("Color 1", Anchor.AutoInline, new Vector2(0, -1))); + colour1H = new Paragraph("Hue"); + sliderColour1H = new Slider(0, 360, SliderSkin.Default); + panelInside.AddChild(colour1H); + panelInside.AddChild(sliderColour1H); + + panelInside.AddChild(new Paragraph("Color 2", Anchor.AutoInline, new Vector2(0, -1))); + colour2H = new Paragraph("Hue"); + sliderColour2H = new Slider(0, 360, SliderSkin.Default); + sliderColour2H.Value = 50; + panelInside.AddChild(colour2H); + panelInside.AddChild(sliderColour2H); + + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderColour1H.Value = (int)((VenusParticleEngine.Core.Modifiers.HueInterpolator2)_modifiers[key]).InitialHue; + sliderColour2H.Value = (int)((VenusParticleEngine.Core.Modifiers.HueInterpolator2)_modifiers[key]).FinalHue; + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.HueInterpolator2()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VenusParticleEngine.Core.Modifiers.HueInterpolator2 currentModifier = (VenusParticleEngine.Core.Modifiers.HueInterpolator2)modifier; + + colour1H.Text = "HUE " + sliderColour1H.Value; + colour2H.Text = "HUE " + sliderColour2H.Value; + + currentModifier.InitialHue = sliderColour1H.Value; + currentModifier.FinalHue = sliderColour2H.Value; + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/LinearGravity.cs b/Venus Particle Editor/Modifiers/LinearGravity.cs new file mode 100644 index 0000000..83528ad --- /dev/null +++ b/Venus Particle Editor/Modifiers/LinearGravity.cs @@ -0,0 +1,126 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class LinearGravity + { + private CheckBox checkboxActive; + private string key = "LinearGravity"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput directionX; + private TextInput directionY; + private TextInput strength; + + public Panel Panel + { + get { return panelMaster; } + } + + public LinearGravity() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Linear Gravity")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Direction", Anchor.AutoInline, new Vector2(.9f, -1))); + + panelInside.AddChild(new Paragraph("X", Anchor.AutoInline, new Vector2(0.2f, -1))); + directionX = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + directionX.Validators.Add(new TextValidatorNumbersOnly(true)); + directionX.Value = "0.1"; + directionX.ValueWhenEmpty = "0.1"; + panelInside.AddChild(directionX); + + panelInside.AddChild(new Paragraph("Y", Anchor.AutoInline, new Vector2(0.2f, -1))); + directionY = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + directionY.Validators.Add(new TextValidatorNumbersOnly(true)); + directionY.Value = "0.1"; + directionY.ValueWhenEmpty = "0.1"; + panelInside.AddChild(directionY); + + panelInside.AddChild(new Paragraph("Strength", Anchor.AutoInline, new Vector2(.9f, -1))); + strength = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + strength.Validators.Add(new TextValidatorNumbersOnly(true)); + strength.Value = "100"; + strength.ValueWhenEmpty = "0.1"; + panelInside.AddChild(strength); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.LinearGravityModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + LinearGravityModifier currentModifier = (LinearGravityModifier)modifier; + + if (directionX.Value != null && !directionX.Value.Equals("") && !directionX.Value.Equals("-") + && directionY.Value != null && !directionY.Value.Equals("") && !directionY.Value.Equals("-")) + currentModifier.Direction = new Axis(float.Parse(directionX.Value.Replace(".", ",")), float.Parse(directionY.Value.Replace(".", ","))); + + if (strength.Value != null && !strength.Value.Equals("") && !strength.Value.Equals("-")) + currentModifier.Strength = float.Parse(strength.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/OpacityFastFade.cs b/Venus Particle Editor/Modifiers/OpacityFastFade.cs new file mode 100644 index 0000000..512a5f3 --- /dev/null +++ b/Venus Particle Editor/Modifiers/OpacityFastFade.cs @@ -0,0 +1,90 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class OpacityFastFade + { + private CheckBox checkboxActive; + private string key = "OpacityFastFade"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 100); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + public Panel Panel + { + get { return panelMaster; } + } + + public OpacityFastFade() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 100), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Opacity Fast Fade")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.OpacityFastFadeModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + // panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + // panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + OpacityFastFadeModifier currentModifier = (OpacityFastFadeModifier)modifier; + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/OpacityInterpolator2.cs b/Venus Particle Editor/Modifiers/OpacityInterpolator2.cs new file mode 100644 index 0000000..18eba63 --- /dev/null +++ b/Venus Particle Editor/Modifiers/OpacityInterpolator2.cs @@ -0,0 +1,113 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class OpacityInterpolator2 + { + private CheckBox checkboxActive; + private string key = "OpacityInterpolator2"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph paragraphInitial; + private Slider sliderInitial; + private Paragraph paragraphFinal; + private Slider sliderFinal; + + public Panel Panel + { + get { return panelMaster; } + } + + public OpacityInterpolator2() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Opacity Interpolator 2")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + paragraphInitial = new Paragraph("Initial 0%"); + sliderInitial = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(paragraphInitial); + panelInside.AddChild(sliderInitial); + + paragraphFinal = new Paragraph("Final 0%"); + sliderFinal = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(paragraphFinal); + panelInside.AddChild(sliderFinal); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderInitial.Value = ((int)(((VenusParticleEngine.Core.Modifiers.OpacityInterpolator2)_modifiers[key]).InitialOpacity * 100)); + sliderFinal.Value = ((int)(((VenusParticleEngine.Core.Modifiers.OpacityInterpolator2)_modifiers[key]).FinalOpacity * 100)); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.OpacityInterpolator2()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VenusParticleEngine.Core.Modifiers.OpacityInterpolator2 currentModifier = (VenusParticleEngine.Core.Modifiers.OpacityInterpolator2)modifier; + + currentModifier.InitialOpacity = (float)sliderInitial.Value / 100; + currentModifier.FinalOpacity = (float)sliderFinal.Value / 100; + + paragraphInitial.Text = "Initial " +sliderInitial.Value.ToString() +"%"; + paragraphFinal.Text = "Final " + sliderFinal.Value.ToString() +"%"; + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/OpacityInterpolator3.cs b/Venus Particle Editor/Modifiers/OpacityInterpolator3.cs new file mode 100644 index 0000000..077648d --- /dev/null +++ b/Venus Particle Editor/Modifiers/OpacityInterpolator3.cs @@ -0,0 +1,123 @@ +using GeonBit.UI.Entities; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class OpacityInterpolator3 + { + private CheckBox checkboxActive; + private string key = "OpacityInterpolator3"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph paragraphInitial; + private Slider sliderInitial; + private Paragraph paragraphMedium; + private Slider sliderMedium; + private Paragraph paragraphFinal; + private Slider sliderFinal; + + public Panel Panel + { + get { return panelMaster; } + } + + public OpacityInterpolator3() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Opacity Interpolator 3")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + paragraphInitial = new Paragraph("Initial 0%"); + sliderInitial = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(paragraphInitial); + panelInside.AddChild(sliderInitial); + + paragraphMedium = new Paragraph("Medium 0%"); + sliderMedium = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(paragraphMedium); + panelInside.AddChild(sliderMedium); + + paragraphFinal = new Paragraph("Final 0%"); + sliderFinal = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(paragraphFinal); + panelInside.AddChild(sliderFinal); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderInitial.Value = ((int)(((VenusParticleEngine.Core.Modifiers.OpacityInterpolator3)_modifiers[key]).InitialOpacity * 100)); + sliderMedium.Value = ((int)(((VenusParticleEngine.Core.Modifiers.OpacityInterpolator3)_modifiers[key]).MediumOpacity * 100)); + sliderFinal.Value = ((int)(((VenusParticleEngine.Core.Modifiers.OpacityInterpolator3)_modifiers[key]).FinalOpacity * 100)); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.OpacityInterpolator3()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VenusParticleEngine.Core.Modifiers.OpacityInterpolator3 currentModifier = (VenusParticleEngine.Core.Modifiers.OpacityInterpolator3)modifier; + + currentModifier.InitialOpacity = (float)sliderInitial.Value / 100; + currentModifier.MediumOpacity = (float)sliderMedium.Value / 100; + currentModifier.FinalOpacity = (float)sliderFinal.Value / 100; + + paragraphInitial.Text = "Initial " +sliderInitial.Value.ToString() +"%"; + paragraphMedium.Text = "Medium " + sliderMedium.Value.ToString() +"%"; + paragraphFinal.Text = "Final " + sliderFinal.Value.ToString() +"%"; + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/RectContainer.cs b/Venus Particle Editor/Modifiers/RectContainer.cs new file mode 100644 index 0000000..ab77453 --- /dev/null +++ b/Venus Particle Editor/Modifiers/RectContainer.cs @@ -0,0 +1,137 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using VenusParticleEngine.Core.Modifiers.Container; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class RectContainer + { + private CheckBox _checkboxActive; + private string _key = "RectContainerModifier"; + private Panel _panelMaster; + private Panel _panelInside; + private Vector2 _masterSize = new Vector2(-1, 450); + private Vector2 _masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph _paragraphWidth; + private TextInput _inputWidth; + private Paragraph _paragraphHeight; + private TextInput _inputHeight; + + private Paragraph _paragraphRestitutionCoefficient; + private TextInput _inputRestitutionCoefficient; + + public Panel Panel + { + get { return _panelMaster; } + } + + public RectContainer() + { + _panelMaster = new Panel(_masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 330), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + _panelMaster.AddChild(new RichParagraph("{{GOLD}} Rect Container")); + _panelMaster.AddChild(_checkboxActive); + _panelMaster.AddChild(_panelInside); + + _paragraphWidth = new Paragraph("Width", size: new Vector2(0.5f, -1), anchor: Anchor.AutoInline); + _inputWidth = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputWidth.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: false)); + _inputWidth.Value = "1"; + _inputWidth.ValueWhenEmpty = "1"; + _panelInside.AddChild(_paragraphWidth); + _panelInside.AddChild(_inputWidth); + + _paragraphHeight = new Paragraph("Height", size: new Vector2(0.5f, -1), anchor: Anchor.AutoInline); + _inputHeight = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputHeight.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: false)); + _inputHeight.Value = "1"; + _inputHeight.ValueWhenEmpty = "1"; + _panelInside.AddChild(_paragraphHeight); + _panelInside.AddChild(_inputHeight); + + _paragraphRestitutionCoefficient = new Paragraph("Restitution Coefficient"); + _inputRestitutionCoefficient = new TextInput(false, new Vector2(-1, -1f), anchor: Anchor.AutoInline); + _inputRestitutionCoefficient.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: true)); + _inputRestitutionCoefficient.Value = "0.1"; + _inputRestitutionCoefficient.ValueWhenEmpty = "0.1"; + _panelInside.AddChild(_paragraphRestitutionCoefficient); + _panelInside.AddChild(_inputRestitutionCoefficient); + + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(_key)) + { + _inputWidth.Value = ((VenusParticleEngine.Core.Modifiers.Container.RectContainerModifier)_modifiers[_key]).Width.ToString().Replace(",", "."); + _inputHeight.Value = ((VenusParticleEngine.Core.Modifiers.Container.RectContainerModifier)_modifiers[_key]).Height.ToString().Replace(",", "."); + + _inputRestitutionCoefficient.Value = ((VenusParticleEngine.Core.Modifiers.Container.RectContainerModifier)_modifiers[_key]).RestitutionCoefficient.ToString().Replace(",", "."); + } + } + + private void OnClickCheckboxActive() + { + if (_checkboxActive.Checked) + { + _modifiers.Add(_key, new VenusParticleEngine.Core.Modifiers.Container.RectContainerModifier()); + } + else + { + _modifiers.Remove(_key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(_key)) + { + _panelInside.Visible = true; + _panelMaster.Size = _masterSize; + _checkboxActive.Checked = true; + } + else + { + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + _checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(_key)) + { + UpdateModifier(_modifiers[_key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + RectContainerModifier currentModifier = (RectContainerModifier)modifier; + + if (_inputWidth.Value != null && !_inputWidth.Value.Equals("") && !_inputWidth.Value.Equals("-")) + currentModifier.Width = int.Parse(_inputWidth.Value.Replace(".", ",")); + + if (_inputHeight.Value != null && !_inputHeight.Value.Equals("") && !_inputHeight.Value.Equals("-")) + currentModifier.Height = int.Parse(_inputHeight.Value.Replace(".", ",")); + + if (_inputRestitutionCoefficient.Value != null && !_inputRestitutionCoefficient.Value.Equals("") && !_inputRestitutionCoefficient.Value.Equals("-")) + currentModifier.RestitutionCoefficient = float.Parse(_inputRestitutionCoefficient.Value.Replace(".", ",")); + + _modifiers[_key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/RectLoopContainer.cs b/Venus Particle Editor/Modifiers/RectLoopContainer.cs new file mode 100644 index 0000000..0531fae --- /dev/null +++ b/Venus Particle Editor/Modifiers/RectLoopContainer.cs @@ -0,0 +1,121 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using VenusParticleEngine.Core.Modifiers.Container; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class RectLoopContainer + { + private CheckBox _checkboxActive; + private string _key = "RectLoopContainerModifier"; + private Panel _panelMaster; + private Panel _panelInside; + private Vector2 _masterSize = new Vector2(-1, 330); + private Vector2 _masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph _paragraphWidth; + private TextInput _inputWidth; + private Paragraph _paragraphHeight; + private TextInput _inputHeight; + + public Panel Panel + { + get { return _panelMaster; } + } + + public RectLoopContainer() + { + _panelMaster = new Panel(_masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 210), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + _checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + _panelMaster.AddChild(new RichParagraph("{{GOLD}} Rect Loop Container")); + _panelMaster.AddChild(_checkboxActive); + _panelMaster.AddChild(_panelInside); + + _paragraphWidth = new Paragraph("Width", size: new Vector2(0.5f, -1), anchor: Anchor.AutoInline); + _inputWidth = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputWidth.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: false)); + _inputWidth.Value = "1"; + _inputWidth.ValueWhenEmpty = "1"; + _panelInside.AddChild(_paragraphWidth); + _panelInside.AddChild(_inputWidth); + + _paragraphHeight = new Paragraph("Height", size: new Vector2(0.5f, -1), anchor: Anchor.AutoInline); + _inputHeight = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputHeight.Validators.Add(new TextValidatorNumbersOnly(allowDecimal: false)); + _inputHeight.Value = "1"; + _inputHeight.ValueWhenEmpty = "1"; + _panelInside.AddChild(_paragraphHeight); + _panelInside.AddChild(_inputHeight); + + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(_key)) + { + _inputWidth.Value = ((VenusParticleEngine.Core.Modifiers.Container.RectLoopContainerModifier)_modifiers[_key]).Width.ToString().Replace(",", "."); + _inputHeight.Value = ((VenusParticleEngine.Core.Modifiers.Container.RectLoopContainerModifier)_modifiers[_key]).Height.ToString().Replace(",", "."); + } + } + + private void OnClickCheckboxActive() + { + if (_checkboxActive.Checked) + { + _modifiers.Add(_key, new VenusParticleEngine.Core.Modifiers.Container.RectLoopContainerModifier()); + } + else + { + _modifiers.Remove(_key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(_key)) + { + _panelInside.Visible = true; + _panelMaster.Size = _masterSize; + _checkboxActive.Checked = true; + } + else + { + _panelInside.Visible = false; + _panelMaster.Size = _masterSizeMinimized; + _checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(_key)) + { + UpdateModifier(_modifiers[_key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + RectLoopContainerModifier currentModifier = (RectLoopContainerModifier)modifier; + + if (_inputWidth.Value != null && !_inputWidth.Value.Equals("") && !_inputWidth.Value.Equals("-")) + currentModifier.Width = int.Parse(_inputWidth.Value.Replace(".", ",")); + + if (_inputHeight.Value != null && !_inputHeight.Value.Equals("") && !_inputHeight.Value.Equals("-")) + currentModifier.Height = int.Parse(_inputHeight.Value.Replace(".", ",")); + + _modifiers[_key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/Rotation.cs b/Venus Particle Editor/Modifiers/Rotation.cs new file mode 100644 index 0000000..644546e --- /dev/null +++ b/Venus Particle Editor/Modifiers/Rotation.cs @@ -0,0 +1,104 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class Rotation + { + private CheckBox checkboxActive; + private string key = "Rotation"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput _inputRotationRate; + + + public Panel Panel + { + get { return panelMaster; } + } + + public Rotation() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Rotation")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + _inputRotationRate = new TextInput(false, new Vector2(0.5f, -1f), anchor: Anchor.AutoInline); + _inputRotationRate.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputRotationRate.Value = "0.1"; + _inputRotationRate.ValueWhenEmpty = "0.1"; + panelInside.AddChild(_inputRotationRate); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + _inputRotationRate.Value = ((RotationModifier)_modifiers[key]).RotationRate.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.RotationModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + RotationModifier currentModifier = (RotationModifier)modifier; + + if (_inputRotationRate.Value != null && !_inputRotationRate.Value.Equals("") && !_inputRotationRate.Value.Equals("-")) + currentModifier.RotationRate = float.Parse(_inputRotationRate.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/ScaleInterpolator2.cs b/Venus Particle Editor/Modifiers/ScaleInterpolator2.cs new file mode 100644 index 0000000..6a32b5b --- /dev/null +++ b/Venus Particle Editor/Modifiers/ScaleInterpolator2.cs @@ -0,0 +1,148 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class ScaleInterpolator2 + { + private CheckBox checkboxActive; + private string key = "ScaleInterpolator2"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 400); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput _inputInitialX; + private TextInput _inputInitialY; + private TextInput _inputFinalX; + private TextInput _inputFinalY; + + public Panel Panel + { + get { return panelMaster; } + } + + public ScaleInterpolator2() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 250), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + panelMaster.AddChild(new RichParagraph("{{GOLD}} Scale Interpolator 2")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelInside.AddChild(new Paragraph("Initial", Anchor.AutoInline, new Vector2(0, -1))); + panelInside.AddChild(new Paragraph("X", Anchor.AutoInline, new Vector2(0.2f, -1))); + _inputInitialX = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputInitialX.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputInitialX.Value = "1"; + _inputInitialX.ValueWhenEmpty = "1"; + panelInside.AddChild(_inputInitialX); + + panelInside.AddChild(new Paragraph("Y", Anchor.AutoInline, new Vector2(0.2f, -1))); + _inputInitialY = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputInitialY.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputInitialY.Value = "1"; + _inputInitialY.ValueWhenEmpty = "1"; + panelInside.AddChild(_inputInitialY); + + panelInside.AddChild(new Paragraph("Final", Anchor.AutoInline, new Vector2(0, -1))); + panelInside.AddChild(new Paragraph("X", Anchor.AutoInline, new Vector2(0.2f, -1))); + _inputFinalX = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputFinalX.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputFinalX.Value = "1.5"; + _inputFinalX.ValueWhenEmpty = "1"; + panelInside.AddChild(_inputFinalX); + + panelInside.AddChild(new Paragraph("Y", Anchor.AutoInline, new Vector2(0.2f, -1))); + _inputFinalY = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + _inputFinalY.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + _inputFinalY.Value = "1.5"; + _inputFinalY.ValueWhenEmpty = "1"; + panelInside.AddChild(_inputFinalY); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + _inputInitialX.Value = ((VenusParticleEngine.Core.Modifiers.ScaleInterpolator2)_modifiers[key]).InitialScale.X.ToString().Replace(",", "."); + _inputInitialY.Value = ((VenusParticleEngine.Core.Modifiers.ScaleInterpolator2)_modifiers[key]).InitialScale.Y.ToString().Replace(",", "."); + + _inputFinalX.Value = ((VenusParticleEngine.Core.Modifiers.ScaleInterpolator2)_modifiers[key]).FinalScale.X.ToString().Replace(",","."); + _inputFinalY.Value = ((VenusParticleEngine.Core.Modifiers.ScaleInterpolator2)_modifiers[key]).FinalScale.Y.ToString().Replace(",", "."); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.ScaleInterpolator2()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VenusParticleEngine.Core.Modifiers.ScaleInterpolator2 currentModifier = (VenusParticleEngine.Core.Modifiers.ScaleInterpolator2)modifier; + + Vector initial = new Vector(0, 0); + Vector final = new Vector(0, 0); + + if (_inputInitialX.Value != null && !_inputInitialX.Value.Equals("") && !_inputInitialX.Value.Equals("-")) + initial.X = float.Parse(_inputInitialX.Value.Replace(".", ",")); + + if (_inputInitialY.Value != null && !_inputInitialY.Value.Equals("") && !_inputInitialY.Value.Equals("-")) + initial.Y = float.Parse(_inputInitialY.Value.Replace(".", ",")); + + if (_inputFinalX.Value != null && !_inputFinalX.Value.Equals("") && !_inputFinalX.Value.Equals("-")) + final.X = float.Parse(_inputFinalX.Value.Replace(".", ",")); + + if (_inputFinalY.Value != null && !_inputFinalY.Value.Equals("") && !_inputFinalY.Value.Equals("-")) + final.Y = float.Parse(_inputFinalY.Value.Replace(".", ",")); + + currentModifier.InitialScale = initial; + currentModifier.FinalScale = final; + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/VelocityColour.cs b/Venus Particle Editor/Modifiers/VelocityColour.cs new file mode 100644 index 0000000..230d2e6 --- /dev/null +++ b/Venus Particle Editor/Modifiers/VelocityColour.cs @@ -0,0 +1,169 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class VelocityColour + { + private CheckBox checkboxActive; + private string key = "VelocityColour"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 790); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph colour1H; + private Slider sliderColour1H; + private Paragraph colour1S; + private Slider sliderColour1S; + private Paragraph colour1L; + private Slider sliderColour1L; + + private Paragraph colour2H; + private Slider sliderColour2H; + private Paragraph colour2S; + private Slider sliderColour2S; + private Paragraph colour2L; + private Slider sliderColour2L; + private TextInput _inputVelocityThreshold; + + public Panel Panel + { + get { return panelMaster; } + } + + public VelocityColour() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 680), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Velocity Colour")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Color Stationary", Anchor.AutoInline, new Vector2(0, -1))); + colour1H = new Paragraph("Hue"); + sliderColour1H = new Slider(0, 360, SliderSkin.Default); + panelInside.AddChild(colour1H); + panelInside.AddChild(sliderColour1H); + + colour1S = new Paragraph("Saturation"); + sliderColour1S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1S); + panelInside.AddChild(sliderColour1S); + + colour1L = new Paragraph("Lightness"); + sliderColour1L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1L); + panelInside.AddChild(sliderColour1L); + + panelInside.AddChild(new Paragraph("Color Velocity", Anchor.AutoInline, new Vector2(0, -1))); + colour2H = new Paragraph("Hue"); + sliderColour2H = new Slider(0, 360, SliderSkin.Default); + sliderColour2H.Value = 50; + panelInside.AddChild(colour2H); + panelInside.AddChild(sliderColour2H); + + colour2S = new Paragraph("Saturation"); + sliderColour2S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2S); + panelInside.AddChild(sliderColour2S); + + colour2L = new Paragraph("Lightness"); + sliderColour2L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2L); + panelInside.AddChild(sliderColour2L); + + panelInside.AddChild(new Paragraph("Velocity Threshold", Anchor.AutoInline, new Vector2(0f, -1))); + _inputVelocityThreshold = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + _inputVelocityThreshold.Validators.Add(new TextValidatorNumbersOnly(true)); + _inputVelocityThreshold.Value = "10"; + _inputVelocityThreshold.ValueWhenEmpty = "0.1"; + panelInside.AddChild(_inputVelocityThreshold); + + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderColour1H.Value = (int)((VelocityColourModifier)_modifiers[key]).StationaryColour.H; + sliderColour1S.Value = (int)(((VelocityColourModifier)_modifiers[key]).StationaryColour.S * 100); + sliderColour1L.Value = (int)(((VelocityColourModifier)_modifiers[key]).StationaryColour.L * 100); + + sliderColour2H.Value = (int)((VelocityColourModifier)_modifiers[key]).VelocityColour.H; + sliderColour2S.Value = (int)(((VelocityColourModifier)_modifiers[key]).VelocityColour.S * 100); + sliderColour2L.Value = (int)(((VelocityColourModifier)_modifiers[key]).VelocityColour.L * 100); + + _inputVelocityThreshold.Value = ((VelocityColourModifier)_modifiers[key]).VelocityThreshold.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.VelocityColourModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VelocityColourModifier currentModifier = (VelocityColourModifier)modifier; + + colour1H.Text = "HUE " + sliderColour1H.Value; + colour1S.Text = "Saturation " + sliderColour1S.Value + "%"; + colour1L.Text = "Lightness " + sliderColour1L.Value + "%"; + colour2H.Text = "HUE " + sliderColour2H.Value; + colour2S.Text = "Saturation " + sliderColour2S.Value + "%"; + colour2L.Text = "Lightness " + sliderColour2L.Value + "%"; + + currentModifier.StationaryColour = new VenusParticleEngine.Core.Colour(sliderColour1H.Value, (float)sliderColour1S.Value / 100, (float)sliderColour1L.Value / 100); + currentModifier.VelocityColour = new VenusParticleEngine.Core.Colour(sliderColour2H.Value, (float)sliderColour2S.Value / 100, (float)sliderColour2L.Value / 100); + + if (_inputVelocityThreshold.Value != null && !_inputVelocityThreshold.Value.Equals("") && !_inputVelocityThreshold.Value.Equals("-")) + currentModifier.VelocityThreshold = float.Parse(_inputVelocityThreshold.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/VelocityColourInfinite.cs b/Venus Particle Editor/Modifiers/VelocityColourInfinite.cs new file mode 100644 index 0000000..7779ac0 --- /dev/null +++ b/Venus Particle Editor/Modifiers/VelocityColourInfinite.cs @@ -0,0 +1,167 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class VelocityColourInfinite + { + private CheckBox checkboxActive; + private string key = "VelocityColourInfinite"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 790); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private Paragraph colour1H; + private Slider sliderColour1H; + private Paragraph colour1S; + private Slider sliderColour1S; + private Paragraph colour1L; + private Slider sliderColour1L; + + private Paragraph colour2H; + private Slider sliderColour2H; + private Paragraph colour2S; + private Slider sliderColour2S; + private Paragraph colour2L; + private Slider sliderColour2L; + private TextInput _inputVelocityChangeColor; + + public Panel Panel + { + get { return panelMaster; } + } + + public VelocityColourInfinite() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 680), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Velocity Color Infinite")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Color initial", Anchor.AutoInline, new Vector2(0, -1))); + colour1H = new Paragraph("Hue"); + sliderColour1H = new Slider(0, 360, SliderSkin.Default); + panelInside.AddChild(colour1H); + panelInside.AddChild(sliderColour1H); + + colour1S = new Paragraph("Saturation"); + sliderColour1S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1S); + panelInside.AddChild(sliderColour1S); + + colour1L = new Paragraph("Lightness"); + sliderColour1L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour1L); + panelInside.AddChild(sliderColour1L); + + panelInside.AddChild(new Paragraph("Color final", Anchor.AutoInline, new Vector2(0, -1))); + colour2H = new Paragraph("Hue"); + sliderColour2H = new Slider(0, 360, SliderSkin.Default); + sliderColour2H.Value = 50; + panelInside.AddChild(colour2H); + panelInside.AddChild(sliderColour2H); + + colour2S = new Paragraph("Saturation"); + sliderColour2S = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2S); + panelInside.AddChild(sliderColour2S); + + colour2L = new Paragraph("Lightness"); + sliderColour2L = new Slider(0, 100, SliderSkin.Default); + panelInside.AddChild(colour2L); + panelInside.AddChild(sliderColour2L); + + panelInside.AddChild(new Paragraph("Velocity Change Color", Anchor.AutoInline, new Vector2(0f, -1))); + _inputVelocityChangeColor = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + _inputVelocityChangeColor.Validators.Add(new TextValidatorNumbersOnly(true)); + _inputVelocityChangeColor.Value = "10"; + _inputVelocityChangeColor.ValueWhenEmpty = "0.1"; + panelInside.AddChild(_inputVelocityChangeColor); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + sliderColour1H.Value = (int)((VelocityColourInfiniteModifier)_modifiers[key]).Colour1.H; + sliderColour1S.Value = (int)(((VelocityColourInfiniteModifier)_modifiers[key]).Colour1.S * 100); + sliderColour1L.Value = (int)(((VelocityColourInfiniteModifier)_modifiers[key]).Colour1.L * 100); + + sliderColour2H.Value = (int)((VelocityColourInfiniteModifier)_modifiers[key]).Colour2.H; + sliderColour2S.Value = (int)(((VelocityColourInfiniteModifier)_modifiers[key]).Colour2.S * 100); + sliderColour2L.Value = (int)(((VelocityColourInfiniteModifier)_modifiers[key]).Colour2.L * 100); + + _inputVelocityChangeColor.Value = ((VelocityColourInfiniteModifier)_modifiers[key]).VelocityChangeColor.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.VelocityColourInfiniteModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VelocityColourInfiniteModifier currentModifier = (VelocityColourInfiniteModifier)modifier; + + colour1H.Text = "HUE " + sliderColour1H.Value; + colour1S.Text = "Saturation " + sliderColour1S.Value + "%"; + colour1L.Text = "Lightness " + sliderColour1L.Value + "%"; + colour2H.Text = "HUE " + sliderColour2H.Value; + colour2S.Text = "Saturation " + sliderColour2S.Value + "%"; + colour2L.Text = "Lightness " + sliderColour2L.Value + "%"; + + currentModifier.Colour1 = new VenusParticleEngine.Core.Colour(sliderColour1H.Value, (float)sliderColour1S.Value/100, (float)sliderColour1L.Value/100); + currentModifier.Colour2 = new VenusParticleEngine.Core.Colour(sliderColour2H.Value, (float)sliderColour2S.Value/100, (float)sliderColour2L.Value/100); + + if (_inputVelocityChangeColor.Value != null && !_inputVelocityChangeColor.Value.Equals("") && !_inputVelocityChangeColor.Value.Equals("-")) + currentModifier.VelocityChangeColor = float.Parse(_inputVelocityChangeColor.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/VelocityHue.cs b/Venus Particle Editor/Modifiers/VelocityHue.cs new file mode 100644 index 0000000..6ad7197 --- /dev/null +++ b/Venus Particle Editor/Modifiers/VelocityHue.cs @@ -0,0 +1,128 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class VelocityHue + { + private CheckBox checkboxActive; + private string key = "VelocityHue"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 500); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput stationaryHue; + private TextInput velocityHue; + private TextInput velocityThreshold; + + public Panel Panel + { + get { return panelMaster; } + } + + public VelocityHue() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 380), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} VelocityHue")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Stationary Hue", Anchor.AutoInline, new Vector2(.9f, -1))); + stationaryHue = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + stationaryHue.Validators.Add(new TextValidatorNumbersOnly(true)); + stationaryHue.Value = "1"; + stationaryHue.ValueWhenEmpty = "0.1"; + panelInside.AddChild(stationaryHue); + + panelInside.AddChild(new Paragraph("Velocity Hue", Anchor.AutoInline, new Vector2(.9f, -1))); + velocityHue = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + velocityHue.Validators.Add(new TextValidatorNumbersOnly(true, 0)); + velocityHue.Value = "1000"; + velocityHue.ValueWhenEmpty = "0.1"; + panelInside.AddChild(velocityHue); + + panelInside.AddChild(new Paragraph("Velocity Threshold", Anchor.AutoInline, new Vector2(.9f, -1))); + velocityThreshold = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + velocityThreshold.Validators.Add(new TextValidatorNumbersOnly(true)); + velocityThreshold.Value = "300"; + velocityThreshold.ValueWhenEmpty = "0.1"; + panelInside.AddChild(velocityThreshold); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + stationaryHue.Value = ((VelocityHueModifier)_modifiers[key]).StationaryHue.ToString(); + velocityHue.Value = ((VelocityHueModifier)_modifiers[key]).VelocityHue.ToString(); + velocityThreshold.Value = ((VelocityHueModifier)_modifiers[key]).VelocityThreshold.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.VelocityHueModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VelocityHueModifier currentModifier = (VelocityHueModifier)modifier; + + if (stationaryHue.Value != null && !stationaryHue.Value.Equals("") && !stationaryHue.Value.Equals("-")) + currentModifier.StationaryHue = float.Parse(stationaryHue.Value.Replace(".", ",")); + + if (velocityHue.Value != null && !velocityHue.Value.Equals("") && !velocityHue.Value.Equals("-")) + currentModifier.VelocityHue = float.Parse(velocityHue.Value.Replace(".", ",")); + + if (velocityThreshold.Value != null && !velocityThreshold.Value.Equals("") && !velocityThreshold.Value.Equals("-")) + currentModifier.VelocityThreshold = float.Parse(velocityThreshold.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Modifiers/Vortex.cs b/Venus Particle Editor/Modifiers/Vortex.cs new file mode 100644 index 0000000..a212245 --- /dev/null +++ b/Venus Particle Editor/Modifiers/Vortex.cs @@ -0,0 +1,140 @@ +using GeonBit.UI.Entities; +using GeonBit.UI.Entities.TextValidators; +using Microsoft.Xna.Framework; +using VenusParticleEngine.Core; +using VenusParticleEngine.Core.Modifiers; +using System.Collections.Generic; + +namespace VenusParticleEditor.Modifiers +{ + class Vortex + { + private CheckBox checkboxActive; + private string key = "Vortex"; + private Panel panelMaster; + private Panel panelInside; + private Vector2 masterSize = new Vector2(-1, 500); + private Vector2 masterSizeMinimized = new Vector2(-1, 100); + private Dictionary _modifiers; + + private TextInput positionX; + private TextInput positionY; + private TextInput mass; + private TextInput maxSpeed { get; set; } + + public Panel Panel + { + get { return panelMaster; } + } + + public Vortex() + { + panelMaster = new Panel(masterSize, PanelSkin.None, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + panelInside = new Panel(new Vector2(GlobalFields.PANEL_EDITOR_INSIDE_SIZE.X, 380), PanelSkin.Simple, anchor: Anchor.AutoInline, offset: new Vector2(0, 0)); + checkboxActive = new CheckBox("Active", isChecked: false) + { + OnClick = (Entity btn) => { OnClickCheckboxActive(); } + }; + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + + panelMaster.AddChild(new RichParagraph("{{GOLD}} Vortex")); + panelMaster.AddChild(checkboxActive); + panelMaster.AddChild(panelInside); + + panelInside.AddChild(new Paragraph("Position", Anchor.AutoInline, new Vector2(.9f, -1))); + + panelInside.AddChild(new Paragraph("X", Anchor.AutoInline, new Vector2(0.2f, -1))); + positionX = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + positionX.Validators.Add(new TextValidatorNumbersOnly(true)); + positionX.Value = "50"; + positionX.ValueWhenEmpty = "0.1"; + panelInside.AddChild(positionX); + + panelInside.AddChild(new Paragraph("Y", Anchor.AutoInline, new Vector2(0.2f, -1))); + positionY = new TextInput(false, new Vector2(0.3f, -1f), anchor: Anchor.AutoInline); + positionY.Validators.Add(new TextValidatorNumbersOnly(true)); + positionY.Value = "50"; + positionY.ValueWhenEmpty = "0.1"; + panelInside.AddChild(positionY); + + panelInside.AddChild(new Paragraph("Mass", Anchor.AutoInline, new Vector2(.9f, -1))); + mass = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + mass.Validators.Add(new TextValidatorNumbersOnly(true)); + mass.Value = "10"; + mass.ValueWhenEmpty = "0.1"; + panelInside.AddChild(mass); + + panelInside.AddChild(new Paragraph("Max Speed", Anchor.AutoInline, new Vector2(.9f, -1))); + maxSpeed = new TextInput(false, new Vector2(0.9f, -1f), anchor: Anchor.AutoInline); + maxSpeed.Validators.Add(new TextValidatorNumbersOnly(true)); + maxSpeed.Value = "10"; + maxSpeed.ValueWhenEmpty = "0.1"; + panelInside.AddChild(maxSpeed); + } + + public void Refresh(Dictionary modifiers) + { + _modifiers = modifiers; + if (_modifiers != null && _modifiers.ContainsKey(key)) + { + positionX.Value = ((VortexModifier)_modifiers[key]).Position.X.ToString(); + positionY.Value = ((VortexModifier)_modifiers[key]).Position.Y.ToString(); + mass.Value = ((VortexModifier)_modifiers[key]).Mass.ToString(); + maxSpeed.Value = ((VortexModifier)_modifiers[key]).MaxSpeed.ToString(); + } + } + + private void OnClickCheckboxActive() + { + if (checkboxActive.Checked) + { + _modifiers.Add(key, new VenusParticleEngine.Core.Modifiers.VortexModifier()); + } + else + { + _modifiers.Remove(key); + } + } + + public void Update() + { + if (_modifiers == null) { return; } + + if (_modifiers.ContainsKey(key)) + { + panelInside.Visible = true; + panelMaster.Size = masterSize; + checkboxActive.Checked = true; + } + else + { + panelInside.Visible = false; + panelMaster.Size = masterSizeMinimized; + checkboxActive.Checked = false; + } + + if (_modifiers.ContainsKey(key)) + { + UpdateModifier(_modifiers[key]); + } + } + + private void UpdateModifier(IModifier modifier) + { + VortexModifier currentModifier = (VortexModifier)modifier; + + if (positionX.Value != null && !positionX.Value.Equals("") && !positionX.Value.Equals("-") + && positionY.Value != null && !positionY.Value.Equals("") && !positionY.Value.Equals("-")) + currentModifier.Position = new Vector(float.Parse(positionX.Value.Replace(".", ",")), float.Parse(positionY.Value.Replace(".", ","))); + + if (mass.Value != null && !mass.Value.Equals("") && !mass.Value.Equals("-")) + currentModifier.Mass = float.Parse(mass.Value.Replace(".", ",")); + + if (maxSpeed.Value != null && !maxSpeed.Value.Equals("") && !maxSpeed.Value.Equals("-")) + currentModifier.MaxSpeed = float.Parse(maxSpeed.Value.Replace(".", ",")); + + _modifiers[key] = currentModifier; + } + } +} diff --git a/Venus Particle Editor/Venus Particle Editor.shproj b/Venus Particle Editor/Venus Particle Editor.shproj new file mode 100644 index 0000000..506415e --- /dev/null +++ b/Venus Particle Editor/Venus Particle Editor.shproj @@ -0,0 +1,12 @@ + + + + a0cdbd0e-3a41-42b7-9425-a838bc2c7383 + + + + + + + + diff --git a/Venus Particle Editor/Venus_Particle_Editor.projitems b/Venus Particle Editor/Venus_Particle_Editor.projitems new file mode 100644 index 0000000..95dbb5b --- /dev/null +++ b/Venus Particle Editor/Venus_Particle_Editor.projitems @@ -0,0 +1,40 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + 368db2e4-c0b7-4851-9879-ec082c5ceb76 + + + Venus_Particle_Editor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libs/DataTypes.dll b/libs/DataTypes.dll new file mode 100644 index 0000000..891f1ff Binary files /dev/null and b/libs/DataTypes.dll differ diff --git a/libs/GeonBit.UI.dll b/libs/GeonBit.UI.dll new file mode 100644 index 0000000..800a843 Binary files /dev/null and b/libs/GeonBit.UI.dll differ diff --git a/libs/MonoGame.Framework.dll b/libs/MonoGame.Framework.dll new file mode 100644 index 0000000..bc48da2 Binary files /dev/null and b/libs/MonoGame.Framework.dll differ diff --git a/libs/Newtonsoft.Json.dll b/libs/Newtonsoft.Json.dll new file mode 100644 index 0000000..8069902 Binary files /dev/null and b/libs/Newtonsoft.Json.dll differ diff --git a/libs/System.Windows.Forms.dll b/libs/System.Windows.Forms.dll new file mode 100644 index 0000000..e12aaab Binary files /dev/null and b/libs/System.Windows.Forms.dll differ diff --git a/libs/VenusParticleEngine.dll b/libs/VenusParticleEngine.dll new file mode 100644 index 0000000..e98614d Binary files /dev/null and b/libs/VenusParticleEngine.dll differ diff --git a/libs/freetype29win_x64.dll b/libs/freetype29win_x64.dll new file mode 100644 index 0000000..da8c390 Binary files /dev/null and b/libs/freetype29win_x64.dll differ diff --git a/venus.ico b/venus.ico new file mode 100644 index 0000000..3c376a9 Binary files /dev/null and b/venus.ico differ