KF-MMO-Server/game.ts

34 lines
1017 B
TypeScript

import { lobbyMessage } from "./Classes/lobbyMessage.js";
import { lobbyState } from "./Classes/lobbyState.js";
import { persistentItemData } from "./Classes/itemData.js";
import { Socket } from 'socket.io';
import { Endpoints } from "./endpoints.js";
export class game{
static socketIO : any
static itemCount : number = 0
static itemsDB : persistentItemData[] = []
static lobbyState : lobbyState = new lobbyState()
/** Max items: 28 */
static messages : lobbyMessage[] = [];
static addMessage(message:lobbyMessage) {
while(game.messages.length >= 20){
game.messages.pop();
}
game.messages.unshift(message)
game.socketIO.emit(Endpoints.Messages, JSON.stringify(game.messages))
}
static getItemTemplate(templateId){
let item = this.itemsDB.find(i=>i.id == templateId)
if (item == null){
console.log("Error, item " + templateId + " not found")
return null
}
return item
}
}