diff --git a/bun.lock b/bun.lock
index 85753d02d..b320bb3a6 100644
--- a/bun.lock
+++ b/bun.lock
@@ -84,6 +84,12 @@
"yaml": "^2.8.1",
},
},
+ "packages/game": {
+ "name": "@blitzkit/game",
+ "dependencies": {
+ "node-api-dotnet": "^0.9.19",
+ },
+ },
"packages/i18n": {
"name": "@blitzkit/i18n",
"dependencies": {
@@ -186,6 +192,7 @@
"@astrolib/seo": "^1.0.0-beta.8",
"@blitzkit/closed": "workspace:*",
"@blitzkit/core": "workspace:*",
+ "@blitzkit/game": "workspace:*",
"@blitzkit/i18n": "workspace:*",
"@bufbuild/protobuf": "^2.10.2",
"@fontsource-variable/roboto-flex": "^5.2.8",
@@ -445,6 +452,8 @@
"@blitzkit/core": ["@blitzkit/core@workspace:packages/core"],
+ "@blitzkit/game": ["@blitzkit/game@workspace:packages/game"],
+
"@blitzkit/i18n": ["@blitzkit/i18n@workspace:packages/i18n"],
"@blitzkit/scripts": ["@blitzkit/scripts@workspace:packages/scripts"],
@@ -2111,6 +2120,8 @@
"nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="],
+ "node-api-dotnet": ["node-api-dotnet@0.9.19", "", {}, "sha512-7y+mPsIfebm8ftc+ZdQtC/05KT5IRK4N4Kdkb+VPpW7fLJsGupIiTOCCDZ3H4tKNPVvifNzFCbv0lak/JCKh+w=="],
+
"node-bignumber": ["node-bignumber@1.2.2", "", {}, "sha512-VoTZHmdFQpZH1+q1dz2qcHNCwTWsJg2T3PYwlAyDNFOfVhSYUKQBLFcCpCud+wJBGgCttGavZILaIggDIKqEQQ=="],
"node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="],
diff --git a/packages/game/Class1.cs b/packages/game/Class1.cs
index cfc81c030..ce3ab474b 100644
--- a/packages/game/Class1.cs
+++ b/packages/game/Class1.cs
@@ -1,3 +1,12 @@
-namespace Game;
+using Microsoft.JavaScript.NodeApi;
-public class Class1 { }
+namespace Game;
+
+[JSExport]
+public class Class1
+{
+ public static void Test()
+ {
+ Console.WriteLine("lmao");
+ }
+}
diff --git a/packages/game/game.csproj b/packages/game/game.csproj
index bf9d3be59..e88288269 100644
--- a/packages/game/game.csproj
+++ b/packages/game/game.csproj
@@ -3,5 +3,11 @@
net9.0
enable
enable
+ esm
+ true
+
+
+
+
diff --git a/packages/game/package.json b/packages/game/package.json
new file mode 100644
index 000000000..30d9083fc
--- /dev/null
+++ b/packages/game/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "@blitzkit/game",
+ "private": true,
+ "type": "module",
+ "main": "src/index.ts",
+ "dependencies": {
+ "node-api-dotnet": "^0.9.19"
+ }
+}
diff --git a/packages/game/src/index.ts b/packages/game/src/index.ts
new file mode 100644
index 000000000..d80de3129
--- /dev/null
+++ b/packages/game/src/index.ts
@@ -0,0 +1,3 @@
+console.log("that's crazy yo");
+
+export * from "../bin/Debug/net9.0/game";
diff --git a/packages/website-ue/package.json b/packages/website-ue/package.json
index a9cfc41c8..f102c82ed 100644
--- a/packages/website-ue/package.json
+++ b/packages/website-ue/package.json
@@ -16,6 +16,7 @@
"@blitzkit/closed": "workspace:*",
"@blitzkit/core": "workspace:*",
"@blitzkit/i18n": "workspace:*",
+ "@blitzkit/game": "workspace:*",
"@bufbuild/protobuf": "^2.10.2",
"@fontsource-variable/roboto-flex": "^5.2.8",
"@fontsource-variable/roboto-mono": "^5.2.8",
diff --git a/packages/website-ue/src/pages/[...locale]/_index.astro b/packages/website-ue/src/pages/[...locale]/_index.astro
deleted file mode 100644
index 2b2f88117..000000000
--- a/packages/website-ue/src/pages/[...locale]/_index.astro
+++ /dev/null
@@ -1,34 +0,0 @@
----
-import locales from "@blitzkit/i18n/locales.json";
-import "@radix-ui/colors/amber-dark.css";
-import type { GetStaticPaths } from "astro";
-import ColorScale from "../../components/ColorScale.astro";
-import HomeHero from "../../components/HomeHero.astro";
-import { Section } from "../../components/Section";
-import ToolCard from "../../components/ToolCard.astro";
-import { tools } from "../../core/tools/tools";
-import BaseLayout from "../../layouts/BaseLayout.astro";
-
-export const getStaticPaths = (() => {
- return [
- ...locales.supported
- .filter(({ locale }) => locale !== locales.default)
- .map(({ locale }) => ({ params: { locale }, props: { locale } })),
- { params: { locale: undefined }, props: { locale: locales.default } },
- ];
-}) satisfies GetStaticPaths;
-
-const { locale } = Astro.props;
----
-
-
-
-
-
-
-
-
-
- {Object.values(tools).map((tool) => )}
-
-
diff --git a/packages/website-ue/src/pages/[...locale]/index.astro b/packages/website-ue/src/pages/[...locale]/index.astro
index e52bea223..c80e1a4f9 100644
--- a/packages/website-ue/src/pages/[...locale]/index.astro
+++ b/packages/website-ue/src/pages/[...locale]/index.astro
@@ -1,4 +1,5 @@
---
+import { Class1 } from "@blitzkit/game";
import locales from "@blitzkit/i18n/locales.json";
import type { GetStaticPaths } from "astro";
import ColorScale from "../../components/ColorScale.astro";
@@ -17,6 +18,8 @@ export const getStaticPaths = (() => {
];
}) satisfies GetStaticPaths;
+Class1.test();
+
const { locale } = Astro.props;
---