babylon.actionManager.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. var BABYLON;
  2. (function (BABYLON) {
  3. var ActionManager = (function () {
  4. function ActionManager(scene) {
  5. // Members
  6. this.actions = new Array();
  7. this._scene = scene;
  8. }
  9. Object.defineProperty(ActionManager, "NoneTrigger", {
  10. get: function () {
  11. return ActionManager._NoneTrigger;
  12. },
  13. enumerable: true,
  14. configurable: true
  15. });
  16. Object.defineProperty(ActionManager, "OnPickTrigger", {
  17. get: function () {
  18. return ActionManager._OnPickTrigger;
  19. },
  20. enumerable: true,
  21. configurable: true
  22. });
  23. Object.defineProperty(ActionManager, "OnPointerOverTrigger", {
  24. get: function () {
  25. return ActionManager._OnPointerOverTrigger;
  26. },
  27. enumerable: true,
  28. configurable: true
  29. });
  30. Object.defineProperty(ActionManager, "OnPointerOutTrigger", {
  31. get: function () {
  32. return ActionManager._OnPointerOutTrigger;
  33. },
  34. enumerable: true,
  35. configurable: true
  36. });
  37. Object.defineProperty(ActionManager, "OnEveryFrameTrigger", {
  38. get: function () {
  39. return ActionManager._OnEveryFrameTrigger;
  40. },
  41. enumerable: true,
  42. configurable: true
  43. });
  44. // Methods
  45. ActionManager.prototype.getScene = function () {
  46. return this._scene;
  47. };
  48. ActionManager.prototype.registerAction = function (action) {
  49. if (action.trigger === ActionManager.OnEveryFrameTrigger) {
  50. if (this.getScene().actionManager !== this) {
  51. BABYLON.Tools.Warn("OnEveryFrameTrigger can only be used with scene.actionManager");
  52. return null;
  53. }
  54. }
  55. this.actions.push(action);
  56. action._actionManager = this;
  57. action._prepare();
  58. return action;
  59. };
  60. ActionManager.prototype.processTrigger = function (trigger) {
  61. for (var index = 0; index < this.actions.length; index++) {
  62. var action = this.actions[index];
  63. if (action.trigger === trigger) {
  64. action._executeCurrent();
  65. }
  66. }
  67. };
  68. ActionManager.prototype._getEffectiveTarget = function (target, propertyPath) {
  69. var properties = propertyPath.split(".");
  70. for (var index = 0; index < properties.length - 1; index++) {
  71. target = target[properties[index]];
  72. }
  73. return target;
  74. };
  75. ActionManager.prototype._getProperty = function (propertyPath) {
  76. var properties = propertyPath.split(".");
  77. return properties[properties.length - 1];
  78. };
  79. ActionManager._NoneTrigger = 0;
  80. ActionManager._OnPickTrigger = 1;
  81. ActionManager._OnPointerOverTrigger = 2;
  82. ActionManager._OnPointerOutTrigger = 3;
  83. ActionManager._OnEveryFrameTrigger = 4;
  84. return ActionManager;
  85. })();
  86. BABYLON.ActionManager = ActionManager;
  87. })(BABYLON || (BABYLON = {}));
  88. //# sourceMappingURL=babylon.actionManager.js.map