This commit is contained in:
Dennis Postma 2024-06-30 23:26:59 +02:00
parent e488318994
commit ad9b7f8892
3 changed files with 13 additions and 12 deletions

View File

@ -1,23 +1,17 @@
import { Server } from "socket.io"; import { Server } from "socket.io";
import {TSocket} from "../utilities/Types"; import {TSocket, TAsset} from "../utilities/Types";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
type Asset = {
key: string
value: string
type: 'base64' | 'link'
}
export default function (socket: TSocket, io: Server) { export default function (socket: TSocket, io: Server) {
socket.on('assets:download', async (data: any, callback: (response: Asset[]) => void) => { socket.on('assets:download', async (data: any, callback: (response: TAsset[]) => void) => {
console.log('assets:download requested'); console.log('assets:download requested');
let assets: Asset[] = []; let assets: TAsset[] = [];
const tiles = listTiles(); const tiles = listTiles();
tiles.forEach(tile => { tiles.forEach(tile => {
assets.push({key: tile, value: '/tiles/' + tile, type: 'link'}); assets.push({key: 'tile_' + tile, value: '/tiles/' + tile, group: 'tiles', type: 'link'});
}); });
console.log('assets:download response', assets) console.log('assets:download response', assets)

View File

@ -32,9 +32,9 @@ export default function (socket: TSocket, io: Server) {
for (const key in data) { for (const key in data) {
// the files in the folder are named 0.png, 1.png, 2.png etc... check the last file name and add 1 // the files in the folder are named 0.png, 1.png, 2.png etc... check the last file name and add 1
const files = fs.readdirSync(public_folder); const files = fs.readdirSync(public_folder);
const lastFile = files[files.length - 1]; const lastFile = files.reduce((a, b) => a > b ? a : b);
const lastFileName = lastFile?.split('.')[0]; const lastFileName = lastFile?.split('.')[0];
const filename = `${parseInt(lastFileName ?? 0) + 1}.png`; const filename = `${parseInt(lastFileName ?? '0') + 1}.png`;
const finalFilePath = path.join(public_folder, filename); const finalFilePath = path.join(public_folder, filename);
const tile = data[key]; const tile = data[key];

View File

@ -24,3 +24,10 @@ export type TCharacter = Socket & {
export type TZoneCharacter = Character & { export type TZoneCharacter = Character & {
} }
export type TAsset = {
key: string
value: string
group: 'tiles' | 'objects' | 'sound' | 'music' | 'ui' | 'font' | 'other'
type: 'base64' | 'link'
}