summaryrefslogtreecommitdiff
path: root/src/engine/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/components')
-rw-r--r--src/engine/components/ComponentNames.ts2
-rw-r--r--src/engine/components/Highlight.ts7
-rw-r--r--src/engine/components/Interactable.ts15
-rw-r--r--src/engine/components/index.ts2
4 files changed, 26 insertions, 0 deletions
diff --git a/src/engine/components/ComponentNames.ts b/src/engine/components/ComponentNames.ts
index 032d08a..da6c37a 100644
--- a/src/engine/components/ComponentNames.ts
+++ b/src/engine/components/ComponentNames.ts
@@ -4,4 +4,6 @@ export namespace ComponentNames {
export const Grid = "Grid";
export const BoundingBox = "BoundingBox";
export const Control = "Control";
+ export const Highlight = "Highlight";
+ export const Interactable = "Interactable";
}
diff --git a/src/engine/components/Highlight.ts b/src/engine/components/Highlight.ts
new file mode 100644
index 0000000..49d9f96
--- /dev/null
+++ b/src/engine/components/Highlight.ts
@@ -0,0 +1,7 @@
+import { Component, ComponentNames } from ".";
+
+export class Highlight extends Component {
+ constructor() {
+ super(ComponentNames.Highlight);
+ }
+}
diff --git a/src/engine/components/Interactable.ts b/src/engine/components/Interactable.ts
new file mode 100644
index 0000000..2937596
--- /dev/null
+++ b/src/engine/components/Interactable.ts
@@ -0,0 +1,15 @@
+import { Component, ComponentNames } from ".";
+
+export class Interactable extends Component {
+ private interaction: Function;
+
+ constructor(interaction: Function) {
+ super(ComponentNames.Interactable);
+
+ this.interaction = interaction;
+ }
+
+ public interact() {
+ this.interaction();
+ }
+}
diff --git a/src/engine/components/index.ts b/src/engine/components/index.ts
index e9f8de9..c470eff 100644
--- a/src/engine/components/index.ts
+++ b/src/engine/components/index.ts
@@ -5,3 +5,5 @@ export * from "./FacingDirection";
export * from "./Grid";
export * from "./BoundingBox";
export * from "./Control";
+export * from "./Highlight";
+export * from "./Interactable";