Example #1
0
        public EmitterSettingsController(ImGuiManager imGuiManager,
                                         SettingsCommandHandler commandHandler,
                                         ApplicationState applicationState,
                                         AppOperationQueue appOperationQueue,
                                         ITextureFileLoader textureFileLoader,
                                         MonoGameImGuiRenderer monoGameImGuiRenderer)
        {
            _commandHandler        = commandHandler;
            _applicationState      = applicationState;
            _appOperationQueue     = appOperationQueue;
            _textureFileLoader     = textureFileLoader;
            _monoGameImGuiRenderer = monoGameImGuiRenderer;

            _workbench = new Workbench(commandHandler)
            {
                IsVisible = false
            };
            imGuiManager.AddElement(_workbench);

            _activeEditorWindow = new ActiveEditorWindow()
            {
                IsVisible = false
            };
            imGuiManager.AddElement(_activeEditorWindow);

            _workbench.PropertyChanged          += WorkbenchOnPropertyChanged;
            _workbench.ModifierRemovalRequested += WorkbenchOnModifierRemovalRequested;
        }
Example #2
0
        public MonoGameEmitter(IEmitterLogic emitterLogic,
                               ParticlePool particlePool,
                               GraphicsDevice graphicsDevice,
                               ITextureFileLoader textureFileLoader,
                               Random random)
            : base(emitterLogic, particlePool, random)
        {
            if (textureFileLoader == null)
            {
                throw new ArgumentNullException(nameof(textureFileLoader));
            }

            _texture = string.IsNullOrWhiteSpace(emitterLogic.TextureFilePath)
                ? GetDefaultWhiteTexture(graphicsDevice)
                : textureFileLoader.LoadTexture2D(emitterLogic.TextureFilePath);

            FullTextureSize = new System.Numerics.Vector2(_texture.Width, _texture.Height);
        }
Example #3
0
        public EditorUiController(ImGuiManager imGuiManager,
                                  SettingsCommandHandler commandHandler,
                                  AppOperationQueue appOperationQueue,
                                  ApplicationState applicationState,
                                  ITextureFileLoader textureFileLoader,
                                  MonoGameImGuiRenderer monoGameImGuiRenderer)
        {
            _imGuiManager      = imGuiManager;
            _appOperationQueue = appOperationQueue;
            _applicationState  = applicationState;

            _imguiDemoWindow = new DemoWindow {
                IsVisible = false
            };
            _imGuiManager.AddElement(_imguiDemoWindow);

            var appToolbar = new AppToolbar(_appOperationQueue, _applicationState);

            _imGuiManager.AddElement(appToolbar);

            _newFileDialog = new NewFileDialog();
            _newFileDialog.CreateButtonClicked += NewFileDialogOnCreateButtonClicked;
            _newFileDialog.ModalClosed         += NewFileDialogOnModalClosed;
            _imGuiManager.AddElement(_newFileDialog);

            _messagePopup              = new MessagePopup();
            _messagePopup.ModalClosed += MessagePopupOnModalClosed;
            _imGuiManager.AddElement(_messagePopup);

            _emitterSettingsController = new EmitterSettingsController(imGuiManager,
                                                                       commandHandler,
                                                                       applicationState,
                                                                       appOperationQueue,
                                                                       textureFileLoader,
                                                                       monoGameImGuiRenderer);

            appToolbar.NewMenuItemClicked  += AppToolbarOnNewMenuItemClicked;
            appToolbar.OpenMenuItemClicked += AppToolbarOnOpenMenuItemClicked;
            appToolbar.SaveMenuItemClicked += AppToolbarOnSaveMenuItemClicked;
        }