16 c_engine_properties.
assets_path = project.assets_path().c_str();
17 c_engine_properties.
icu_data_path = project.icu_data_path().c_str();
21 const std::vector<std::string>& entrypoint_args =
23 std::vector<const char*> entrypoint_argv;
25 entrypoint_args.begin(), entrypoint_args.end(),
26 std::back_inserter(entrypoint_argv),
27 [](
const std::string& arg) ->
const char* { return arg.c_str(); });
30 static_cast<int>(entrypoint_argv.size());
32 entrypoint_argv.empty() ? nullptr : entrypoint_argv.data();
37 messenger_ = std::make_unique<BinaryMessengerImpl>(core_messenger);
50 std::cerr <<
"Cannot run an engine that failed creation." << std::endl;
54 std::cerr <<
"Cannot run an engine more than once." << std::endl;
59 std::cerr <<
"Failed to start engine." << std::endl;
61 run_succeeded_ =
true;
66 if (engine_ && owns_engine_) {
81 const std::string& plugin_name) {
83 std::cerr <<
"Cannot get plugin registrar on an engine that isn't running; "
92 next_frame_callback_ = std::move(
callback);
97 self->next_frame_callback_();
98 self->next_frame_callback_ =
nullptr;
110 engine_, hwnd,
message, wparam, lparam, &result)) {
117 owns_engine_ =
false;