further refactor

This commit is contained in:
2025-07-12 02:19:48 +02:00
parent 05e254cfcd
commit 473c807461
46 changed files with 637 additions and 475 deletions

View File

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

View File

@@ -0,0 +1,40 @@
import { characterData } from "../characterData.js"
import { enemyDamageInfo } from "../enemyDamageInfo.js"
import { physicsObject } from "../physicsObject.js"
import { playerInventory } from "../playerInventory.js"
export class characterDataStart{
id : number
characterId : number
rigidbody : physicsObject = new physicsObject()
constructor(data : characterData){
this.id = data.id
this.characterId = data.characterId
this.rigidbody = physicsObject.characterOnly(data.rigidbody)
}
}
export class characterDataUpdate{
id : number
rigidbody : physicsObject = new physicsObject()
damageInfo : enemyDamageInfo[] = []
constructor(data : characterData){
this.id = data.id
this.rigidbody = physicsObject.characterOnly(data.rigidbody)
if(data.damageInfo.length > 0){
this.damageInfo = data.damageInfo
}
}
}
export class characterDataInventory{
id : number
inventory : playerInventory = new playerInventory()
constructor(data : characterData){
this.id = data.id
this.inventory = data.inventory
}
}

View File

@@ -0,0 +1,17 @@
import { enemyData } from "../enemyData.js";
import { Stat } from "../itemData.js";
import { physicsObject } from "../physicsObject.js";
export class enemyDataUpdate{
id : number
templateId : number
rigidbody : physicsObject
stats : Stat[] = []
constructor(data : enemyData){
this.id = data.id
this.templateId = data.templateId
this.rigidbody = physicsObject.characterOnly(data.rigidbody)
this.stats = data.stats
}
}

View File

@@ -0,0 +1,63 @@
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
}
}

View File

@@ -0,0 +1,16 @@
import { dungeonData } from "../dungeonData.js";
import { levelState } from "../levelState.js";
import { lobbyState } from "../lobbyState.js";
import { characterDataUpdate } from "./characterDataPartial.js";
export class lobbyStateLight{
activeUsers : characterDataUpdate[] = []
rooms : levelState[] = []
dungeons : dungeonData[] = []
constructor(data : lobbyState){
this.activeUsers = data.activeUsers.map(u=>u.character.copyUpdate())
this.rooms = data.rooms
this.dungeons = data.dungeons
}
}

View File

@@ -0,0 +1,28 @@
import { physicsObject } from "../physicsObject.js"
import { propData } from "../propData.js"
export class propDataStart{
id : number
templateId : number
rigidbody : physicsObject
components : any
constructor(data : propData) {
this.id = data.id
this.templateId = data.templateId
this.rigidbody = physicsObject.copyStart(data.rigidbody)
this.components = data.components
}
}
export class propDataUpdate{
id : number
rigidbody : physicsObject
components : any
constructor(data : propData) {
this.id = data.id
this.rigidbody = physicsObject.copyUpdate(data.rigidbody)
this.components = data.components
}
}

View File

@@ -0,0 +1,8 @@
import { characterDataUpdate } from "./characterDataPartial.js"
import { levelStateStart, levelStateState } from "./levelStatePartial.js"
export class roomChangeResponse{
player : characterDataUpdate
newRoom : levelStateStart
previousRoom : levelStateState
}

View File

@@ -0,0 +1,10 @@
import { userData } from "../userData.js";
export class userDataSafe{
id: number;
login: string;
constructor(data : userData){
Object.assign(this, data);
}
}