Elaztek Developer Hub
Blamite Game Engine - Strings  00311.03.29.21.1456.blamite
A library containing general purpose utilities and classes for use in multiple projects.
projects.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #ifdef STRINGS_EXPORTS
7 #define STRINGS_API __declspec(dllexport)
8 #else
9 #define STRINGS_API __declspec(dllimport)
10 #endif
11 
19 {
20 private:
24  void ClearChildren();
25 
26 public:
27  bool is_folder = false;
28  bool path_exists = false;
29 
30  BlamTagTreeNode* parent = nullptr;
31  std::vector<BlamTagTreeNode*> children;
32 
33  std::string hierarchy_path = "";
34  std::string disk_path = "";
35  std::string display_name = "";
36 
43  BlamTagTreeNode(std::string file_path, BlamTagTreeNode* parent = nullptr);
44 
48  ~BlamTagTreeNode();
49 
53  void Refresh();
54 };
55 
62 {
63 public:
64  BlamTagTreeNode* hierarchy_root = nullptr;
66  bool project_load_result = false;
67 
73  BlamProject(std::string file_path);
74  ~BlamProject();
75 };
76 
81 {
89  STRINGS_API BlamProject* LoadProject(std::string file_path);
90 
98  STRINGS_API BlamTagTreeNode* BuildTagHierarchy(std::string root_folder);
99 }
BlamTagTreeNode::children
std::vector< BlamTagTreeNode * > children
Any child nodes within this node, will only apply for Folder nodes.
Definition: projects.h:31
Guerilla::Projects::LoadProject
STRINGS_API BlamProject * LoadProject(std::string file_path)
Loads a project file from disk and prepares it for use.
Definition: projects.cpp:6
BlamProject
Class representing a Blamite Project.
Definition: projects.h:61
project_info.h
BlamProject::project_info
BlamProjectInfo project_info
The project information file contents.
Definition: projects.h:65
tags.h
Guerilla::Projects
Namespace containing functions for working with project files.
Definition: projects.h:80
STRINGS_API
#define STRINGS_API
Definition: projects.h:9
BlamProjectInfo
Structure representing a Blam Project Information file.
Definition: project_info.h:33
BlamTagTreeNode
Class representing a tag tree node.
Definition: projects.h:18
Guerilla::Projects::BuildTagHierarchy
STRINGS_API BlamTagTreeNode * BuildTagHierarchy(std::string root_folder)
Builds the tag hierarchy for a given directory.
Definition: projects.cpp:11