2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 17:04:55 +00:00

Merge branch 'master' into urde-tags

This commit is contained in:
Jack Andersen
2016-03-04 14:03:41 -10:00
337 changed files with 2998 additions and 3016 deletions

View File

@@ -1,10 +1,10 @@
#ifndef URDE_RESOURCE_HPP
#define URDE_RESOURCE_HPP
#include <HECL/Database.hpp>
#include <hecl/Database.hpp>
#include "Space.hpp"
namespace URDE
namespace urde
{
/** Combines a ProjectPath with actively used Space references
@@ -19,17 +19,17 @@ namespace URDE
class Resource
{
public:
using ProjectDataSpec = HECL::Database::Project::ProjectDataSpec;
using ProjectDataSpec = hecl::Database::Project::ProjectDataSpec;
private:
HECL::ProjectPath m_path;
hecl::ProjectPath m_path;
Space::Class m_defaultClass = Space::Class::None;
EditorSpace* m_editingSpace = nullptr;
std::vector<ViewerSpace*> m_viewingSpaces;
public:
static Space::Class DeduceDefaultSpaceClass(const HECL::ProjectPath& path);
explicit Resource(HECL::ProjectPath&& path)
static Space::Class DeduceDefaultSpaceClass(const hecl::ProjectPath& path);
explicit Resource(hecl::ProjectPath&& path)
: m_path(std::move(path)), m_defaultClass(DeduceDefaultSpaceClass(m_path)) {}
const HECL::ProjectPath& path() const {return m_path;}
const hecl::ProjectPath& path() const {return m_path;}
};
/** Provides centralized hierarchical lookup and ownership of Resource nodes */
@@ -38,8 +38,8 @@ class ResourceTree
public:
struct Node
{
std::map<HECL::ProjectPath, std::unique_ptr<Node>> m_subnodes;
std::map<HECL::ProjectPath, std::unique_ptr<Resource>> m_resources;
std::map<hecl::ProjectPath, std::unique_ptr<Node>> m_subnodes;
std::map<hecl::ProjectPath, std::unique_ptr<Resource>> m_resources;
};
private:
std::unique_ptr<Node> m_rootNode;