Cogs.Core
RRSaveAllLodCommand.h
1#pragma once
2
3#include "Services/TaskManager.h"
4#include "Commands/EditorCommand.h"
5#include "Batch.h"
6
7#include "RRTasks.h"
8#include <array>
9
10namespace Cogs::Core {
11
13 {
14 public:
16
17 virtual void apply() override;
18 virtual void redo() override {}
19 virtual void undo() override {}
20
21 virtual void beginModal() override;
22 virtual void showGui() override;
23 virtual bool continueModal() override;
24
25 void runTask();
26 private:
27 bool issueTask();
28
29 private:
30 UnpackOptions opts;
31
32 std::atomic<bool> modal = false;
33
35 std::atomic<bool> running = false;
36
37 std::vector<char> path;
38 //TaskId task = NoTask;
39 };
40}
virtual void beginModal() override
Called when the command is initiated.
virtual bool continueModal() override
Shall return true while the GUI should still be shown. False when.
virtual void apply() override
Run the command.
std::atomic< bool > running
Set in main thread when task is started. Reset by thread when completed.
virtual void showGui() override
Display custom ImGUI.
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
Abstract base class for all editor commands showing GUI in interactive mode.
Definition: EditorCommand.h:40