RLMeshRunHooksVtable
Contexts are shared and retained independently from hook invocation. Every protocol slot is required; NULL slots fail with INVALID_ARGUMENT.
struct RLMeshRunHooksVtableFields
- struct_size
size_t struct_size - on_run_start
RLMeshStatus (*on_run_start)(void* user_data, const RLMeshRunContext* context) - on_episode_start
RLMeshStatus (*on_episode_start)(void* user_data, int64_t episode, const int64_t* seed) - on_step
RLMeshStatus (*on_step)(void* user_data, const RLMeshStepEvent* event) - on_episode_end
RLMeshStatus (*on_episode_end)(void* user_data, const RLMeshEpisodeResult* result) - on_run_end
RLMeshStatus (*on_run_end)(void* user_data, const RLMeshRunResult* result) - free_user_data
void (*free_user_data)(void* user_data)
struct_size
field[source]size_t struct_sizeon_run_start
field[source]RLMeshStatus (
*on_run_start
)(void* user_data, const RLMeshRunContext* context)on_episode_start
field[source]RLMeshStatus (
*on_episode_start
)(void* user_data, int64_t episode, const int64_t* seed)on_step
field[source]RLMeshStatus (*on_step)(void* user_data, const RLMeshStepEvent* event)on_episode_end
field[source]RLMeshStatus (
*on_episode_end
)(void* user_data, const RLMeshEpisodeResult* result)on_run_end
field[source]RLMeshStatus (
*on_run_end
)(void* user_data, const RLMeshRunResult* result)free_user_data
field[source]void (*free_user_data)(void* user_data)