Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::script::ReactionTableHotReload Class Reference

#include <reaction_hot_reload.h>

Collaboration diagram for bicameral::script::ReactionTableHotReload:
[legend]

Public Member Functions

 ReactionTableHotReload (ReactionTableSource source, std::shared_ptr< const LoadedReactionTable > current)
HotReloadResult Poll ()
const std::shared_ptr< const LoadedReactionTable > & Current () const

Private Member Functions

uint64_t Fingerprint () const
HotReloadResult Reload ()

Private Attributes

ReactionTableSource m_source
std::shared_ptr< const LoadedReactionTable > m_current
uint64_t m_seen = 0
uint64_t m_pending = 0

Detailed Description

Definition at line 45 of file reaction_hot_reload.h.

Constructor & Destructor Documentation

◆ ReactionTableHotReload()

bicameral::script::ReactionTableHotReload::ReactionTableHotReload ( ReactionTableSource source,
std::shared_ptr< const LoadedReactionTable > current )

Definition at line 111 of file reaction_hot_reload.cpp.

References Fingerprint(), m_current, m_pending, m_seen, and m_source.

Here is the call graph for this function:

Member Function Documentation

◆ Current()

const std::shared_ptr< const LoadedReactionTable > & bicameral::script::ReactionTableHotReload::Current ( ) const
inlinenodiscard

Definition at line 52 of file reaction_hot_reload.h.

References m_current.

◆ Fingerprint()

uint64_t bicameral::script::ReactionTableHotReload::Fingerprint ( ) const
nodiscardprivate

Definition at line 119 of file reaction_hot_reload.cpp.

References bicameral::script::DefaultPackageRoot(), bicameral::script::DefaultTypeDefinitionsPath(), bicameral::script::DirectoryFingerprint(), and m_source.

Referenced by Poll(), and ReactionTableHotReload().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Poll()

HotReloadResult bicameral::script::ReactionTableHotReload::Poll ( )
nodiscard

Definition at line 129 of file reaction_hot_reload.cpp.

References Fingerprint(), m_pending, m_seen, Reload(), and bicameral::script::Waiting.

Here is the call graph for this function:

◆ Reload()

HotReloadResult bicameral::script::ReactionTableHotReload::Reload ( )
nodiscardprivate

Definition at line 147 of file reaction_hot_reload.cpp.

References bicameral::script::CheckHotReloadCompatible(), bicameral::script::Failed, bicameral::script::LoadReactionTable(), m_current, m_source, bicameral::script::PackageRejection::package, bicameral::script::PackageRejection::reason, and bicameral::script::Reloaded.

Referenced by Poll().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_current

std::shared_ptr<const LoadedReactionTable> bicameral::script::ReactionTableHotReload::m_current
private

Definition at line 59 of file reaction_hot_reload.h.

Referenced by Current(), ReactionTableHotReload(), and Reload().

◆ m_pending

uint64_t bicameral::script::ReactionTableHotReload::m_pending = 0
private

Definition at line 61 of file reaction_hot_reload.h.

Referenced by Poll(), and ReactionTableHotReload().

◆ m_seen

uint64_t bicameral::script::ReactionTableHotReload::m_seen = 0
private

Definition at line 60 of file reaction_hot_reload.h.

Referenced by Poll(), and ReactionTableHotReload().

◆ m_source

ReactionTableSource bicameral::script::ReactionTableHotReload::m_source
private

Definition at line 58 of file reaction_hot_reload.h.

Referenced by Fingerprint(), ReactionTableHotReload(), and Reload().


The documentation for this class was generated from the following files: