Source: extern/logic_nodes.js

  1. import register from "../util/register.js";
  2. import m_logn_fact from "../intern/logic_nodes.js";
  3. /**
  4. * API methods to control the {@link https://www.blend4web.com/doc/en/logic_editor.html|Logic Editor}.
  5. * @module logic_nodes
  6. */
  7. function Logic_nodes(ns, exports) {
  8. var m_logn = m_logn_fact(ns);
  9. /**
  10. * Register custom callback, used in logic editor.
  11. * @method module:logic_nodes.append_custom_callback
  12. * @param {string} cb_id Callback ID.
  13. * @param {Function} cb Callback function.
  14. * @example var m_log_nodes = require("logic_nodes");
  15. * var cb = function() {
  16. * console.log("Blend4Web rules!");
  17. * }
  18. *
  19. * m_log_nodes.append_custom_callback("cb_ID", cb);
  20. */
  21. exports.append_custom_callback = function(cb_id, cb) {
  22. m_logn.append_custom_cb(cb_id, cb);
  23. }
  24. /**
  25. * Remove registered custom callback by its ID.
  26. * @method module:logic_nodes.remove_custom_callback
  27. * @param {string} cb_id Callback ID.
  28. * @example var m_log_nodes = require("logic_nodes");
  29. *
  30. * m_log_nodes.remove_custom_callback("cb_ID");
  31. */
  32. exports.remove_custom_callback = function(cb_id) {
  33. m_logn.remove_custom_cb(cb_id);
  34. }
  35. /**
  36. * Activate Entry Point node, used in logic editor.
  37. * @method module:logic_nodes.run_entrypoint
  38. * @param {string} scene_name Scene name.
  39. * @param {string} ep_name Entry Point node name.
  40. * @example var m_log_nodes = require("logic_nodes");
  41. * m_log_nodes.run_entrypoint("Scene", "B4WLogicNode");
  42. */
  43. exports.run_entrypoint = function(scene_name, ep_name) {
  44. m_logn.run_ep(scene_name, ep_name);
  45. }
  46. }
  47. var logic_nodes_factory = register("logic_nodes", Logic_nodes);
  48. export default logic_nodes_factory;