summaryrefslogtreecommitdiff
path: root/src/engine/entities
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/entities')
-rw-r--r--src/engine/entities/FunctionBox.ts19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/engine/entities/FunctionBox.ts b/src/engine/entities/FunctionBox.ts
index 393514e..57eeedb 100644
--- a/src/engine/entities/FunctionBox.ts
+++ b/src/engine/entities/FunctionBox.ts
@@ -8,6 +8,7 @@ import {
Sprite,
} from "../components";
import { Coord2D } from "../interfaces";
+import { openModal, closeModal } from "../utils";
export class FunctionBox extends Entity {
private static spriteSpec: SpriteSpec = SPRITE_SPECS.get(
@@ -52,15 +53,23 @@ export class FunctionBox extends Entity {
this.hooks.set(ComponentNames.Highlight, {
add: () => {
- this.addComponent(new Interactable(() => this.viewInsides()));
+ let modalOpen = false;
+ const interaction = () => {
+ if (modalOpen) {
+ modalOpen = false;
+ closeModal();
+ return;
+ }
+ modalOpen = true;
+ openModal(this.code);
+ };
+
+ this.addComponent(new Interactable(interaction));
},
remove: () => {
+ closeModal();
this.removeComponent(ComponentNames.Interactable);
},
});
}
-
- public viewInsides() {
- console.log("I am a function box!");
- }
}