Explorar o código

welcome message wip

flabbet hai 1 ano
pai
achega
3bffb99dea

+ 1 - 0
src/PixiEditor.AvaloniaUI/Initialization/ClassicDesktopEntry.cs

@@ -95,6 +95,7 @@ internal class ClassicDesktopEntry
         //TODO: fetch from extension store
         extensionLoader.AddOfficialExtension("pixieditor.supporterpack",
             new OfficialExtensionData("supporter-pack.snk", AdditionalContentProduct.SupporterPack));
+        extensionLoader.AddOfficialExtension("pixieditor.closedbeta1", new OfficialExtensionData());
         extensionLoader.LoadExtensions();
 
         return extensionLoader;

+ 11 - 0
src/PixiEditor.ClosedBeta/ClosedBetaExtension.cs

@@ -0,0 +1,11 @@
+using PixiEditor.Extensions.Sdk;
+
+namespace PixiEditor.ClosedBeta;
+
+public class ClosedBetaExtension : PixiEditorExtension
+{
+    public override void OnInitialized()
+    {
+        Api.WindowProvider.CreatePopupWindow("Welcome to the closed beta!", new WelcomeMessage()).ShowDialog();
+    }
+}

+ 30 - 0
src/PixiEditor.ClosedBeta/PixiEditor.ClosedBeta.csproj

@@ -0,0 +1,30 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net8.0</TargetFramework>
+    <RuntimeIdentifier>wasi-wasm</RuntimeIdentifier>
+    <OutputType>Exe</OutputType>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <PublishTrimmed>true</PublishTrimmed>
+    <WasmSingleFileBundle>true</WasmSingleFileBundle>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <PixiExtOutputPath>..\PixiEditor.AvaloniaUI.Desktop\bin\Debug\net8.0\win-x64\Extensions</PixiExtOutputPath>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\PixiEditor.Extensions.Sdk\PixiEditor.Extensions.Sdk.csproj"/>
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Update="extension.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+
+  <!--Below is not required if you use Nuget package, this sample references project directly, so it must be here-->
+  <Import Project="..\PixiEditor.Extensions.Sdk\build\PixiEditor.Extensions.Sdk.props"/>
+  <Import Project="..\PixiEditor.Extensions.Sdk\build\PixiEditor.Extensions.Sdk.targets"/>
+
+</Project>

+ 9 - 0
src/PixiEditor.ClosedBeta/Program.cs

@@ -0,0 +1,9 @@
+namespace PixiEditor.ClosedBeta;
+
+public static class Program
+{
+    public static void Main(string[] args)
+    {
+
+    }
+}

+ 11 - 0
src/PixiEditor.ClosedBeta/WelcomeMessage.cs

@@ -0,0 +1,11 @@
+using PixiEditor.Extensions.Sdk.Api.FlyUI;
+
+namespace PixiEditor.ClosedBeta;
+
+public class WelcomeMessage : StatefulElement<WelcomeMessageState>
+{
+    public override WelcomeMessageState CreateState()
+    {
+        return new WelcomeMessageState();
+    }
+}

+ 41 - 0
src/PixiEditor.ClosedBeta/WelcomeMessageState.cs

@@ -0,0 +1,41 @@
+using PixiEditor.Extensions.CommonApi.FlyUI.Properties;
+using PixiEditor.Extensions.Sdk.Api.FlyUI;
+
+namespace PixiEditor.ClosedBeta;
+
+public class WelcomeMessageState : State
+{
+    private const string Body = @"
+We are extremely exicted to share this version to you, early testers. Before you jump in and test all the new things,
+we have a few things to note:
+
+- This is a very first publicly available version of PixiEditor 2.0. Not every feature promised in the roadmap is
+  implemented yet. 
+- App is not production ready! Expect bugs, crashes, unfinished features, placeholders and other signs of development.
+- Your feedback is the most important thing of this beta, please take a moment to report any issues and suggestions on the Discord channel.
+- Promised features available in this beta are: Animations, Procedural Art (Nodes)
+
+Click on below checkboxes that you understand what you are getting into and you are ready to test the app.
+";
+
+    public override LayoutElement BuildElement()
+    {
+        return new Layout(body:
+            new Align(
+                Alignment.TopCenter,
+                new Column(
+                    new Center(new Text("Welcome to the closed beta of PixiEditor 2.0!", TextWrap.Wrap,
+                        FontStyle.Normal,
+                        fontSize: 24)),
+                    new Text(Body, TextWrap.Wrap, fontSize: 18),
+                    new Container(
+                        width: 100,
+                        child:
+                        new Button(new Text("Continue")
+                        )
+                    )
+                )
+            )
+        );
+    }
+}

+ 20 - 0
src/PixiEditor.ClosedBeta/extension.json

@@ -0,0 +1,20 @@
+{
+  "displayName": "PixiEditor Closed Beta 1",
+  "uniqueName": "PixiEditor.ClosedBeta1",
+  "description": "First Closed Beta of PixiEditor 2.0",
+  "version": "1.0.0",
+  "author": {
+    "name": "PixiEditor",
+    "email": "[email protected]",
+    "website": "https://pixieditor.net"
+  },
+  "publisher": {
+    "name": "PixiEditor",
+    "email": "[email protected]",
+    "website": "https://pixieditor.net"
+  },
+  "license": "Copyright PixiEditor Organization",
+  "categories": [
+    "Beta"
+  ]
+}

+ 33 - 0
src/PixiEditor.sln

@@ -108,6 +108,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiParser.Skia", "..\..\Pi
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Common", "PixiEditor.Common\PixiEditor.Common.csproj", "{E92E7B0E-C24B-4087-9DD9-AD10DA3BE80A}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BuiltInExtensions", "BuiltInExtensions", "{99903753-40A6-434E-8B8F-CE55417CF7FC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.ClosedBeta", "PixiEditor.ClosedBeta\PixiEditor.ClosedBeta.csproj", "{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|x64 = Debug|x64
@@ -1590,6 +1594,34 @@ Global
 		{E92E7B0E-C24B-4087-9DD9-AD10DA3BE80A}.Steam|x64.Build.0 = Debug|Any CPU
 		{E92E7B0E-C24B-4087-9DD9-AD10DA3BE80A}.Steam|ARM64.ActiveCfg = Debug|Any CPU
 		{E92E7B0E-C24B-4087-9DD9-AD10DA3BE80A}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Debug|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Release|x64.ActiveCfg = Release|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Release|x64.Build.0 = Release|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Release|ARM64.Build.0 = Release|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Steam|x64.Build.0 = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78}.Steam|ARM64.Build.0 = Debug|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -1637,6 +1669,7 @@ Global
 		{9B552A44-9587-4410-8673-254B31E2E4F7} = {2BA72059-FFD7-4887-AE88-269017198933}
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C} = {2BA72059-FFD7-4887-AE88-269017198933}
 		{E92E7B0E-C24B-4087-9DD9-AD10DA3BE80A} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
+		{059904E2-9ACC-41E6-B78D-F0BC03CA9D78} = {99903753-40A6-434E-8B8F-CE55417CF7FC}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {D04B4AB0-CA33-42FD-A909-79966F9255C5}