载入中...
搜索中...
未找到
eve::level_editing::LevelFormatRegistry类 参考

Registry and conversion gateway for level formats. 更多...

#include <LevelFormat.h>

Public 成员函数

 LevelFormatRegistry ()
 Level format registry.
 
 LevelFormatRegistry (const LevelFormatRegistry &)=delete
 
LevelFormatRegistry & operator= (const LevelFormatRegistry &)=delete
 
 LevelFormatRegistry (LevelFormatRegistry &&)=default
 Level format registry.
 
LevelFormatRegistry & operator= (LevelFormatRegistry &&)=default
 Operator =.
 
eve::Result< void > registerFormat (std::unique_ptr< LevelFormat > format)
 Registers format.
 
int getFormatCount () const
 Returns the format count.
 
std::string getFormatId (int index) const
 Returns the format id.
 
std::string detect (const std::string &path, const std::string &text) const
 Detect.
 
eve::Result< std::unique_ptr< LevelDocument > > decode (const std::string &format, const std::string &text) const
 Decode.
 
eve::Result< std::string > encode (const std::string &format, const LevelDocument &level) const
 Encode.
 
eve::Result< std::unique_ptr< LevelDocument > > load (const std::string &path, const std::string &format={}) const
 Loads .
 
eve::Result< void > save (const std::string &path, const LevelDocument &level, const std::string &format={}) const
 Encode then atomically replace a file; failures preserve an existing destination.
 

详细描述

Registry and conversion gateway for level formats.

Own formats may be registered from C++ with registerFormat(). Built-ins are eve.level (version 1) and tiled.json (finite array-backed Tiled JSON maps). Unmodeled fields are owned by the document and preserved on export. Group, image, infinite and encoded layers are rejected instead of flattened/lost. All operations are synchronous on the document owner thread, without callbacks.

在文件 LevelFormat.h 第 42 行定义.

构造及析构函数说明

◆ LevelFormatRegistry() [1/3]

eve::level_editing::LevelFormatRegistry::LevelFormatRegistry ( )

Level format registry.

在文件 LevelFormat.cpp 第 372 行定义.

引用了 eve::Result< void >::expect() , 以及 registerFormat().

◆ LevelFormatRegistry() [2/3]

eve::level_editing::LevelFormatRegistry::LevelFormatRegistry ( const LevelFormatRegistry &  )
delete

◆ LevelFormatRegistry() [3/3]

eve::level_editing::LevelFormatRegistry::LevelFormatRegistry ( LevelFormatRegistry &&  )
default

Level format registry.

成员函数说明

◆ decode()

eve::Result< std::unique_ptr< LevelDocument > > eve::level_editing::LevelFormatRegistry::decode ( const std::string &  format,
const std::string &  text 
) const

Decode.

在文件 LevelFormat.cpp 第 404 行定义.

引用了 eve::Diagnostic::error(), f, t , 以及 eve::Unsupported.

被这些函数引用 load().

◆ detect()

std::string eve::level_editing::LevelFormatRegistry::detect ( const std::string &  path,
const std::string &  text 
) const

Detect.

在文件 LevelFormat.cpp 第 396 行定义.

引用了 p , 以及 t.

被这些函数引用 load() , 以及 save().

◆ encode()

eve::Result< std::string > eve::level_editing::LevelFormatRegistry::encode ( const std::string &  format,
const LevelDocument &  level 
) const

Encode.

在文件 LevelFormat.cpp 第 412 行定义.

引用了 d, eve::Diagnostic::error(), f, eve::Result< T >::failure() , 以及 eve::Unsupported.

被这些函数引用 save().

◆ getFormatCount()

int eve::level_editing::LevelFormatRegistry::getFormatCount ( ) const
inline

Returns the format count.

在文件 LevelFormat.h 第 61 行定义.

◆ getFormatId()

std::string eve::level_editing::LevelFormatRegistry::getFormatId ( int  index) const

Returns the format id.

在文件 LevelFormat.cpp 第 388 行定义.

◆ load()

eve::Result< std::unique_ptr< LevelDocument > > eve::level_editing::LevelFormatRegistry::load ( const std::string &  path,
const std::string &  format = {} 
) const

Loads .

在文件 LevelFormat.cpp 第 419 行定义.

引用了 decode(), detect(), eve::Diagnostic::error(), f, id, eve::NotFound, p , 以及 s.

◆ operator=() [1/2]

LevelFormatRegistry & eve::level_editing::LevelFormatRegistry::operator= ( const LevelFormatRegistry &  )
delete

◆ operator=() [2/2]

LevelFormatRegistry & eve::level_editing::LevelFormatRegistry::operator= ( LevelFormatRegistry &&  )
default

Operator =.

◆ registerFormat()

eve::Result< void > eve::level_editing::LevelFormatRegistry::registerFormat ( std::unique_ptr< LevelFormat >  format)

◆ save()

eve::Result< void > eve::level_editing::LevelFormatRegistry::save ( const std::string &  path,
const LevelDocument &  level,
const std::string &  format = {} 
) const

Encode then atomically replace a file; failures preserve an existing destination.

参数
pathDestination path; relative asset references are preserved verbatim.
levelSynchronously borrowed document, never retained or mutated.
formatRegistered format, or infer it from the extension.
返回
Structured encoding or filesystem failure, or successful replacement. @thread Document owner thread; no callbacks. This is not a power-loss durability guarantee.

在文件 LevelFormat.cpp 第 431 行定义.

引用了 eve::Applied, count, d, detect(), encode(), error, eve::Diagnostic::error(), f, eve::Failed, eve::Result< T >::failure(), id, p, path, sequence, eve::Status::success() , 以及 eve::Result< T >::success().


该类的文档由以下文件生成: