improved adherence to types

This commit is contained in:
2025-07-13 20:28:27 +02:00
parent 473c807461
commit 0a40a8ce5d
14 changed files with 114 additions and 38 deletions

View File

@@ -1,7 +1,10 @@
import { levelState } from "../levelState.js";
import { characterData } from "../characterData.js";
import { Type } from "class-transformer";
export class levelUpdateHost{
@Type(() => characterData)
player : characterData
@Type(() => levelState)
room : levelState
}

View File

@@ -1,18 +1,24 @@
import { characterData } from "../characterData.js";
import { userData } from "../userData.js";
export enum loginResult{
success,
fail,
accountExists
}
export class loginResponse{
result : boolean
result : loginResult
userData : userData
playerData : characterData
constructor(user : userData, player : characterData){
constructor(result: loginResult, user : userData, player : characterData){
if (!user || !player){
this.result = false;
this.result = result;
this.userData = this.playerData = null;
}
else{
this.result = true;
this.result = result;
this.userData = user.makeSafe();
this.playerData = player;
}

View File

@@ -2,6 +2,7 @@ import { enemyData } from "./enemyData.js";
import { characterData } from "./characterData.js";
import { propData } from "./propData.js";
import { levelStateStart, levelStateState as levelStateInfo, levelStateUpdate } from "./Outgoing/levelStatePartial.js";
import { Type } from "class-transformer";
export class levelState{
id : string
@@ -9,8 +10,11 @@ export class levelState{
hostId : number = -1
completed : boolean = false
isDungeon : boolean = false
@Type(() => enemyData)
enemies : enemyData[] = []
@Type(() => propData)
objects : propData[] = []
@Type(() => characterData)
players : characterData[] = []
getRandomInt(max) {
@@ -61,7 +65,7 @@ export class levelState{
removePlayer(player : characterData) : boolean{
this.players = this.players.filter(p=> p !== player)
if(this.hostId == player.id){
if(this.players.length > 0){
this.hostId = this.players[0].id