public App() { // ReSharper disable once ObjectCreationAsStatement new GraphicsDeviceManager(this) { PreferredBackBufferWidth = Width, PreferredBackBufferHeight = Height, PreferMultiSampling = true }; IsMouseVisible = true; _appSettings = SettingsIo.Load() ?? new AppSettings { ScriptFolderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "SharpPlotter"), TextEditorExecutable = "code", }; _onScreenLogger = new OnScreenLogger(); _onScreenLogger.LogMessage(OnLoadText()); _camera = new Camera(Width, Height, _onScreenLogger); _graphedItems = new GraphedItems(); // Do a first render to get pixel data from the image for initial byte data allocation using var image = _camera.Render(null, null); _rawCanvasPixels = new byte[image.Height * image.PeekPixels().RowBytes]; _scriptManager = new ScriptManager(_appSettings, _onScreenLogger); }
public ScriptManager(AppSettings appSettings, OnScreenLogger onScreenLogger) { _appSettings = appSettings; _onScreenLogger = onScreenLogger; _fileSystemWatcher = new FileSystemWatcher(); _fileSystemWatcher.Changed += FileSystemWatcherOnChanged; }
void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(this.gameObject); } else { DestroyImmediate(this); } }
void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(this.gameObject); } else { DestroyImmediate(this); } StandaloneWindowsUtility.SetWindowPosition(0, 150); }
public PlotterUi(Game game, AppSettings appSettings, ScriptManager scriptManager, OnScreenLogger onScreenLogger) { _appSettings = appSettings; _scriptManager = scriptManager; _onScreenLogger = onScreenLogger; var renderer = new MonoGameImGuiRenderer(game); renderer.Initialize(); _imGuiManager = new ImGuiManager(renderer); _imGuiDemoWindow = new ImGuiDemoWindow(); _imGuiManager.AddElement(_imGuiDemoWindow); var messageOverlay = new MessageOverlay(onScreenLogger) { IsVisible = true }; messageOverlay.DismissMostRecentMessageClicked += (sender, args) => _onScreenLogger.RemoveMostRecentMessage(); _imGuiManager.AddElement(messageOverlay); AppToolbar = new AppToolbar(_scriptManager, _appSettings) { IsVisible = true }; _imGuiManager.AddElement(AppToolbar); _imGuiManager.AddElement(new ImGuiSettings { IsVisible = true }); AppToolbar.SettingsClicked += (sender, args) => CreateSettingsWindow(); AppToolbar.NewClicked += (sender, args) => CreateNewFileDialog(); AppToolbar.OpenClicked += (sender, args) => OpenScriptFile(args); }
public MessageOverlay(OnScreenLogger onScreenLogger) { _onScreenLogger = onScreenLogger; }