import { userData } from "./Classes/userData";
import { lobbyMessage } from "./Classes/lobbyMessage";
import { lobbyState } from "./Classes/lobbyState";
import { playerData } from "./Classes/playerData";
import { persistentItemData } from "./Classes/itemData";
import { levelState } from "./Classes/levelState";
const fs = require('fs');

export class game{
    static socketIO : any

    static itemCount : number = 0
    static accountsDB : userData[] = []
    static playersDB : playerData[] = []
    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('lobby/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
    }
}