载入中...
搜索中...
未找到
ECS.cpp 文件参考
#include "common/ECS.h"
#include "common/ScriptError.h"
#include <simplesquirrel/simplesquirrel.hpp>
#include <cstdio>
#include <cstring>
#include <string>
#include <unordered_map>
#include <vector>

浏览源代码.

命名空间

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

函数

void eve::exposeECS (ssq::Table &table)
 脚本侧 ECS:Entity / Component / System / ShaderSystem / view(见 ECS.cpp)。 C++ 游戏实体仍直接用 ECS.hpp 的 ENTITY / COMPONENT / View。 GPU System:eve.ShaderSystem + gpgpu::ShaderSystem / EcsGpu.h。
 
void eve::prepareEcsScriptInjection ()
 Resets per-VM script injection bookkeeping before a new VM is exposed.
 
void eve::registerCppEntityView (const ssq::Class &cls, CppEntityViewFn fn)
 Registers cpp entity view.
 
void eve::registerPostEcsHook (PostEcsHook fn)
 Registers post ecs hook.
 
void eve::flushPostEcsHooks (ssq::Table &table)
 Run post-ECS hooks that were registered after exposeECS already ran.
 
void eve::exposeECSToVM (ssq::VM &vm)
 在 ModuleManager::expose 之后调用;保证 eve.Component 等不被其它模块覆盖。
 

变量说明

◆ cls

HSQOBJECT cls

在文件 ECS.cpp 第 21 行定义.

被这些函数引用 eve::script::bindMethod(), eve::script::bindNullSafe(), eve::ui::Inspector::build(), eve::dev::LanguageServer::Impl::complete(), eve::housegen::HouseGen::expose(), eve::animation::exposeAnimationModelImportBindings(), eve::animation::exposeAnimCurveLibraryBindings(), eve::animation::exposeAnimInertializerBindings(), eve::graphics::exposeCanvasScriptBindings(), eve::weapon::exposeCombatCarrierModuleMethods(), eve::exposeECS(), eve::rts::script_internal::exposeFormationBindings(), eve::procgen::exposeHexTerrain(), eve::housegen::exposeHouseGeneration(), eve::animation::exposeOrientationWarpingBindings(), eve::ui::exposePcgColorPreviewSyncBindings(), eve::ui::exposePcgDraggableWindowBindings(), eve::ui::exposePcgPhotoModeSessionBindings(), eve::procgen::exposePcgTaskQueueBindings(), eve::filesystem::exposePreparedFileBindings(), eve::graphics::exposePrimitiveScriptBindings(), eve::exposeReflection(), eve::scene_editor::exposeSceneEditorSessions(), eve::procgen::exposeScriptGeneratorHost(), eve::graphics::detail::exposeShaderResourceBindings(), eve::graphics::exposeShaderScriptBindings(), eve::daynight::exposeSkyScriptBindings(), eve::spritestack::exposeSpriteStackModelBindings(), eve::graphics::exposeVegetationScriptBindings(), eve::fluids::exposeVolumeFluidFactory(), eve::fluids::exposeVolumeFluidType(), eve::Runtime::reflectClass(), eve::ui::DatabasePanel::refresh(), eve::ui::Inspector::refresh(), eve::registerCppEntityView(), eve::editor::registerDirectEditorWorkspace(), eve::editor::registerEditorHistory(), eve::editor::registerEditorWorkspace() , 以及 eve::Runtime::scanClasses().

◆ vm

HSQUIRRELVM vm = nullptr

在文件 ECS.cpp 第 20 行定义.

被这些函数引用 eve::dev::ReloadSession::abort(), eve::dev::ConsolePanel::attach(), eve::dev::DevTool::attach(), eve::dev::DevTool::attach(), eve::dev::ReloadSession::begin(), eve::dev::ScenarioRecorder::begin(), eve::dev::ScenarioRecorder::beginReplay(), eve::dev::callScriptTool(), eve::dev::Snapshot::capture(), eve::script::captureCompileError(), eve::script::captureScriptError(), eve::dev::Snapshot::captureState(), eve::script::clearLastScriptError(), eve::dev::ReloadSession::commit(), eve::script::ScriptCompiler::compileBuffer(), eve::dev::ConsolePanel::eval(), eve::dev::executeSoftRestart(), eve::housegen::HouseGen::expose(), eve::editor::exposeActionTimelineScriptBindings(), eve::animation::exposeAnimPlayerBindings(), eve::graphics::exposeCanvasScriptBindings(), eve::climbing::exposeClimbingMotionBindings(), eve::weapon::exposeCombatCarrierBindings(), eve::weapon::exposeCombatCarrierModuleMethods(), eve::graphics::exposeDepthOfFieldFocusBindings(), eve::exposeECSToVM(), eve::scene::exposeFollowPlayerBindings(), eve::rts::script_internal::exposeFormationBindings(), eve::graphics::exposeGrassWindBindings(), eve::procgen::exposeHeightmap(), eve::procgen::exposeHexTerrain(), eve::housegen::exposeHouseGeneration(), eve::scene::exposeLocationProfileBindings(), eve::dev::exposeMcpScriptApi(), eve::procgen::exposeMeshModifierGraph(), eve::procgen::exposeModuleAssembly(), eve::ui::exposeParentScalerBindings(), eve::scene::exposePcgBuildConfigBindings(), eve::camera::exposePcgCarCameraSetupBindings(), eve::ui::exposePcgColorPreviewSyncBindings(), eve::ui::exposePcgControllerSelectionBindings(), eve::ui::exposePcgDraggableWindowBindings(), eve::procgen::exposePcgFrameRateManagerBindings(), eve::camera::exposePcgFreeCameraBindings(), eve::scene::exposePcgGrowthBindings(), eve::ui::exposePcgLoadingScreenBindings(), eve::ui::exposePcgPhotoModeApplyPlanBindings(), eve::ui::exposePcgPhotoModeColorPickerBindings(), eve::ui::exposePcgPhotoModePanelsBindings(), eve::ui::exposePcgPhotoModeRangesBindings(), eve::ui::exposePcgPhotoModeRuntimeUIBindings(), eve::ui::exposePcgPhotoModeSessionBindings(), eve::ui::exposePcgPhotoModeValuesBindings(), eve::ui::exposePcgScreenshotSavedNoticeBindings(), eve::procgen::exposePcgTaskQueueBindings(), eve::ui::exposePcgTooltipBindings(), eve::graphics::exposePcgWaterPhotoModeBindings(), eve::animation::exposePhysicalBalancePoseBindings(), eve::procgen::exposePointGraph(), eve::filesystem::exposePreparedFileBindings(), eve::graphics::exposePrimitiveScriptBindings(), eve::graphics::detail::exposeRenderable3DBindings(), eve::procgen::exposeRuntimeGeneration(), eve::scene_editor::exposeSceneEditorSessions(), eve::dev::DevTool::exposeScriptApi(), eve::ui::EditorHost::exposeScriptApi(), eve::procgen::exposeScriptGeneratorHost(), eve::graphics::detail::exposeShaderResourceBindings(), eve::graphics::exposeShaderScriptBindings(), eve::daynight::exposeSkyScriptBindings(), eve::procgen::exposeTerrainCurveTexture(), eve::procgen::exposeTerrainGrassAdapter(), eve::procgen::exposeTerrainImageAdapter(), eve::ui_editor::exposeUiThemeEditorScriptBindings(), eve::graphics::exposeVegetationScriptBindings(), eve::fluids::exposeVolumeFluidFactory(), eve::fluids::exposeVolumeFluidType(), eve::graphics::exposeWaterPlanarReflectionBindings(), eve::graphics::exposeWaterReflectionMaskerBindings(), eve::graphics::exposeWaterSystemBindings(), eve::graphics::exposeWaterUnderwaterEffectsBindings(), eve::script::formatLastScriptError(), eve::dev::DevTool::handleDebugEvent(), eve::script::ignoreResult(), eve::filesystem::physfs::installScriptFileApi(), eve::dev::Snapshot::loadFile(), eve::script::makeOwnedSquirrelInstance(), eve::script::detail::makeOwnedSquirrelInstanceRaw(), eve::gpgpu::packScriptEntityFloatsRange(), eve::script::peekLastScriptError(), ssq::detail::popValue(), eve::editor::project(), eve::editor::project(), eve::script::projectDiagnostic(), eve::editor::projectHistoryRevision(), eve::editor::projectOwnedCreate(), eve::editor::projectOwnedInstance(), eve::script::projectResult(), eve::script::projectResult(), eve::script::projectStatus(), eve::script::projectStatusResult(), eve::script::projectStatusResult(), eve::script::projectStatusResult(), eve::ui::UI::propertySchema(), ssq::detail::pushValue(), eve::script::pushValue(), eve::schema::Schema::registerFromClass(), eve::dev::Snapshot::restore(), eve::dev::Snapshot::restoreState(), eve::dev::Snapshot::rootsFor(), eve::dev::Snapshot::saveFile(), eve::script::setLastScriptError(), eve::dev::sqKeyToJson(), eve::dev::sqValueToJson(), eve::ui::EditorHost::start(), eve::script::takeLastScriptError(), eve::gpgpu::unpackScriptEntityFloatsRange(), eve::script::valueFromSquirrel() , 以及 eve::script::valueFromSquirrel().