phaser4-rex-plugins
Version:
39 lines (32 loc) • 1.18 kB
JavaScript
import Extend from './Extend.js';
const Base = Phaser.Data.DataManager;
const EventEmitterClass = Phaser.Events.EventEmitter;
const IsPlainObject = Phaser.Utils.Objects.IsPlainObject;
class DataManager extends Base {
constructor(parent, eventEmitter, config) {
if (IsPlainObject(parent)) {
config = parent;
parent = undefined;
eventEmitter = undefined;
} else if (IsPlainObject(eventEmitter)) {
config = eventEmitter;
eventEmitter = undefined;
}
var useDefaultEventEmitter = (eventEmitter === undefined);
if (useDefaultEventEmitter) {
eventEmitter = new EventEmitterClass();
}
if (parent === undefined) {
parent = eventEmitter;
}
super(parent, eventEmitter);
if (useDefaultEventEmitter) {
var parentEventEmitter = (parent.events) ? parent.events : parent;
if (parentEventEmitter) {
parentEventEmitter.once('destroy', this.destroy, this);
}
}
Extend(this, config);
}
}
export default DataManager;