载入中...
搜索中...
未找到
EditorScriptProjection.h 文件参考
#include "common/Result.h"
#include "common/SquirrelBindContext.h"
#include "common/SquirrelBinding.h"
#include "common/SquirrelOwnership.h"
#include "common/Value.h"
#include "editor/EditorWorkspace.h"
#include <simplesquirrel/simplesquirrel.hpp>
#include <cstdint>
#include <functional>
#include <memory>
#include <string>
#include <utility>

浏览源代码.

类

class  eve::editor::ScriptBind
 Editor facade binder: common script::BindContext plus history/owned-create helpers. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::editor
 

函数

ssq::Table eve::editor::project (HSQUIRRELVM vm, const eve::Result< void > &result)
 Project a completed editing result that has no payload.
 
template<class T >
ssq::Table eve::editor::project (HSQUIRRELVM vm, const eve::Result< T > &result, Value value)
 Project a completed editing result together with its already-converted payload.
 
ssq::Table eve::editor::bindingFailure (HSQUIRRELVM vm, const char *source, DiagnosticCode code, std::string message, std::string path={})
 Project a binding-layer argument failure with a stable diagnostic source.
 
template<class T >
ssq::Table eve::editor::projectHistoryRevision (HSQUIRRELVM vm, const eve::Result< T > &result)
 Project an undo/redo (or similar) result whose payload exposes afterRevision.
 
template<class T >
ssq::Table eve::editor::projectOwnedInstance (HSQUIRRELVM vm, std::unique_ptr< T > instance)
 Wrap an already-built owned C++ instance as a script Result {value, ownership}.
 
template<class T >
ssq::Table eve::editor::projectOwnedCreate (HSQUIRRELVM vm, const char *source, std::string emptyIdMessage, const std::string &targetId)
 Create a target-id editor wrapper and project it as an owned script Result.
 
template<class T >
auto eve::editor::addScriptClass (ssq::Table &table, const char *name)
 Register a script class whose default constructor returns null (factory-only types).
 
template<class ScriptT >
void eve::editor::registerEditorWorkspace (ssq::Class &cls, const ScriptBind &bind, const char *nullMessage)
 Register configureWorkspace for a Script* wrapper that exposes editor().
 
template<class EditorT >
void eve::editor::registerDirectEditorWorkspace (ssq::Class &cls, const ScriptBind &bind, const char *nullMessage)
 Register configureWorkspace when the script class is the editor (no .editor()).
 
template<class ScriptT >
void eve::editor::registerEditorHistory (ssq::Class &cls, const ScriptBind &bind, const char *nullMessage)
 Register shared undo, redo, canUndo, canRedo, and getRevision methods.
 
template<class ScriptT , class ModuleT >
void eve::editor::registerEditorOwnedCreate (ssq::Class &moduleClass, const ScriptBind &bind, const char *emptyIdMessage)
 Register module create(targetId) that builds an owned Script* wrapper.