64 lines
1.9 KiB
TypeScript
64 lines
1.9 KiB
TypeScript
import { enemyData } from "../enemyData.js"
|
|
import { levelState } from "../levelState.js"
|
|
import { propData } from "../propData.js"
|
|
import { characterDataStart, characterDataUpdate } from "./characterDataPartial.js"
|
|
import { enemyDataUpdate } from "./enemyDataPartial.js"
|
|
import { propDataStart, propDataUpdate } from "./propDataPartial.js"
|
|
|
|
export class levelStateStart{
|
|
id : string
|
|
seed : number = -1
|
|
hostId : number = -1
|
|
completed : boolean = false
|
|
isDungeon : boolean = false
|
|
enemies : enemyDataUpdate[] = []
|
|
objects : propDataStart[] = []
|
|
players : characterDataStart[] = []
|
|
|
|
constructor(data : levelState){
|
|
this.id = data.id
|
|
this.seed = data.seed
|
|
this.hostId = data.hostId
|
|
this.completed = data.completed
|
|
this.isDungeon = data.isDungeon
|
|
this.enemies = data.enemies.map(e => e.copyStart())
|
|
this.objects = data.objects.map(e => e.copyStart())
|
|
this.players = data.players.map(pl=> pl.copyStart())
|
|
}
|
|
}
|
|
|
|
export class levelStateUpdate{
|
|
id : string
|
|
seed : number = -1
|
|
hostId : number = -1
|
|
completed : boolean = false
|
|
isDungeon : boolean = false
|
|
enemies : enemyDataUpdate[] = []
|
|
objects : propDataUpdate[] = []
|
|
players : characterDataUpdate[] = []
|
|
|
|
constructor(data : levelState){
|
|
this.id = data.id
|
|
this.seed = data.seed
|
|
this.hostId = data.hostId
|
|
this.completed = data.completed
|
|
this.enemies = data.enemies.map(e => e.copyUpdate())
|
|
this.objects = data.objects.map(e => e.copyUpdate())
|
|
this.players = data.players.map(pl=> pl.copyUpdate())
|
|
}
|
|
}
|
|
|
|
export class levelStateState{
|
|
id : string
|
|
seed : number = -1
|
|
hostId : number = -1
|
|
completed : boolean = false
|
|
|
|
constructor(data : levelState){
|
|
this.id = data.id
|
|
this.seed = data.seed
|
|
this.hostId = data.hostId
|
|
this.completed = data.completed
|
|
}
|
|
}
|