blob: f077f7283509e41726d69fe8bf4aa8f4d84a5634 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#pragma once
#include <libultraship/libultraship.h>
#include "engine/courses/Course.h"
namespace Editor {
class ContentBrowserWindow : public Ship::GuiWindow {
public:
using Ship::GuiWindow::GuiWindow;
~ContentBrowserWindow();
struct Tracks {
Course* course;
std::string SceneFile;
std::string Name;
std::string Dir; // Directory
std::shared_ptr<Ship::Archive> Archive;
};
std::vector<Tracks> Tracks;
std::vector<std::string> Content;
bool Refresh = true;
bool ActorContent = false;
bool ObjectContent = false;
bool CustomContent = false;
bool TrackContent = false;
protected:
void InitElement() override {};
void DrawElement() override;
void UpdateElement() override {};
void AddTrackContent();
void RemoveCustomTracksFromTrackList(); // Prevents duplicate courses being added to World->Courses array
void AddActorContent();
void AddObjectContent();
void AddCustomContent();
void FindTracks();
void FindContent();
void FolderButton(const char* label, bool& contentFlag, const ImVec2& size = ImVec2(80, 32));
};
}
|