2024-02-29 20:08:50 -05:00
|
|
|
import { Arena } from "../field/arena";
|
2023-04-28 15:03:42 -04:00
|
|
|
import { ArenaTag } from "../data/arena-tag";
|
2024-06-13 18:44:23 -04:00
|
|
|
import { Biome } from "#enums/biome";
|
2023-04-28 15:03:42 -04:00
|
|
|
import { Weather } from "../data/weather";
|
2024-09-07 21:37:37 -07:00
|
|
|
import { Terrain } from "#app/data/terrain";
|
2023-04-28 15:03:42 -04:00
|
|
|
|
|
|
|
export default class ArenaData {
|
|
|
|
public biome: Biome;
|
2024-08-07 09:23:12 -07:00
|
|
|
public weather: Weather | null;
|
|
|
|
public terrain: Terrain | null;
|
2023-04-28 15:03:42 -04:00
|
|
|
public tags: ArenaTag[];
|
|
|
|
|
|
|
|
constructor(source: Arena | any) {
|
|
|
|
const sourceArena = source instanceof Arena ? source as Arena : null;
|
|
|
|
this.biome = sourceArena ? sourceArena.biomeType : source.biome;
|
2024-08-07 09:23:12 -07:00
|
|
|
this.weather = sourceArena ? sourceArena.weather : source.weather ? new Weather(source.weather.weatherType, source.weather.turnsLeft) : null;
|
|
|
|
this.terrain = sourceArena ? sourceArena.terrain : source.terrain ? new Terrain(source.terrain.terrainType, source.terrain.turnsLeft) : null;
|
2023-04-28 15:03:42 -04:00
|
|
|
this.tags = sourceArena ? sourceArena.tags : [];
|
|
|
|
}
|
2024-05-23 17:03:10 +02:00
|
|
|
}
|