refactored into a node module
This commit is contained in:
parent
a2ec6f700b
commit
05e254cfcd
|
@ -1,6 +1,6 @@
|
|||
import { loginResponse } from "../Classes/loginResponse";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { userData } from "../Classes/userData";
|
||||
import { loginResponse } from "../Classes/loginResponse.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { userData } from "../Classes/userData.js";
|
||||
|
||||
export function emitLogin(socket, user : userData | null, player:playerData, registered:boolean = false){
|
||||
if(user != null){
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { userData } from "../Classes/userData";
|
||||
import { players } from "../Player/players";
|
||||
import { emitLogin } from "./_emitLogin";
|
||||
import { users } from "./users";
|
||||
import { userData } from "../Classes/userData.js";
|
||||
import { players } from "../Player/players.js";
|
||||
import { emitLogin } from "./_emitLogin.js";
|
||||
import { users } from "./users.js";
|
||||
|
||||
export function login(socket, data){
|
||||
let buff = Buffer.from(data, 'base64');
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { userData } from "../Classes/userData";
|
||||
import { players } from "../Player/players";
|
||||
import { emitLogin } from "./_emitLogin";
|
||||
import { users } from "./users";
|
||||
import { userData } from "../Classes/userData.js";
|
||||
import { players } from "../Player/players.js";
|
||||
import { emitLogin } from "./_emitLogin.js";
|
||||
import { users } from "./users.js";
|
||||
|
||||
export function register(socket, data){
|
||||
let buff = Buffer.from(data, 'base64');
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { register } from "./_register";
|
||||
import { login } from "./_login";
|
||||
import { register } from "./_register.js";
|
||||
import { login } from "./_login.js";
|
||||
|
||||
export function registerAccountCallbacks(socket){
|
||||
socket.on('account/register', (data) => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { game } from "../game";
|
||||
import { userData } from "../Classes/userData";
|
||||
import { game } from "../game.js";
|
||||
import { userData } from "../Classes/userData.js";
|
||||
|
||||
export class users{
|
||||
static createUser(login, password){
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { itemData } from "../itemData"
|
||||
import { itemData } from "../itemData.js"
|
||||
|
||||
export class inventoryChange{
|
||||
operation : number
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { levelState } from "../levelState"
|
||||
import { levelState } from "../levelState.js"
|
||||
|
||||
export class levelEnter{
|
||||
previousRoom : levelState
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { playerData } from "../playerData";
|
||||
import { playerData } from "../playerData.js";
|
||||
|
||||
export class levelUpdateClient{
|
||||
player : playerData
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { levelState } from "../levelState";
|
||||
import { playerData } from "../playerData";
|
||||
import { levelState } from "../levelState.js";
|
||||
import { playerData } from "../playerData.js";
|
||||
|
||||
export class levelUpdateHost{
|
||||
player : playerData
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { playerData } from "../playerData";
|
||||
import { playerData } from "../playerData.js";
|
||||
|
||||
export class lobbyJoin{
|
||||
player : playerData
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { game } from "../game"
|
||||
import { levelState } from "./levelState"
|
||||
import { game } from "../game.js"
|
||||
import { levelState } from "./levelState.js"
|
||||
|
||||
export class dungeonData{
|
||||
entranceId : string
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Stat } from "./itemData"
|
||||
import { physicsObject } from "./physicsObject"
|
||||
import { Stat } from "./itemData.js"
|
||||
import { physicsObject } from "./physicsObject.js"
|
||||
|
||||
export class enemyData{
|
||||
id : number
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { game } from "../game"
|
||||
import { inventoryChange } from "./Incoming/inventoryChange"
|
||||
import { game } from "../game.js"
|
||||
import { inventoryChange } from "./Incoming/inventoryChange.js"
|
||||
|
||||
export class itemData{
|
||||
name : string
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { itemData } from "./itemData"
|
||||
import { itemData } from "./itemData.js"
|
||||
|
||||
export class itemGenerated{
|
||||
instanceId: number
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { itemData } from "./itemData"
|
||||
import { itemData } from "./itemData.js"
|
||||
|
||||
export class itemPickup{
|
||||
instanceId: number
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { enemyData } from "./enemyData";
|
||||
import { playerData } from "./playerData";
|
||||
import { propData } from "./propData";
|
||||
import { enemyData } from "./enemyData.js";
|
||||
import { playerData } from "./playerData.js";
|
||||
import { propData } from "./propData.js";
|
||||
|
||||
export class levelState{
|
||||
id : string
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { playerData } from "../Classes/playerData";
|
||||
import { dungeonData } from "./dungeonData";
|
||||
import { levelState } from "./levelState";
|
||||
import { userData } from "./userData";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { dungeonData } from "./dungeonData.js";
|
||||
import { levelState } from "./levelState.js";
|
||||
import { userData } from "./userData.js";
|
||||
|
||||
export class lobbyState{
|
||||
users : userData[] = [];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { playerData } from "./playerData"
|
||||
import { userData } from "./userData"
|
||||
import { playerData } from "./playerData.js"
|
||||
import { userData } from "./userData.js"
|
||||
|
||||
export class loginResponse{
|
||||
result : boolean
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { enemyDamageInfo } from "./enemyDamageInfo";
|
||||
import { physicsObject } from "./physicsObject";
|
||||
import { playerInventory } from "./playerInventory";
|
||||
import { questBook } from "./questBook";
|
||||
import { enemyDamageInfo } from "./enemyDamageInfo.js";
|
||||
import { physicsObject } from "./physicsObject.js";
|
||||
import { playerInventory } from "./playerInventory.js";
|
||||
import { questBook } from "./questBook.js";
|
||||
|
||||
export class playerData{
|
||||
id : number
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { itemData } from "./itemData";
|
||||
import { itemData } from "./itemData.js";
|
||||
|
||||
export class playerInventory{
|
||||
weapon : number = -1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { physicsObject } from "./physicsObject"
|
||||
import { physicsObject } from "./physicsObject.js"
|
||||
|
||||
export class propData{
|
||||
id : number
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { questProgressData } from "./questProgressData";
|
||||
import { questProgressData } from "./questProgressData.js";
|
||||
|
||||
export class questBook{
|
||||
quests = {}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { levelState } from "./levelState"
|
||||
import { playerData } from "./playerData"
|
||||
import { levelState } from "./levelState.js"
|
||||
import { playerData } from "./playerData.js"
|
||||
|
||||
export class roomChangeResponse{
|
||||
player : playerData
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import Database from 'better-sqlite3';
|
||||
import { open } from 'sqlite'
|
||||
|
||||
// this is a top-level await
|
||||
(async () => {
|
||||
// open the database
|
||||
const db = await open({
|
||||
filename: '/tmp/database.db',
|
||||
driver: Database
|
||||
})
|
||||
})()
|
|
@ -1,6 +1,6 @@
|
|||
import { inventoryChange } from "../Classes/Incoming/inventoryChange";
|
||||
import { itemData } from "../Classes/itemData";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { inventoryChange } from "../Classes/Incoming/inventoryChange.js";
|
||||
import { itemData } from "../Classes/itemData.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
|
||||
export function updateInventory(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { itemData, persistentItemData } from "../Classes/itemData";
|
||||
import {game} from "../game";
|
||||
import { itemData, persistentItemData } from "../Classes/itemData.js";
|
||||
import {game} from "../game.js";
|
||||
|
||||
function getRandom(arr){
|
||||
return arr[Math.floor(Math.random()*arr.length)]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { updateInventory } from "./_updateInventory";
|
||||
import { updateInventory } from "./_updateInventory.js";
|
||||
|
||||
export function registerItemCallbacks(socket){
|
||||
socket.on('item/updateInventory', (data) => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { persistentItemData } from "../Classes/itemData";
|
||||
import { game } from "../game";
|
||||
import { persistentItemData } from "../Classes/itemData.js";
|
||||
import { game } from "../game.js";
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { game } from "../game";
|
||||
import { game } from "../game.js";
|
||||
|
||||
export function clear(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { game } from "../game";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { roomChangeResponse } from "../Classes/roomChangeResponse";
|
||||
import { levelEnter } from "../Classes/Incoming/levelEnter";
|
||||
import { game } from "../game.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { roomChangeResponse } from "../Classes/roomChangeResponse.js";
|
||||
import { levelEnter } from "../Classes/Incoming/levelEnter.js";
|
||||
|
||||
export function enter(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { levelUpdateClient } from "../Classes/Incoming/levelUpdateClient";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { levelUpdateClient } from "../Classes/Incoming/levelUpdateClient.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
|
||||
export function playerUpdate(socket, data){
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { playerData } from "../Classes/playerData";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
|
||||
export function projectile(socket, data){
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { levelUpdateHost } from "../Classes/Incoming/levelUpdateHost";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { game } from "../game";
|
||||
import { levelUpdateHost } from "../Classes/Incoming/levelUpdateHost.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { game } from "../game.js";
|
||||
|
||||
export function update(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { clear } from "./_clear";
|
||||
import { enter } from "./_enter";
|
||||
import { playerUpdate } from "./_playerUpdate";
|
||||
import { projectile } from "./_projectile";
|
||||
import { update } from "./_update";
|
||||
import { clear } from "./_clear.js";
|
||||
import { enter } from "./_enter.js";
|
||||
import { playerUpdate } from "./_playerUpdate.js";
|
||||
import { projectile } from "./_projectile.js";
|
||||
import { update } from "./_update.js";
|
||||
|
||||
export function registerLevelCallbacks(socket){
|
||||
socket.on('level/enter', (data) => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { playerData } from "../Classes/playerData";
|
||||
import { game } from "../game";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { game } from "../game.js";
|
||||
|
||||
export function loadoutChanged(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { lobbyMessage } from "../Classes/lobbyMessage";
|
||||
import { game } from "../game";
|
||||
import { lobbyMessage } from "../Classes/lobbyMessage.js";
|
||||
import { game } from "../game.js";
|
||||
|
||||
export function message(socket, data){
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { lobbyJoin } from "../Classes/Incoming/lobbyJoin";
|
||||
import { levelState } from "../Classes/levelState";
|
||||
import { lobbyMessage } from "../Classes/lobbyMessage";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { userData } from "../Classes/userData";
|
||||
import { game } from "../game";
|
||||
import { lobbyJoin } from "../Classes/Incoming/lobbyJoin.js";
|
||||
import { levelState } from "../Classes/levelState.js";
|
||||
import { lobbyMessage } from "../Classes/lobbyMessage.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { userData } from "../Classes/userData.js";
|
||||
import { game } from "../game.js";
|
||||
|
||||
export function playerJoin(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { loadoutChanged } from "./_loadoutChanged";
|
||||
import { message } from "./_message";
|
||||
import { playerJoin } from "./_playerJoin";
|
||||
import { loadoutChanged } from "./_loadoutChanged.js";
|
||||
import { message } from "./_message.js";
|
||||
import { playerJoin } from "./_playerJoin.js";
|
||||
|
||||
export function registerLobbyCallbacks(socket){
|
||||
socket.on('lobby/playerJoin', (data) => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { game } from "../game";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { game } from "../game.js";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
|
||||
export class players{
|
||||
static createPlayer(id){
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { playerData } from "../Classes/playerData";
|
||||
import { questProgressData } from "../Classes/questProgressData";
|
||||
import { playerData } from "../Classes/playerData.js";
|
||||
import { questProgressData } from "../Classes/questProgressData.js";
|
||||
|
||||
export function update(socket, data){
|
||||
if(!socket.hasOwnProperty("player")) return;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { update } from "./_update";
|
||||
import { update } from "./_update.js";
|
||||
|
||||
export function registerQuestCallbacks(socket){
|
||||
socket.on('quest/update', (data) => {
|
||||
|
|
14
game.ts
14
game.ts
|
@ -1,10 +1,10 @@
|
|||
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');
|
||||
import fs from 'fs';
|
||||
import { userData } from "./Classes/userData.js";
|
||||
import { lobbyMessage } from "./Classes/lobbyMessage.js";
|
||||
import { lobbyState } from "./Classes/lobbyState.js";
|
||||
import { playerData } from "./Classes/playerData.js";
|
||||
import { persistentItemData } from "./Classes/itemData.js";
|
||||
import { levelState } from "./Classes/levelState.js";
|
||||
|
||||
export class game{
|
||||
static socketIO : any
|
||||
|
|
33
index.ts
33
index.ts
|
@ -1,26 +1,29 @@
|
|||
import { game } from "./game";
|
||||
import { users } from "./Account/users";
|
||||
import { players } from "./Player/players";
|
||||
import { registerItemCallbacks } from "./Items/itemSocket";
|
||||
import { registerLobbyCallbacks } from "./Lobby/lobbySocket";
|
||||
import { registerAccountCallbacks } from "./Account/accountSocket";
|
||||
import { registerLevelCallbacks } from "./Level/levelSocket";
|
||||
import { registerQuestCallbacks } from "./Quest/questSocket";
|
||||
import fs from 'fs';
|
||||
import express from 'express';
|
||||
import { createServer } from 'http';
|
||||
import { Server as SocketIOServer } from 'socket.io';
|
||||
|
||||
import { game } from "./game.js";
|
||||
import { users } from "./Account/users.js";
|
||||
import { players } from "./Player/players.js";
|
||||
import { registerItemCallbacks } from "./Items/itemSocket.js";
|
||||
import { registerLobbyCallbacks } from "./Lobby/lobbySocket.js";
|
||||
import { registerAccountCallbacks } from "./Account/accountSocket.js";
|
||||
import { registerLevelCallbacks } from "./Level/levelSocket.js";
|
||||
import { registerQuestCallbacks } from "./Quest/questSocket.js";
|
||||
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const port = 3000;
|
||||
const server = require('http').Server(app);
|
||||
const fs = require('fs');
|
||||
const server = createServer(app);
|
||||
|
||||
server.listen(port, () => {
|
||||
console.log(`Server listening at port ${port}`);
|
||||
});
|
||||
|
||||
const io = require("socket.io")(server, {
|
||||
const io = new SocketIOServer(server, {
|
||||
path: "/webmmo/",
|
||||
cors: {
|
||||
origin: '*',
|
||||
cors: {
|
||||
origin: '\*',
|
||||
methods: ["GET", "POST"]
|
||||
}
|
||||
});
|
||||
|
@ -28,7 +31,7 @@ const io = require("socket.io")(server, {
|
|||
users.loadUsers(fs);
|
||||
players.loadPlayers(fs);
|
||||
|
||||
io.on('connection', (socket) => {
|
||||
io.on('connection', (socket : any) => {
|
||||
console.log("Got connection!");
|
||||
socket.emit("connectSuccess", "");
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,6 +3,7 @@
|
|||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.ts",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
|
@ -12,10 +13,13 @@
|
|||
"@types/express": "^4.17.13",
|
||||
"@types/node": "^17.0.25",
|
||||
"@types/socket.io": "^3.0.2",
|
||||
"better-sqlite3": "^12.2.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.3",
|
||||
"socket.io": "^4.4.1",
|
||||
"ts-node": "^10.7.0",
|
||||
"typescript": "^4.6.3"
|
||||
"sqlite": "^5.1.1",
|
||||
"sqlite3": "^5.1.7",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.8.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"target": "ES2020",
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"sourceMap": true,
|
||||
"noImplicitAny": false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue