void FSkookumScriptRuntime::ensure_runtime_initialized() { if (!m_runtime.is_initialized()) { m_runtime.startup(); compile_and_load_binaries(); } }
//--------------------------------------------------------------------------------------- // bool FSkookumScriptRuntime::has_skookum_default_constructor(UClass * class_p) const { SK_ASSERTX(m_runtime.is_initialized(), "Runtime must be initialized for this code to work."); SkClass * sk_class_p = SkUEClassBindingHelper::get_sk_class_from_ue_class(class_p); if (sk_class_p) { return (sk_class_p->find_instance_method_inherited(ASymbolX_ctor) != nullptr); } return false; }
//--------------------------------------------------------------------------------------- // void FSkookumScriptRuntime::on_editor_map_opened() { // When editor is present, initialize Sk here if (!m_runtime.is_initialized()) { m_runtime.startup(); #ifdef SKOOKUM_REMOTE_UNREAL // At this point, have zero patience with the IDE and launch it if not connected if (!IsRunningCommandlet()) { // At this point, wait if necessary to make sure we are connected m_remote_client.ensure_connected(0.0); // Kick off re-compilation of the binaries m_remote_client.cmd_compiled_state(true); m_freshen_binaries_requested = false; // Request satisfied } #else // If no remote connection, load binaries at this point bool success_b = m_runtime.load_compiled_scripts(); SK_ASSERTX(success_b, AErrMsg("Unable to load SkookumScript compiled binaries!", AErrLevel_notify)); #endif } }