forked from noxious/server
🤠🔫
This commit is contained in:
parent
3f10b03d24
commit
1cbf116ad4
@ -148,7 +148,7 @@ CREATE TABLE `CharacterItem` (
|
|||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
-- CreateTable
|
-- CreateTable
|
||||||
CREATE TABLE `EquippedCharacterItem` (
|
CREATE TABLE `CharacterEquipment` (
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||||
`characterId` INTEGER NOT NULL,
|
`characterId` INTEGER NOT NULL,
|
||||||
`itemId` VARCHAR(191) 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;
|
ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
-- AddForeignKey
|
-- 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
|
-- 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
|
-- AddForeignKey
|
||||||
ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@ -3,7 +3,6 @@ import prisma from '../utilities/prisma'
|
|||||||
import { appLogger } from '../utilities/logger'
|
import { appLogger } from '../utilities/logger'
|
||||||
|
|
||||||
class ZoneEventTileRepository {
|
class ZoneEventTileRepository {
|
||||||
|
|
||||||
async getAll(id: number): Promise<ZoneEventTile[]> {
|
async getAll(id: number): Promise<ZoneEventTile[]> {
|
||||||
try {
|
try {
|
||||||
return await prisma.zoneEventTile.findMany({
|
return await prisma.zoneEventTile.findMany({
|
||||||
|
@ -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[]) {
|
async function saveSpritesToDisk(id: string, processedActions: ProcessedSpriteAction[]) {
|
||||||
const publicFolder = getPublicPath('sprites', id)
|
const publicFolder = getPublicPath('sprites', id)
|
||||||
await mkdir(publicFolder, { recursive: true })
|
await mkdir(publicFolder, { recursive: true })
|
||||||
@ -153,8 +130,8 @@ export default class SpriteUpdateEvent {
|
|||||||
frames.map(({ buffer, width, height }, index) => ({
|
frames.map(({ buffer, width, height }, index) => ({
|
||||||
input: buffer,
|
input: buffer,
|
||||||
// Center horizontally based on the exact middle of each frame
|
// Center horizontally based on the exact middle of each frame
|
||||||
left: (index * frameWidth) + ((frameWidth - width) >> 1),
|
left: index * frameWidth + ((frameWidth - width) >> 1),
|
||||||
// Calculate vertical position to center in the available space
|
// Top position is always 0
|
||||||
top: 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
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user