bard-legends-framework 0.0.3 → 0.0.4

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.
@@ -1,4 +1,4 @@
1
- import { Variable } from 'actions-lib';
1
+ import { Action, Variable } from 'actions-lib';
2
2
  import { Destroyable, Unsubscribable } from '../../_interfaces';
3
3
  declare module 'actions-lib' {
4
4
  interface ActionSubscription {
@@ -13,9 +13,10 @@ export declare abstract class Attachable implements Destroyable {
13
13
  private static nextAvailableIds;
14
14
  static getAttachableOrFail(parent: Attachable | string): Attachable;
15
15
  readonly id: string;
16
+ readonly onDestroy: Action<void>;
16
17
  protected destroyed: boolean;
17
18
  protected childDestroy: () => void;
18
- protected attachbaleDestroy: () => void;
19
+ protected attachableDestroy: () => void;
19
20
  private attachments;
20
21
  constructor();
21
22
  destroy(): void;
@@ -21,9 +21,11 @@ class Attachable {
21
21
  }
22
22
  constructor() {
23
23
  this.id = '';
24
+ this.onDestroy = new actions_lib_1.Action();
24
25
  this.destroyed = false;
25
26
  this.childDestroy = this.destroy.bind(this);
26
- this.attachbaleDestroy = () => {
27
+ this.attachableDestroy = () => {
28
+ this.onDestroy.trigger();
27
29
  let attachedEntities = [...this.attachments];
28
30
  attachedEntities.forEach(item => this.destroyAttachment(item));
29
31
  this.attachments = [];
@@ -36,7 +38,7 @@ class Attachable {
36
38
  update_loop_1.UpdateCycle.waitUntilDestroyPhase(() => {
37
39
  if (!this.destroyed) {
38
40
  this.destroyed = true;
39
- this.attachbaleDestroy();
41
+ this.attachableDestroy();
40
42
  this.childDestroy();
41
43
  }
42
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"attachable.js","sourceRoot":"","sources":["../../../src/game-entities/attachable/attachable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachable.js","sourceRoot":"","sources":["../../../src/game-entities/attachable/attachable.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ class Entity extends attachable_1.Attachable {
57
57
  update_loop_1.UpdateCycle.waitUntilDestroyPhase(() => {
58
58
  if (!this.destroyed) {
59
59
  this.destroyed = true;
60
- this.attachbaleDestroy();
60
+ this.attachableDestroy();
61
61
  this.entityDestroy();
62
62
  this.childDestroy();
63
63
  }
@@ -77,7 +77,7 @@ class Scene extends attachable_1.Attachable {
77
77
  update_loop_1.UpdateCycle.waitUntilDestroyPhase(() => {
78
78
  if (!this.destroyed) {
79
79
  this.destroyed = true;
80
- this.attachbaleDestroy();
80
+ this.attachableDestroy();
81
81
  this.sceneDestroy();
82
82
  this.childDestroy();
83
83
  }
@@ -57,7 +57,7 @@ class View extends attachable_1.Attachable {
57
57
  update_loop_1.UpdateCycle.waitUntilDestroyPhase(() => {
58
58
  if (!this.destroyed) {
59
59
  this.destroyed = true;
60
- this.attachbaleDestroy();
60
+ this.attachableDestroy();
61
61
  this.viewDestroy();
62
62
  this.childDestroy();
63
63
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bard-legends-framework",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Bard Legends Framework",
5
5
  "main": "dist/index.js",
6
6
  "repository": {