载入中...
搜索中...
未找到
Module.cpp
浏览该文件的文档.
232 eve::DiagnosticCode::Conflict, "a plugin registration transaction is already active", {}, {}, "module"));
243 eve::DiagnosticCode::Conflict, "no plugin registration transaction is active", {}, {}, "module"));
261 return eve::Result<void>::success(eve::Status::success(commit ? eve::StatusCode::Applied : eve::StatusCode::NoOp));
EVEngine assertion entry point, backed by zeroerr.
#define EV_PARAM_CHECK(cond,...)
Validate a function parameter / public API precondition.
Definition Assert.h:30
The single Squirrel projection for common Result, Status and Value.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
std::unordered_map< std::string, ModuleInfo > registered_modules
Definition Module.h:192
static void requireAll()
Instantiates every registered module through its factory.
Definition Module.cpp:200
static void detach(Runtime *runtime)
Clears the active runtime if it matches; called during shutdown.
Definition Module.cpp:299
static void register_module(const char *name, creator_t c, exposer_t e)
Registers a module factory (creator + script exposer) by name.
Definition Module.cpp:207
static Module * find(const char *name)
Finds a live module instance by name, or nullptr. @ownership Borrowed; ModuleManager owns the returne...
Definition Module.cpp:175
static Runtime * runtime()
Active runtime associated with the last expose() call, or nullptr. @ownership Borrowed; the embedding...
Definition Module.cpp:292
static void expose(Runtime &runtime)
Installs the eve table and defers native class method bindings.
Definition Module.cpp:282
std::string plugin_registration_error_
Definition Module.h:195
static eve::Result< void > beginPluginRegistration()
Begins an atomic native-plugin module registration transaction.
Definition Module.cpp:228
bool plugin_registration_active_
Definition Module.h:193
static ModuleManager & inst()
Singleton registry holding every registered engine module.
Definition Module.cpp:170
static eve::Result< void > finishPluginRegistration(bool commit)
Commits or rolls back the active plugin registration transaction.
Definition Module.cpp:239
static ssq::VM * vm()
Script VM of the active runtime, or nullptr. @ownership Borrowed; Runtime owns the VM....
Definition Module.cpp:294
static void insert(const char *name, Module *inst)
Stores a module instance under a name (used by Module_IMPL).
Definition Module.cpp:194
std::vector< std::string > plugin_registration_added_
Definition Module.h:194
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Scope enter()
Pushes this runtime on the thread-local runtime stack (RAII pop).
Definition Runtime.h:279
ssq::VM & vm() noexcept
Underlying SimpleSquirrel VM (requires a live, initialized runtime).
Definition Runtime.cpp:479
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
void exposeResultBindings(ssq::Table &eveTable)
Expose the common script helpers under eve.result.
Definition SquirrelBinding.cpp:505
@ Conflict
void prepareEcsScriptInjection()
Resets per-VM script injection bookkeeping before a new VM is exposed.
Definition ECS.cpp:853
void flushPostEcsHooks(ssq::Table &table)
Run post-ECS hooks that were registered after exposeECS already ran.
Definition ECS.cpp:869
@ NoOp
@ Applied
void exposeECS(ssq::Table &table)
脚本侧 ECS:Entity / Component / System / ShaderSystem / view(见 ECS.cpp)。 C++ 游戏实体仍直接用 ECS....
Definition ECS.cpp:829
@ Info
Definition Module.cpp:21
ModuleRegister(const char *name, ModuleManager::creator_t c, ModuleManager::exposer_t e)
Module register.
Definition Module.cpp:347