mage-engine 3.23.8 → 3.23.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/mage.js +42 -21
  2. package/package.json +1 -1
package/dist/mage.js CHANGED
@@ -53958,7 +53958,7 @@ var STATE_MACHINE_NOT_AVAILABLE = "".concat(PREFIX, " State Machine is not enabl
53958
53958
  var EFFECT_COULD_NOT_BE_CREATED = "".concat(PREFIX, " Could not create requested effect.");
53959
53959
  var EFFECT_UNAVAILABLE = "".concat(PREFIX, " Requested effect is not available.");
53960
53960
  var SCRIPT_NOT_FOUND = "".concat(PREFIX, " Could not find desired script.");
53961
- var KEYBOARD_COMBO_ALREADY_REGISTERED = "".concat(PREFIX, " Keyboard combo already registered.");
53961
+ var KEYBOARD_COMBO_IS_INVALID = "".concat(PREFIX, " Keyboard combo is not valid.");
53962
53962
  var PHYSICS_ELEMENT_CANT_BE_REMOVED = "".concat(PREFIX, " This element can't be removed from physics world.");
53963
53963
  var PHYSICS_ELEMENT_ALREADY_STORED = "".concat(PREFIX, " This element has already been added to the world.");
53964
53964
  var ASSETS_AUDIO_LOAD_FAIL = "".concat(PREFIX, " Could not load audio.");
@@ -54633,13 +54633,15 @@ if (typeof window !== 'undefined') {
54633
54633
  };
54634
54634
 
54635
54635
  window.hotkeys = hotkeys;
54636
- }var DEFAULT_OPTIONS$1 = {
54636
+ }var HOTKEYS_DEFAULT_OPTIONS = {
54637
54637
  keyup: true,
54638
54638
  keydown: true
54639
54639
  };
54640
- var KEY_PRESS = 'keyPress';
54641
- var KEY_DOWN = 'keyDown';
54642
- var KEY_UP = 'keyUp';
54640
+ var COMBINATION_DIVIDER = ",";
54641
+ var KEY_PRESS = "keyPress";
54642
+ var KEY_DOWN = "keyDown";
54643
+ var KEY_UP = "keyUp";
54644
+ var KEY_COMBO = "keyCombo";
54643
54645
 
54644
54646
  var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
54645
54647
  _inherits(Keyboard, _EventDispatcher);
@@ -54653,6 +54655,13 @@ var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
54653
54655
 
54654
54656
  _this = _super.call(this);
54655
54657
 
54658
+ _defineProperty$1(_assertThisInitialized(_this), "handleCombo", function (event) {
54659
+ _this.dispatchEvent({
54660
+ type: KEY_COMBO,
54661
+ event: event
54662
+ });
54663
+ });
54664
+
54656
54665
  _defineProperty$1(_assertThisInitialized(_this), "handleKeydown", function (event) {
54657
54666
  _this.dispatchEvent({
54658
54667
  type: KEY_DOWN,
@@ -54680,26 +54689,29 @@ var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
54680
54689
  }
54681
54690
 
54682
54691
  _createClass(Keyboard, [{
54683
- key: "register",
54684
- value: function register(combo, handler) {
54692
+ key: "listenTo",
54693
+ value: function listenTo() {
54694
+ var combos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
54695
+
54685
54696
  if (this.enabled) {
54686
- if (this.combos.includes(combo)) {
54687
- console.warn(KEYBOARD_COMBO_ALREADY_REGISTERED);
54688
- return;
54697
+ if (!(combos instanceof Array) || !combos.length) {
54698
+ console.warn(KEYBOARD_COMBO_IS_INVALID);
54689
54699
  }
54690
54700
 
54691
- this.combos.push(combo);
54692
- hotkeys(combo, DEFAULT_OPTIONS$1, handler);
54701
+ var parsedCombos = combos.join(COMBINATION_DIVIDER);
54702
+ hotkeys(parsedCombos, HOTKEYS_DEFAULT_OPTIONS, this.handleCombo);
54693
54703
  }
54694
54704
  }
54695
54705
  }, {
54696
54706
  key: "enable",
54697
54707
  value: function enable() {
54698
- var cb = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (f) {
54699
- return f;
54700
- };
54708
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54701
54709
  this.enabled = true;
54702
- this.register('*', cb);
54710
+
54711
+ if (options.combos) {
54712
+ this.listenTo(options.combos);
54713
+ }
54714
+
54703
54715
  window.addEventListener(KEY_DOWN.toLowerCase(), this.handleKeydown.bind(this));
54704
54716
  window.addEventListener(KEY_UP.toLowerCase(), this.handleKeyup.bind(this));
54705
54717
  window.addEventListener(KEY_PRESS.toLowerCase(), this.handleKeypress.bind(this));
@@ -57786,7 +57798,7 @@ function applyMiddleware() {
57786
57798
 
57787
57799
  var thunk = createThunkMiddleware();
57788
57800
  thunk.withExtraArgument = createThunkMiddleware;var name$1 = "mage-engine";
57789
- var version$1 = "3.23.8";
57801
+ var version$1 = "3.23.9";
57790
57802
  var description = "A WebGL Javascript Game Engine, built on top of THREE.js and many other libraries.";
57791
57803
  var main = "dist/mage.js";
57792
57804
  var author$1 = {
@@ -58404,9 +58416,9 @@ var Gamepad = /*#__PURE__*/function (_EventDispatcher) {
58404
58416
  return Gamepad;
58405
58417
  }(EventDispatcher);var _INPUT_EVENTS;
58406
58418
  var INPUT_EVENTS = (_INPUT_EVENTS = {
58407
- KEY_PRESS: KEY_PRESS,
58408
58419
  KEY_DOWN: KEY_DOWN,
58409
58420
  KEY_UP: KEY_UP,
58421
+ KEY_COMBO: KEY_COMBO,
58410
58422
  MOUSE_DOWN: MOUSE_DOWN,
58411
58423
  MOUSE_UP: MOUSE_UP
58412
58424
  }, _defineProperty$1(_INPUT_EVENTS, "MOUSE_DOWN", MOUSE_DOWN), _defineProperty$1(_INPUT_EVENTS, "MOUSE_MOVE", MOUSE_MOVE), _defineProperty$1(_INPUT_EVENTS, "ELEMENT_CLICK", ELEMENT_CLICK), _defineProperty$1(_INPUT_EVENTS, "ELEMENT_DESELECT", ELEMENT_DESELECT), _defineProperty$1(_INPUT_EVENTS, "GAMEPAD_CONNECTED_EVENT", GAMEPAD_CONNECTED_EVENT), _defineProperty$1(_INPUT_EVENTS, "GAMEPAD_DISCONNECTED_EVENT", GAMEPAD_DISCONNECTED_EVENT), _defineProperty$1(_INPUT_EVENTS, "BUTTON_PRESSED_EVENT", BUTTON_PRESSED_EVENT), _defineProperty$1(_INPUT_EVENTS, "BUTTON_RELEASED_EVENT", BUTTON_RELEASED_EVENT), _defineProperty$1(_INPUT_EVENTS, "AXIS_CHANGE_EVENT", AXIS_CHANGE_EVENT), _INPUT_EVENTS);
@@ -58484,6 +58496,7 @@ var Input = /*#__PURE__*/function (_EventDispatcher) {
58484
58496
  this.keyboard.enable(options);
58485
58497
  this.keyboard.addEventListener(KEY_DOWN, this.propagate.bind(this));
58486
58498
  this.keyboard.addEventListener(KEY_UP, this.propagate.bind(this));
58499
+ this.keyboard.addEventListener(KEY_COMBO, this.propagate.bind(this));
58487
58500
  }
58488
58501
  }, {
58489
58502
  key: "enableMouse",
@@ -60038,6 +60051,13 @@ var serializeQuaternion = function serializeQuaternion(quaternion) {
60038
60051
  z: quaternion.z,
60039
60052
  w: quaternion.w
60040
60053
  };
60054
+ };
60055
+ var serializeColor = function serializeColor(color) {
60056
+ return {
60057
+ r: color.r,
60058
+ g: color.g,
60059
+ b: color.b
60060
+ };
60041
60061
  };var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
60042
60062
 
60043
60063
  function getAugmentedNamespace(n) {
@@ -61888,6 +61908,7 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
61888
61908
  var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
61889
61909
 
61890
61910
  if (this.isSerializable()) {
61911
+ var color = this.getColor();
61891
61912
  return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(Element.prototype), "toJSON", this).call(this, parseJSON)), {}, {
61892
61913
  physics: {
61893
61914
  state: this.getPhysicsState(),
@@ -61897,7 +61918,7 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
61897
61918
  textures: this.textures,
61898
61919
  materialType: this.getMaterialType(),
61899
61920
  opacity: this.opacity,
61900
- color: this.getColor()
61921
+ color: parseJSON ? serializeColor(color) : color
61901
61922
  });
61902
61923
  }
61903
61924
  }
@@ -61984,8 +62005,8 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
61984
62005
  key: "randomColor",
61985
62006
  value: function randomColor() {
61986
62007
  var asNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
61987
- var letters = '0123456789ABCDEF'.split('');
61988
- var color = '';
62008
+ var letters = "0123456789ABCDEF".split("");
62009
+ var color = "";
61989
62010
 
61990
62011
  for (var i = 0; i < 6; i++) {
61991
62012
  color += letters[Math.floor(Math.random() * 16)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mage-engine",
3
- "version": "3.23.8",
3
+ "version": "3.23.9",
4
4
  "description": "A WebGL Javascript Game Engine, built on top of THREE.js and many other libraries.",
5
5
  "main": "dist/mage.js",
6
6
  "author": {