123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const log$7 = new Logger("xverse-effect-manager")
- class XverseEffectManager extends EventEmitter {
- constructor(e) {
- super();
- E(this, "effects", new Map);
- E(this, "room");
- this.room = e
- }
- async addEffect(e) {
- var o;
- const {jsonPath: t, id: r, type: n=IEffectType.SubSequence} = e;
- try {
- this.effects.get(r) && ((o = this.effects.get(r)) == null || o.dispose());
- const a = new Ae.subEffect({
- id: r,
- jsonPath: t,
- type: n,
- room: this.room
- });
- return this.effects.set(r, a),
- await a.init(),
- a
- } catch (a) {
- return this.effects.delete(r),
- log$7.error(a),
- Promise.reject(a)
- }
- }
- clearEffects() {
- this.effects.forEach(e=>{
- e.dispose(),
- this.effects.delete(e.id)
- }
- )
- }
- removeEffect(e) {
- const t = this.effects.get(e);
- t == null || t.dispose(),
- t && this.effects.delete(t.id)
- }
- }
- ;
|