You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

52 lines
1.5 KiB

// const serverConfig = require('../config/serverConfig.js')
const wrtColor = require('./common/wrtColor')
//Load Object Definitions and Initialize them
require('./objectDefinitions')
let { state } = require('./objectDefinitions')
// TODO: TEST FUNCTIONS
require('./testFunctions')
const { addTestPlayers, addFluxPlayers } = require('./testFunctions')
wrtColor.test('adding Test Players')
addTestPlayers(state.players)
addFluxPlayers(state)
//--- Socket Handling ---
const { socketGetPlayers } = require('./players/playerMgmtFuncs')
const { continuousEmitPlayers } = require ('./players/playerMgmtFuncs')
const { socketRegisterPlayer } = require ('./players/playerMgmtFuncs')
function socketHandler (io) {
io.on('connection', function (socket) {
//--- Connection ---
wrtColor.cyan(`socket connection established, id ${socket.id}`)
//--- Register other socket event handler functions ---
socket.on('getPlayers', () => socketGetPlayers(state,socket))
socket.on('registerPlayer', (data) => socketRegisterPlayer(io,state,data))
//......//
//--- Disconnection ---
socket.on('disconnect', (reason) => { wrtColor.yellow(`socket disconnected, ${socket.id}, ${reason}`)})
})
//--- Continuous Processes for Sockets ---
continuousEmitPlayers(state,io)
}
//--- Continuous Server Side Processes ---
const { playerCleanup } = require('./players/playerCleanup')
const { stateMonitor } = require('./stateMonitor')
playerCleanup(state)
stateMonitor(state)
module.exports = {
socketHandler: socketHandler
}