/// <summary>Function to provide initialization for the plugin.</summary> /// <remarks>This method is only called when the plugin is loaded at startup.</remarks> protected override void OnInitialize() { ViewFactory.Register <ISpriteContent>(() => new SpriteEditorView()); // Get built-in codec list. _defaultCodec = new GorgonV3SpriteBinaryCodec(GraphicsContext.Renderer2D); SpriteEditorSettings settings = ContentPlugInService.ReadContentSettings <SpriteEditorSettings>(typeof(SpriteEditorPlugIn).FullName, new JsonSharpDxRectConverter()); if (settings != null) { _settings = settings; } _ddsCodec = new GorgonCodecDds(); using (var noImageStream = new MemoryStream(Resources.NoImage_256x256)) { _noImage = _ddsCodec.LoadFromStream(noImageStream); } _bgPattern = GorgonTexture2DView.CreateTexture(GraphicsContext.Graphics, new GorgonTexture2DInfo($"Sprite_Editor_Bg_Preview_{Guid.NewGuid():N}") { Width = EditorCommonResources.CheckerBoardPatternImage.Width, Height = EditorCommonResources.CheckerBoardPatternImage.Height }, EditorCommonResources.CheckerBoardPatternImage); _rtv = GorgonRenderTarget2DView.CreateRenderTarget(GraphicsContext.Graphics, new GorgonTexture2DInfo($"SpriteEditor_Rtv_Preview_{Guid.NewGuid():N}") { Width = 256, Height = 256, Format = BufferFormat.R8G8B8A8_UNorm, Binding = TextureBinding.ShaderResource }); }
/// <summary>Initializes a new instance of the <see cref="T:Gorgon.Editor.SpriteEditor.SettingsParameters"/> class.</summary> /// <param name="settings">The plug in settings.</param> /// <param name="commonServices">Common application services.</param> /// <exception cref="ArgumentNullException">Thrown when the <paramref name="settings" /> parameter is <strong>null</strong>.</exception> public SettingsParameters(SpriteEditorSettings settings, IViewModelInjection commonServices) : base(commonServices) => Settings = settings ?? throw new ArgumentNullException(nameof(settings));