3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/editor/OwnerPtrIterator.h"
7#include "mc/common/editor/PrefabSource.h"
8#include "mc/common/editor/PrefabTemplateErrorState.h"
9#include "mc/deps/game_refs/EnableGetWeakRef.h"
10#include "mc/deps/game_refs/OwnerPtr.h"
11#include "mc/deps/game_refs/StackRefResult.h"
12#include "mc/deps/game_refs/WeakRef.h"
13#include "mc/util/Mirror.h"
14#include "mc/util/Rotation.h"
21namespace Editor::Prefabs::PrefabDBTemplateLoader::v1 {
struct TemplateData; }
22namespace mce {
class UUID; }
25namespace Editor::Prefabs {
27class PrefabDBTemplate :
public ::std::enable_shared_from_this<::Editor::Prefabs::PrefabDBTemplate>,
47 PrefabDBTemplate& operator=(PrefabDBTemplate
const&);
48 PrefabDBTemplate(PrefabDBTemplate
const&);
55 ::Editor::Prefabs::PrefabSource source,
60 ::std::string
const& name,
61 ::std::string
const& displayName,
62 ::std::string
const& description,
63 ::std::string
const& notes,
64 ::std::vector<::std::string>
const& tags,
65 ::Editor::Prefabs::PrefabSource source
68 MCNAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef>
addStructureRef(
70 ::Vec3 const& instanceOffset,
71 ::Rotation instanceRotation,
72 ::Mirror instanceMirror,
73 ::Vec3 const& structureSize,
74 ::Vec3 const& structureOffset,
75 ::Vec3 const& structureNormalizedOrigin
92 MCNAPI ::mce::UUID
const&
getId()
const;
94 MCNAPI ::std::string
const&
getName()
const;
98 MCNAPI ::Editor::Prefabs::PrefabSource
getSource()
const;
100 MCNAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef const>
103 MCNAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef>
106 MCNAPI ::std::vector<::std::string>
const&
getTags()
const;
108 MCNAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplate>
getWeakRef();
116 MCNAPI ::Editor::Prefabs::PrefabDBTemplateLoader::v1::TemplateData
saveToFileData()
const;
122 MCNAPI
void setName(::std::string
const& name);
126 MCNAPI
void setTags(::std::vector<::std::string>
const& tags);
128 MCNAPI ::Editor::Prefabs::OwnerPtrIterator<
133 MCNAPI ::Editor::Prefabs::OwnerPtrIterator<
147 ::Editor::Prefabs::PrefabSource source,
152 ::std::string
const& name,
153 ::std::string
const& displayName,
154 ::std::string
const& description,
155 ::std::string
const& notes,
156 ::std::vector<::std::string>
const& tags,
157 ::Editor::Prefabs::PrefabSource source
Definition PrefabDBTemplateStructureRef.h:21
Definition PrefabDBTemplate.h:28
MCAPI::std::string const & getName() const
MCAPI ::std::vector<::std::string > const & getTags() const
MCAPI void setDescription(::std::string const &description)
MCAPI PrefabDBTemplate(::Editor::Prefabs::PrefabSource source, ::Editor::Prefabs::PrefabDBTemplateLoader::v1::TemplateData const &fileData)
MCAPI void setName(::std::string const &name)
MCAPI int getDependentInstanceCount() const
MCAPI::mce::UUID const & getId() const
MCAPI bool removeStructureRef(::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef > structureRef)
MCAPI::Editor::Prefabs::PrefabSource getSource() const
MCAPI void * $ctor(::Editor::Prefabs::PrefabSource source, ::Editor::Prefabs::PrefabDBTemplateLoader::v1::TemplateData const &fileData)
MCAPI::Editor::Prefabs::PrefabDBTemplateLoader::v1::TemplateData saveToFileData() const
MCAPI void setDisplayName(::std::string const &displayName)
MCAPI ::Editor::Prefabs::OwnerPtrIterator< ::Editor::Prefabs::PrefabDBTemplateStructureRef const, ::OwnerPtr<::Editor::Prefabs::PrefabDBTemplateStructureRef > > structureRefcEnd() const
MCAPI ~PrefabDBTemplate()
MCAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplate > getWeakRef()
MCAPI::std::string const & getDescription() const
MCAPI::std::string const & getDisplayName() const
MCAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef const > getStructureRef(::mce::UUID const &prefabStructureId) const
MCAPI void * $ctor(::std::string const &name, ::std::string const &displayName, ::std::string const &description, ::std::string const ¬es, ::std::vector<::std::string > const &tags, ::Editor::Prefabs::PrefabSource source)
MCAPI void forEachStructureRef(::std::function< void(::StackRefResult<::Editor::Prefabs::PrefabDBTemplateStructureRef >)> callback)
MCAPI::std::string const & getNotes() const
MCAPI bool isDirty() const
MCAPI bool clone(::Editor::Prefabs::PrefabDBTemplate const &other)
MCAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef > getStructureRef(::mce::UUID const &prefabStructureId)
MCAPI void setNotes(::std::string const ¬es)
MCAPI ::Editor::Prefabs::OwnerPtrIterator< ::Editor::Prefabs::PrefabDBTemplateStructureRef const, ::OwnerPtr<::Editor::Prefabs::PrefabDBTemplateStructureRef > > structureRefcBegin() const
MCAPI bool isReadOnly() const
MCAPI::Editor::Prefabs::PrefabTemplateErrorState validate(::Editor::ServiceProviderCollection &)
MCAPI ::WeakRef<::Editor::Prefabs::PrefabDBTemplateStructureRef > addStructureRef(::mce::UUID const &structureTemplateId, ::Vec3 const &instanceOffset, ::Rotation instanceRotation, ::Mirror instanceMirror, ::Vec3 const &structureSize, ::Vec3 const &structureOffset, ::Vec3 const &structureNormalizedOrigin)
MCAPI void setTags(::std::vector<::std::string > const &tags)
MCAPI PrefabDBTemplate(::std::string const &name, ::std::string const &displayName, ::std::string const &description, ::std::string const ¬es, ::std::vector<::std::string > const &tags, ::Editor::Prefabs::PrefabSource source)
Definition ServiceProviderCollection.h:7
Definition EnableGetWeakRef.h:6
Definition StackRefResult.h:7
Definition TemplateData.h:13