Owning immutable material and reaction table used by one PixelWorld. 更多...
#include <PixelMaterial.h>
Public 成员函数 | |
| eve::Result< MaterialId > | resolve (std::string_view name) const |
| Resolve a stable name or return a structured NotFound diagnostic. | |
| const MaterialDefinition & | definition (MaterialId id) const noexcept |
| Resolve a validated id; invalid ids safely project to air. | |
| std::span< const MaterialDefinition > | definitions () const noexcept |
| Borrow immutable definitions until this catalog is destroyed. | |
| std::span< const MaterialReactionRule > | reactions () const noexcept |
| Borrow immutable canonical-priority reaction rules. | |
| std::span< const MaterialPhaseRule > | phaseRules () const noexcept |
| Borrow immutable canonical-priority phase rules. | |
| bool | canReact (MaterialId id) const noexcept |
| Whether this material participates in at least one binary reaction. | |
| bool | canPhaseTransition (MaterialId id) const noexcept |
| Whether this material owns at least one phase transition rule. | |
| std::uint64_t | fingerprint () const noexcept |
| Stable deterministic fingerprint included in world snapshots. | |
静态 Public 成员函数 | |
| static eve::Result< MaterialCatalog > | create (std::vector< MaterialDefinition > definitions, std::vector< MaterialReactionRule > reactions={}, std::vector< MaterialPhaseRule > phaseRules={}) |
| Validate and own a complete catalog candidate transactionally. | |
| static MaterialCatalog | builtIn () |
| Construct the engine's canonical built-in catalog. | |
详细描述
Owning immutable material and reaction table used by one PixelWorld.
在文件 PixelMaterial.h 第 84 行定义.
成员函数说明
◆ builtIn()
|
static |
Construct the engine's canonical built-in catalog.
在文件 PixelMaterial.cpp 第 151 行定义.
引用了 eve::pixelworld::Acid, eve::pixelworld::Air, eve::pixelworld::AtOrAbove, eve::pixelworld::AtOrBelow, color, create(), eve::pixelworld::Empty, eve::pixelworld::Energy, eve::pixelworld::Fire, eve::pixelworld::Gas, eve::pixelworld::Gunpowder, eve::pixelworld::Ice, id, eve::pixelworld::Lava, eve::pixelworld::Liquid, material, eve::pixelworld::Oil, phaseRules(), eve::pixelworld::Powder, reactions(), eve::pixelworld::Sand, eve::pixelworld::Smoke, eve::pixelworld::Solid, eve::pixelworld::Steam, eve::pixelworld::Stone, eve::pixelworld::Water , 以及 eve::pixelworld::Wood.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::builtIn().
◆ canPhaseTransition()
|
noexcept |
Whether this material owns at least one phase transition rule.
在文件 PixelMaterial.cpp 第 246 行定义.
引用了 index.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::materialCards().
◆ canReact()
|
noexcept |
Whether this material participates in at least one binary reaction.
在文件 PixelMaterial.cpp 第 242 行定义.
引用了 index.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::materialCards().
◆ create()
|
static |
Validate and own a complete catalog candidate transactionally.
在文件 PixelMaterial.cpp 第 38 行定义.
引用了 eve::pixelworld::Air, eve::pixelworld::MaterialDefinition::blastResistance, eve::pixelworld::MaterialDefinition::boilingTemperature, eve::pixelworld::MaterialDefinition::defaultLifetime, eve::pixelworld::MaterialDefinition::defaultTemperature, definition(), definitions(), eve::pixelworld::MaterialDefinition::density, eve::pixelworld::MaterialDefinition::displayRgba, eve::pixelworld::Empty, eve::pixelworld::MaterialDefinition::flammable, hash, eve::pixelworld::MaterialDefinition::heatCapacity, id, eve::pixelworld::MaterialDefinition::id, eve::pixelworld::MaterialDefinition::ignitionTemperature, index, eve::pixelworld::MaterialDefinition::meltingTemperature, eve::pixelworld::MaterialDefinition::name, phaseRules(), reactions(), state, eve::pixelworld::MaterialDefinition::state, eve::Result< T >::success(), tag, eve::pixelworld::MaterialDefinition::tags, eve::pixelworld::MaterialDefinition::thermalConductivity , 以及 eve::pixelworld::MaterialDefinition::viscosity.
被这些函数引用 builtIn() , 以及 eve::pixelworld::decodeMaterialCatalogJson().
◆ definition()
|
noexcept |
Resolve a validated id; invalid ids safely project to air.
在文件 PixelMaterial.cpp 第 234 行定义.
引用了 index.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::buildWidgetTree(), create(), eve::pixelworld::PixelWorld::Impl::normalizeCell(), eve::pixelworld::PixelWorld::Impl::rebuildMaterialRuntimeTables(), resolve() , 以及 eve::pixelworld::PixelWorld::restoreSnapshot().
◆ definitions()
|
noexcept |
Borrow immutable definitions until this catalog is destroyed.
在文件 PixelMaterial.cpp 第 239 行定义.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::buildWidgetTree(), create(), eve::pixelworld::encodeMaterialCatalogJson(), eve::pixelworld::generatePixelWorld(), eve::pixelworld_editor::PixelWorldCatalogPanel::materialCards(), eve::pixelworld::PixelWorld::Impl::rebuildMaterialRuntimeTables(), eve::pixelworld::PixelWorld::reloadMaterialCatalog(), eve::pixelworld_editor::PixelWorldCatalogPanel::replaceMaterial(), eve::pixelworld::PixelWorld::restoreSnapshot() , 以及 eve::pixelworld_editor::PixelWorldCatalogPanel::selectMaterial().
◆ fingerprint()
|
noexcept |
Stable deterministic fingerprint included in world snapshots.
在文件 PixelMaterial.cpp 第 250 行定义.
被这些函数引用 eve::pixelworld::generatePixelWorld() , 以及 eve::pixelworld::PixelWorld::reloadMaterialCatalog().
◆ phaseRules()
|
noexcept |
Borrow immutable canonical-priority phase rules.
在文件 PixelMaterial.cpp 第 241 行定义.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::addPhase(), builtIn(), create(), eve::pixelworld::encodeMaterialCatalogJson(), eve::pixelworld_editor::PixelWorldCatalogPanel::removePhase(), eve::pixelworld_editor::PixelWorldCatalogPanel::replacePhase() , 以及 eve::pixelworld_editor::PixelWorldCatalogPanel::selectPhase().
◆ reactions()
|
noexcept |
Borrow immutable canonical-priority reaction rules.
在文件 PixelMaterial.cpp 第 240 行定义.
被这些函数引用 eve::pixelworld_editor::PixelWorldCatalogPanel::addReaction(), builtIn(), create(), eve::pixelworld::encodeMaterialCatalogJson(), eve::pixelworld::PixelWorld::Impl::rebuildMaterialRuntimeTables(), eve::pixelworld_editor::PixelWorldCatalogPanel::removeReaction(), eve::pixelworld_editor::PixelWorldCatalogPanel::replaceReaction() , 以及 eve::pixelworld_editor::PixelWorldCatalogPanel::selectReaction().
◆ resolve()
| eve::Result< MaterialId > eve::pixelworld::MaterialCatalog::resolve | ( | std::string_view | name | ) | const |
Resolve a stable name or return a structured NotFound diagnostic.
在文件 PixelMaterial.cpp 第 226 行定义.
引用了 definition(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::pixelworld::MaterialDefinition::id, name, eve::pixelworld::MaterialDefinition::name, eve::NotFound , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/pixelworld/PixelMaterial.h
- src/modules/pixelworld/PixelMaterial.cpp