forked from noxious/server
Bug fix
This commit is contained in:
parent
876c96e2c6
commit
6f87c3f3c5
@ -35,20 +35,22 @@ export default class SpriteUpdateEvent extends BaseEvent {
|
|||||||
// Update sprite in database
|
// Update sprite in database
|
||||||
await sprite.setName(data.name).save()
|
await sprite.setName(data.name).save()
|
||||||
|
|
||||||
|
// First verify all sprite sheets can be generated
|
||||||
|
for (const actionData of data.spriteActions) {
|
||||||
|
if (!await this.generateSpriteSheet(actionData.sprites, sprite.getId(), actionData.action)) {
|
||||||
|
return callback(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const existingActions = sprite.getSpriteActions()
|
const existingActions = sprite.getSpriteActions()
|
||||||
|
|
||||||
// Remove all existing actions - we'll recreate the ones we need
|
// Remove existing actions only after confirming sprite sheets generated successfully
|
||||||
for (const existingAction of existingActions) {
|
for (const existingAction of existingActions) {
|
||||||
await spriteRepository.getEntityManager().removeAndFlush(existingAction)
|
await spriteRepository.getEntityManager().removeAndFlush(existingAction)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new actions
|
// Create new actions
|
||||||
for (const actionData of data.spriteActions) {
|
for (const actionData of data.spriteActions) {
|
||||||
// Generate sprite sheet for this action or return false
|
|
||||||
if (!await this.generateSpriteSheet(actionData.sprites, sprite.getId(), actionData.action)) {
|
|
||||||
return callback(false)
|
|
||||||
}
|
|
||||||
|
|
||||||
const spriteAction = new SpriteAction()
|
const spriteAction = new SpriteAction()
|
||||||
spriteAction.setSprite(sprite)
|
spriteAction.setSprite(sprite)
|
||||||
sprite.getSpriteActions().add(spriteAction)
|
sprite.getSpriteActions().add(spriteAction)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user