KF-MMO-Server/Classes/Outgoing/levelStatePartial.ts

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
}
}