Skip to content

Commit ee2aa3d

Browse files
committed
tile event manager: add remove_from_field
1 parent f3bfd94 commit ee2aa3d

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

base/game_events/GameEventManager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,8 @@ export class GameEventManager {
579579
info.io_label,
580580
info.activate_at,
581581
info.pos,
582-
info.collision_layers
582+
info.collision_layers,
583+
info.remove_from_field
583584
);
584585
case event_types.DESTROYER:
585586
return new DestroyerEvent(

base/game_events/TileEventManageEvent.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export class TileEventManageEvent extends GameEvent {
88
private activate_at: {[direction: string]: boolean};
99
private pos: {x: number; y: number};
1010
private collision_layers: number[];
11+
private remove_from_field: boolean;
1112

1213
constructor(
1314
game,
@@ -19,20 +20,22 @@ export class TileEventManageEvent extends GameEvent {
1920
io_label,
2021
activate_at,
2122
pos,
22-
collision_layers
23+
collision_layers,
24+
remove_from_field
2325
) {
2426
super(game, data, event_types.TILE_EVENT_MANAGE, active, key_name, keep_reveal);
2527
this.tile_event_key = tile_event_key;
2628
this.io_label = io_label;
2729
this.activate_at = activate_at;
30+
this.remove_from_field = remove_from_field;
2831
this.pos = pos;
2932
if (collision_layers !== undefined) {
3033
this.collision_layers = Array.isArray(collision_layers) ? collision_layers : [collision_layers];
3134
}
3235
}
3336

3437
_fire() {
35-
let events = [];
38+
let events: TileEvent[] = [];
3639
if (this.tile_event_key) {
3740
const event = TileEvent.get_labeled_event(this.tile_event_key);
3841
if (event) {
@@ -87,6 +90,10 @@ export class TileEventManageEvent extends GameEvent {
8790
if (this.pos) {
8891
event.set_position(this.pos.x, this.pos.y, true);
8992
}
93+
94+
if (this.remove_from_field) {
95+
this.data.map.remove_event(event.location_key, event.id);
96+
}
9097
}
9198
}
9299

0 commit comments

Comments
 (0)