diff --git a/prisma/migrations/20241217160101_init/migration.sql b/prisma/migrations/20241217160850_init/migration.sql similarity index 96% rename from prisma/migrations/20241217160101_init/migration.sql rename to prisma/migrations/20241217160850_init/migration.sql index 3c97e10..a325fe7 100644 --- a/prisma/migrations/20241217160101_init/migration.sql +++ b/prisma/migrations/20241217160850_init/migration.sql @@ -148,7 +148,7 @@ CREATE TABLE `CharacterItem` ( ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable -CREATE TABLE `EquippedCharacterItem` ( +CREATE TABLE `CharacterEquipment` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `characterId` INTEGER NOT NULL, `itemId` VARCHAR(191) NOT NULL, @@ -284,10 +284,10 @@ ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_characterId_fkey` FORE ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE `EquippedCharacterItem` ADD CONSTRAINT `EquippedCharacterItem_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE `EquippedCharacterItem` ADD CONSTRAINT `EquippedCharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/src/repositories/zoneEventTileRepository.ts b/src/repositories/zoneEventTileRepository.ts index 42e4945..790d239 100644 --- a/src/repositories/zoneEventTileRepository.ts +++ b/src/repositories/zoneEventTileRepository.ts @@ -3,7 +3,6 @@ import prisma from '../utilities/prisma' import { appLogger } from '../utilities/logger' class ZoneEventTileRepository { - async getAll(id: number): Promise { try { return await prisma.zoneEventTile.findMany({ diff --git a/src/socketEvents/gameMaster/assetManager/sprite/update.ts b/src/socketEvents/gameMaster/assetManager/sprite/update.ts index 0527855..a45a85e 100644 --- a/src/socketEvents/gameMaster/assetManager/sprite/update.ts +++ b/src/socketEvents/gameMaster/assetManager/sprite/update.ts @@ -100,29 +100,6 @@ export default class SpriteUpdateEvent { ) } - async function updateDatabase(id: string, name: string, processedActions: ProcessedSpriteAction[]) { - await prisma.sprite.update({ - where: { id }, - data: { - name, - spriteActions: { - deleteMany: { spriteId: id }, - create: processedActions.map(({ action, sprites, originX, originY, isAnimated, isLooping, frameWidth, frameHeight, frameSpeed }) => ({ - action, - sprites, - originX, - originY, - isAnimated, - isLooping, - frameWidth, - frameHeight, - frameSpeed - })) - } - } - }) - } - async function saveSpritesToDisk(id: string, processedActions: ProcessedSpriteAction[]) { const publicFolder = getPublicPath('sprites', id) await mkdir(publicFolder, { recursive: true }) @@ -153,8 +130,8 @@ export default class SpriteUpdateEvent { frames.map(({ buffer, width, height }, index) => ({ input: buffer, // Center horizontally based on the exact middle of each frame - left: (index * frameWidth) + ((frameWidth - width) >> 1), - // Calculate vertical position to center in the available space + left: index * frameWidth + ((frameWidth - width) >> 1), + // Top position is always 0 top: 0 })) ) @@ -166,5 +143,28 @@ export default class SpriteUpdateEvent { }) ) } + + async function updateDatabase(id: string, name: string, processedActions: ProcessedSpriteAction[]) { + await prisma.sprite.update({ + where: { id }, + data: { + name, + spriteActions: { + deleteMany: { spriteId: id }, + create: processedActions.map(({ action, sprites, originX, originY, isAnimated, isLooping, frameWidth, frameHeight, frameSpeed }) => ({ + action, + sprites, + originX, + originY, + isAnimated, + isLooping, + frameWidth, + frameHeight, + frameSpeed + })) + } + } + }) + } } }