From 1ec5a8d088f599d094f387abc6014f228607b605 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sat, 2 Mar 2024 01:07:55 -0700 Subject: add interactable component --- src/engine/components/ComponentNames.ts | 2 ++ src/engine/components/Highlight.ts | 7 +++++++ src/engine/components/Interactable.ts | 15 +++++++++++++++ src/engine/components/index.ts | 2 ++ 4 files changed, 26 insertions(+) create mode 100644 src/engine/components/Highlight.ts create mode 100644 src/engine/components/Interactable.ts (limited to 'src/engine/components') 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"; -- cgit v1.2.3-70-g09d2