You've already forked KF-MMO-Server
further refactor
This commit is contained in:
20
Classes/Outgoing/accountResponses.ts
Normal file
20
Classes/Outgoing/accountResponses.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
Classes/Outgoing/characterDataPartial.ts
Normal file
40
Classes/Outgoing/characterDataPartial.ts
Normal 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
|
||||
}
|
||||
}
|
||||
17
Classes/Outgoing/enemyDataPartial.ts
Normal file
17
Classes/Outgoing/enemyDataPartial.ts
Normal 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
|
||||
}
|
||||
}
|
||||
63
Classes/Outgoing/levelStatePartial.ts
Normal file
63
Classes/Outgoing/levelStatePartial.ts
Normal 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
|
||||
}
|
||||
}
|
||||
16
Classes/Outgoing/lobbyStatePartial.ts
Normal file
16
Classes/Outgoing/lobbyStatePartial.ts
Normal 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
|
||||
}
|
||||
}
|
||||
28
Classes/Outgoing/propDataPartial.ts
Normal file
28
Classes/Outgoing/propDataPartial.ts
Normal 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
|
||||
}
|
||||
}
|
||||
8
Classes/Outgoing/roomChangeResponse.ts
Normal file
8
Classes/Outgoing/roomChangeResponse.ts
Normal 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
|
||||
}
|
||||
10
Classes/Outgoing/userDataPartial.ts
Normal file
10
Classes/Outgoing/userDataPartial.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { userData } from "../userData.js";
|
||||
|
||||
export class userDataSafe{
|
||||
id: number;
|
||||
login: string;
|
||||
|
||||
constructor(data : userData){
|
||||
Object.assign(this, data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user