leafer-game 2.2.4 → 2.2.5

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.
@@ -4773,7 +4773,7 @@ function useModule(module, exclude) {
4773
4773
  if (!excludeNames.includes(name) && (!exclude || !exclude.includes(name))) {
4774
4774
  if (module.prototype) {
4775
4775
  const d = getDescriptor(module.prototype, name);
4776
- if (d.writable) target.prototype[name] = module.prototype[name];
4776
+ if (d) Object.defineProperty(target.prototype, name, d);
4777
4777
  } else {
4778
4778
  target.prototype[name] = module[name];
4779
4779
  }
@@ -7023,7 +7023,7 @@ class LeafLevelList {
7023
7023
  }
7024
7024
  }
7025
7025
 
7026
- const version = "2.2.4";
7026
+ const version = "2.2.5";
7027
7027
 
7028
7028
  const debug$5 = Debug.get("LeaferCanvas");
7029
7029
 
@@ -8030,7 +8030,7 @@ class Picker {
8030
8030
  if (child.__hitWorld(point, onlyHitMask && child.mask === "path" ? true : undefined)) {
8031
8031
  const {parent: parent, mask: mask} = child;
8032
8032
  if (parent && parent.__hasMask && mask && !(mask === "clipping" || mask === "clipping-path")) {
8033
- if (!parent.children.some(item => !item.mask && item.__hitWorld(point))) return;
8033
+ if (!parent.children.some(item => !item.mask && this.isHitLeaf(item, point))) return;
8034
8034
  }
8035
8035
  const leaf = proxy || child, {hitThrough: hitThrough} = child, {findList: findList} = this;
8036
8036
  if (hitThrough) {
@@ -8040,6 +8040,15 @@ class Picker {
8040
8040
  findList.add(leaf);
8041
8041
  }
8042
8042
  }
8043
+ isHitLeaf(leaf, point) {
8044
+ if (leaf.isBranch) {
8045
+ const {findList: findList} = this, old = findList.length;
8046
+ this.eachFind([ leaf ], false);
8047
+ const count = findList.length - old;
8048
+ for (let i = 0; i < count; i++) findList.remove(findList.indexAt(findList.length - 1));
8049
+ return !!count;
8050
+ } else return leaf.__hitWorld(point);
8051
+ }
8043
8052
  clear() {
8044
8053
  this.point = null;
8045
8054
  this.findList = null;