summaryrefslogtreecommitdiff
path: root/src/engine/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/components')
-rw-r--r--src/engine/components/Colliding.ts13
-rw-r--r--src/engine/components/ComponentNames.ts1
-rw-r--r--src/engine/components/RadialObserver.ts13
-rw-r--r--src/engine/components/index.ts1
4 files changed, 28 insertions, 0 deletions
diff --git a/src/engine/components/Colliding.ts b/src/engine/components/Colliding.ts
new file mode 100644
index 0000000..fe782df
--- /dev/null
+++ b/src/engine/components/Colliding.ts
@@ -0,0 +1,13 @@
+import { Component, ComponentNames } from ".";
+import { Game } from "..";
+import { Entity } from "../entities";
+
+export class Colliding extends Component {
+ public onCollision?: (game: Game, entity: Entity) => void;
+
+ constructor(onCollision?: (game: Game, entity: Entity) => void) {
+ super(ComponentNames.Colliding);
+
+ this.onCollision = onCollision;
+ }
+}
diff --git a/src/engine/components/ComponentNames.ts b/src/engine/components/ComponentNames.ts
index fdf1a18..aec14c5 100644
--- a/src/engine/components/ComponentNames.ts
+++ b/src/engine/components/ComponentNames.ts
@@ -7,6 +7,7 @@ export namespace ComponentNames {
export const Highlight = "Highlight";
export const Interactable = "Interactable";
export const Pushable = "Pushable";
+ export const Colliding = "Colliding";
export const RadialObserve = "RadialObserve";
export const GridSpawn = "GridSpawn";
export const Text = "Text";
diff --git a/src/engine/components/RadialObserver.ts b/src/engine/components/RadialObserver.ts
new file mode 100644
index 0000000..627c4ff
--- /dev/null
+++ b/src/engine/components/RadialObserver.ts
@@ -0,0 +1,13 @@
+import { Component, ComponentNames } from ".";
+import { Game } from "..";
+import { Entity } from "../entities";
+
+export class Colliding extends Component {
+ public onCollision?: (game: Game, entity: Entity) => void;
+
+ constructor(onCollision?: (game: Game, entity: Entity) => void) {
+ super(ComponentNames.RadialObserve);
+
+ this.onCollision = onCollision;
+ }
+}
diff --git a/src/engine/components/index.ts b/src/engine/components/index.ts
index d3b2fd0..0e5f85c 100644
--- a/src/engine/components/index.ts
+++ b/src/engine/components/index.ts
@@ -8,6 +8,7 @@ export * from "./Control";
export * from "./Highlight";
export * from "./Interactable";
export * from "./Pushable";
+export * from "./RadialObserve";
export * from "./Colliding";
export * from "./GridSpawn";
export * from "./Text";