enemy damage sync

This commit is contained in:
2023-09-20 20:17:18 +02:00
parent 0beec15332
commit 142ec1dd05
9 changed files with 121 additions and 17 deletions

View File

@@ -0,0 +1,5 @@
export class enemyDamageInfo{
sourceId : number
targetId : number
damage : number
}

9
Classes/enemyData.ts Normal file
View File

@@ -0,0 +1,9 @@
import { Stat } from "./itemData"
import { physicsObject } from "./physicsObject"
export class enemyData{
id : number
templateId : number
rigidbody : physicsObject
stats : Stat[] = []
}

11
Classes/levelState.ts Normal file
View File

@@ -0,0 +1,11 @@
import { enemyData } from "./enemyData";
import { physicsObject } from "./physicsObject";
import { playerData } from "./playerData";
import { userData } from "./userData";
export class levelState{
id : string
hostId : number = -1
enemies : enemyData[] = [];
objects : physicsObject[] = [];
}

View File

@@ -1,12 +1,12 @@
import { physicsObject } from "../Classes/physicsObject";
import { playerData } from "../Classes/playerData";
import { levelState } from "./levelState";
import { userData } from "./userData";
export class lobbyState{
hostId : number
users : userData[] = [];
players : playerData[] = [];
objects : physicsObject[] = [];
rooms : levelState[] = []
copyLight(){
let lobby = Object.assign({}, this);
@@ -15,6 +15,7 @@ export class lobbyState{
for (let i = 0; i < this.players.length; i++) {
lobby.players.push(this.players[i].copyLight());
}
lobby.rooms = this.rooms
return lobby
}

View File

@@ -1,17 +1,23 @@
import { game } from "../game";
import { enemyDamageInfo } from "./enemyDamageInfo";
import { physicsObject } from "./physicsObject";
import { playerInventory } from "./playerInventory";
export class playerData{
id : number
level : number = 1
room : string = "0_0"
characterId : number
inventory : playerInventory = new playerInventory()
rigidbody : physicsObject = new physicsObject()
damageInfo : enemyDamageInfo[] = []
copyLight(){
let player : any = {}
player.id = this.id
player.room = this.room
player.rigidbody = this.rigidbody
player.damageInfo = this.damageInfo
return player
}