Copy sprite fix

This commit is contained in:
Dennis Postma 2025-02-18 17:52:25 +01:00
parent 0efa9fb1d5
commit 258ebf97d1
2 changed files with 17 additions and 2 deletions

View File

@ -2,6 +2,7 @@ import { BaseEvent } from '@/application/base/baseEvent'
import { SocketEvent } from '@/application/enums'
import type { UUID } from '@/application/types'
import { Sprite } from '@/entities/sprite'
import { SpriteAction } from '@/entities/spriteAction'
import SpriteRepository from '@/repositories/spriteRepository'
interface CopyPayload {
@ -29,7 +30,21 @@ export default class SpriteCopyEvent extends BaseEvent {
await spriteRepository.getEntityManager().populate(sourceSprite, ['spriteActions'])
const newSprite = new Sprite()
await newSprite.setName(`${sourceSprite.getName()} (Copy)`).setSpriteActions(sourceSprite.getSpriteActions()).save()
await newSprite.setName(`${sourceSprite.getName()} (Copy)`).save()
for (const spriteAction of sourceSprite.getSpriteActions()) {
const newSpriteAction = new SpriteAction()
await newSpriteAction
.setSprite(newSprite)
.setAction(spriteAction.getAction())
.setSprites(spriteAction.getSprites() ?? [])
.setOriginX(spriteAction.getOriginX())
.setOriginY(spriteAction.getOriginY())
.setFrameWidth(spriteAction.getFrameWidth())
.setFrameHeight(spriteAction.getFrameHeight())
.setFrameRate(spriteAction.getFrameRate())
.save()
}
return callback(true)
} catch (error) {

View File

@ -1,12 +1,12 @@
import fs from 'fs'
import { Server as HTTPServer } from 'http'
import { pathToFileURL } from 'url'
import { SocketEvent } from '@/application/enums'
import Logger, { LoggerType } from '@/application/logger'
import Storage from '@/application/storage'
import type { TSocket, UUID } from '@/application/types'
import { Authentication } from '@/middleware/authentication'
import { Server as SocketServer } from 'socket.io'
import {SocketEvent} from "@/application/enums";
class SocketManager {
private io: SocketServer | null = null