ported game data

This commit is contained in:
2025-05-17 15:54:25 +02:00
parent 9946fd8485
commit 0b41d84ead
7 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
export interface GdEnemy {
speed: number;
}

View File

@@ -0,0 +1,12 @@
import { Hex } from "../util/Hex";
import { GdWave } from "./GdWave";
export interface GdLevel {
radius: number;
currency: number;
walls: Hex[];
enemySpawns: Hex[];
enemyTargets: Hex[];
enemyRoutes: number[][];
waves: GdWave[];
}

View File

@@ -0,0 +1,7 @@
import { EProjectileEffectType } from "./EProjectileEffectType";
export interface GdProjectileEffect {
type: EProjectileEffectType;
amount: number;
speed: number;
}

View File

@@ -0,0 +1,11 @@
import { GdEnemy } from "./GdEnemy";
import { GdLevel } from "./GdLevel";
import { GdSimulation } from "./GdSimulation";
import { GdTower } from "./GdTower";
export interface GdRoot {
enemies: GdEnemy[];
towers: GdTower[];
levels: GdLevel[];
simulation: GdSimulation;
}

View File

@@ -0,0 +1,5 @@
export interface GdSimulation {
stepsPerSecond: number;
waveDuration: number;
spawnDelay: number;
}

View File

@@ -0,0 +1,12 @@
import { GdProjectileEffect } from "./GdProjectileEffect";
export interface GdTower {
cost: number;
projectileEffect: GdProjectileEffect | null;
projectileRange: number;
projectileRate: number;
projectileSize: number;
aoeEffect: GdProjectileEffect | null;
aoeRange: number;
aoeRate: number;
}

View File

@@ -0,0 +1,9 @@
import { EEnemySize } from "./EEnemySize";
export interface GdWave {
enemy: number;
size: EEnemySize;
amount: number;
gain: number;
hitpoints: number;
}