From 9771f45e6df21b2040a8122b2fce16863f2327f2 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Mon, 27 Jan 2025 01:56:04 +0100 Subject: [PATCH] Removed isAnimated and isLooping fields --- migrations/Migration20250127005232.ts | 104 ++++++++++++++++++ src/application/types.ts | 1 - src/commands/init.ts | 14 --- src/entities/base/mapObject.ts | 12 -- src/entities/base/spriteAction.ts | 24 ---- src/entities/sprite.ts | 2 - .../assetManager/mapObject/update.ts | 2 - .../gameMaster/assetManager/sprite/update.ts | 2 - 8 files changed, 104 insertions(+), 57 deletions(-) create mode 100644 migrations/Migration20250127005232.ts diff --git a/migrations/Migration20250127005232.ts b/migrations/Migration20250127005232.ts new file mode 100644 index 0000000..30a91c2 --- /dev/null +++ b/migrations/Migration20250127005232.ts @@ -0,0 +1,104 @@ +import { Migration } from '@mikro-orm/migrations'; + +export class Migration20250127005232 extends Migration { + + override async up(): Promise { + this.addSql(`create table \`map\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`width\` int not null default 10, \`height\` int not null default 10, \`tiles\` json null, \`pvp\` tinyint(1) not null default false, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + + this.addSql(`create table \`map_effect\` (\`id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`effect\` varchar(255) not null, \`strength\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`map_effect\` add index \`map_effect_map_id_index\`(\`map_id\`);`); + + this.addSql(`create table \`map_event_tile\` (\`id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`type\` enum('BLOCK', 'TELEPORT', 'NPC', 'ITEM') not null, \`position_x\` int not null, \`position_y\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`map_event_tile\` add index \`map_event_tile_map_id_index\`(\`map_id\`);`); + + this.addSql(`create table \`map_event_tile_teleport\` (\`id\` varchar(255) not null, \`map_event_tile_id\` varchar(255) not null, \`to_map_id\` varchar(255) not null, \`to_rotation\` int not null, \`to_position_x\` int not null, \`to_position_y\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`map_event_tile_teleport\` add unique \`map_event_tile_teleport_map_event_tile_id_unique\`(\`map_event_tile_id\`);`); + this.addSql(`alter table \`map_event_tile_teleport\` add index \`map_event_tile_teleport_to_map_id_index\`(\`to_map_id\`);`); + + this.addSql(`create table \`map_object\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`tags\` json null, \`origin_x\` numeric(10,2) not null default 0, \`origin_y\` numeric(10,2) not null default 0, \`frame_rate\` int not null default 0, \`frame_width\` int not null default 0, \`frame_height\` int not null default 0, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + + this.addSql(`create table \`placed_map_object\` (\`id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`map_object_id\` varchar(255) not null, \`is_rotated\` tinyint(1) not null default false, \`position_x\` int not null default 0, \`position_y\` int not null default 0, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_id_index\`(\`map_id\`);`); + this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_object_id_index\`(\`map_object_id\`);`); + + this.addSql(`create table \`sprite\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + + this.addSql(`create table \`item\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`description\` varchar(255) not null default '', \`item_type\` enum('WEAPON', 'HELMET', 'CHEST', 'LEGS', 'BOOTS', 'GLOVES', 'RING', 'NECKLACE') not null, \`stackable\` tinyint(1) not null default false, \`rarity\` enum('COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY') not null default 'COMMON', \`sprite_id\` varchar(255) null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`item\` add index \`item_sprite_id_index\`(\`sprite_id\`);`); + + this.addSql(`create table \`character_type\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`gender\` enum('MALE', 'FEMALE') not null, \`race\` enum('HUMAN', 'ELF', 'DWARF', 'ORC', 'GOBLIN') not null, \`is_selectable\` tinyint(1) not null default false, \`sprite_id\` varchar(255) null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`character_type\` add index \`character_type_sprite_id_index\`(\`sprite_id\`);`); + + this.addSql(`create table \`character_hair\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`gender\` varchar(255) not null default 'MALE', \`is_selectable\` tinyint(1) not null default false, \`sprite_id\` varchar(255) null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`character_hair\` add index \`character_hair_sprite_id_index\`(\`sprite_id\`);`); + + this.addSql(`create table \`sprite_action\` (\`id\` varchar(255) not null, \`sprite_id\` varchar(255) not null, \`action\` varchar(255) not null, \`sprites\` json null, \`origin_x\` int not null default 0, \`origin_y\` int not null default 0, \`frame_width\` int not null default 0, \`frame_height\` int not null default 0, \`frame_rate\` int not null default 0, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`sprite_action\` add index \`sprite_action_sprite_id_index\`(\`sprite_id\`);`); + + this.addSql(`create table \`tile\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`tags\` json null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + + this.addSql(`create table \`user\` (\`id\` varchar(255) not null, \`username\` varchar(255) not null, \`email\` varchar(255) not null, \`password\` varchar(255) not null, \`online\` tinyint(1) not null default false, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`user\` add unique \`user_username_unique\`(\`username\`);`); + this.addSql(`alter table \`user\` add unique \`user_email_unique\`(\`email\`);`); + + this.addSql(`create table \`password_reset_token\` (\`id\` varchar(255) not null, \`user_id\` varchar(255) not null, \`token\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`password_reset_token\` add index \`password_reset_token_user_id_index\`(\`user_id\`);`); + this.addSql(`alter table \`password_reset_token\` add unique \`password_reset_token_token_unique\`(\`token\`);`); + + this.addSql(`create table \`character\` (\`id\` varchar(255) not null, \`user_id\` varchar(255) not null, \`name\` varchar(255) not null, \`online\` tinyint(1) not null default false, \`role\` varchar(255) not null default 'player', \`map_id\` varchar(255) not null, \`position_x\` int not null default 0, \`position_y\` int not null default 0, \`rotation\` int not null default 0, \`character_type_id\` varchar(255) null, \`character_hair_id\` varchar(255) null, \`alignment\` int not null default 50, \`hitpoints\` int not null default 100, \`mana\` int not null default 100, \`level\` int not null default 1, \`experience\` int not null default 0, \`strength\` int not null default 10, \`dexterity\` int not null default 10, \`intelligence\` int not null default 10, \`wisdom\` int not null default 10, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`character\` add index \`character_user_id_index\`(\`user_id\`);`); + this.addSql(`alter table \`character\` add unique \`character_name_unique\`(\`name\`);`); + this.addSql(`alter table \`character\` add index \`character_map_id_index\`(\`map_id\`);`); + this.addSql(`alter table \`character\` add index \`character_character_type_id_index\`(\`character_type_id\`);`); + this.addSql(`alter table \`character\` add index \`character_character_hair_id_index\`(\`character_hair_id\`);`); + + this.addSql(`create table \`chat\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`message\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`chat\` add index \`chat_character_id_index\`(\`character_id\`);`); + this.addSql(`alter table \`chat\` add index \`chat_map_id_index\`(\`map_id\`);`); + + this.addSql(`create table \`character_item\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`item_id\` varchar(255) not null, \`quantity\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`character_item\` add index \`character_item_character_id_index\`(\`character_id\`);`); + this.addSql(`alter table \`character_item\` add index \`character_item_item_id_index\`(\`item_id\`);`); + + this.addSql(`create table \`character_equipment\` (\`id\` varchar(255) not null, \`slot\` enum('HEAD', 'BODY', 'ARMS', 'LEGS', 'NECK', 'RING') not null, \`character_id\` varchar(255) not null, \`character_item_id\` varchar(255) not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`); + this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_id_index\`(\`character_id\`);`); + this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_item_id_index\`(\`character_item_id\`);`); + + this.addSql(`create table \`world\` (\`date\` datetime not null, \`rain_percentage\` int not null default 0, \`fog_density\` int not null default 0, primary key (\`date\`)) default character set utf8mb4 engine = InnoDB;`); + + this.addSql(`alter table \`map_effect\` add constraint \`map_effect_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`map_event_tile\` add constraint \`map_event_tile_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_map_event_tile_id_foreign\` foreign key (\`map_event_tile_id\`) references \`map_event_tile\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_to_map_id_foreign\` foreign key (\`to_map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`placed_map_object\` add constraint \`placed_map_object_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`placed_map_object\` add constraint \`placed_map_object_map_object_id_foreign\` foreign key (\`map_object_id\`) references \`map_object\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`item\` add constraint \`item_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete set null;`); + + this.addSql(`alter table \`character_type\` add constraint \`character_type_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete set null;`); + + this.addSql(`alter table \`character_hair\` add constraint \`character_hair_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete set null;`); + + this.addSql(`alter table \`sprite_action\` add constraint \`sprite_action_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`password_reset_token\` add constraint \`password_reset_token_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`character\` add constraint \`character_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`character\` add constraint \`character_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade;`); + this.addSql(`alter table \`character\` add constraint \`character_character_type_id_foreign\` foreign key (\`character_type_id\`) references \`character_type\` (\`id\`) on update cascade on delete set null;`); + this.addSql(`alter table \`character\` add constraint \`character_character_hair_id_foreign\` foreign key (\`character_hair_id\`) references \`character_hair\` (\`id\`) on update cascade on delete set null;`); + + this.addSql(`alter table \`chat\` add constraint \`chat_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`chat\` add constraint \`chat_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`character_item\` add constraint \`character_item_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`character_item\` add constraint \`character_item_item_id_foreign\` foreign key (\`item_id\`) references \`item\` (\`id\`) on update cascade on delete cascade;`); + + this.addSql(`alter table \`character_equipment\` add constraint \`character_equipment_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`); + this.addSql(`alter table \`character_equipment\` add constraint \`character_equipment_character_item_id_foreign\` foreign key (\`character_item_id\`) references \`character_item\` (\`id\`) on update cascade on delete cascade;`); + } + +} diff --git a/src/application/types.ts b/src/application/types.ts index 9a7bdcf..4d2a81b 100644 --- a/src/application/types.ts +++ b/src/application/types.ts @@ -37,7 +37,6 @@ export type AssetData = { updatedAt: Date originX?: number originY?: number - isAnimated?: boolean frameRate?: number frameWidth?: number frameHeight?: number diff --git a/src/commands/init.ts b/src/commands/init.ts index 19751d6..69640e8 100644 --- a/src/commands/init.ts +++ b/src/commands/init.ts @@ -89,8 +89,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0) .setOriginY(0) - .setIsAnimated(false) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(94) .setFrameRate(0) @@ -105,8 +103,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0) .setOriginY(0) - .setIsAnimated(false) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(94) .setFrameRate(0) @@ -124,8 +120,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0) .setOriginY(0) - .setIsAnimated(true) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(94) .setFrameRate(7) @@ -143,8 +137,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0) .setOriginY(0) - .setIsAnimated(true) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(94) .setFrameRate(7) @@ -175,8 +167,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0.5) .setOriginY(5.34) - .setIsAnimated(false) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(18) .setFrameRate(0) @@ -191,8 +181,6 @@ export default class InitCommand extends BaseCommand { ]) .setOriginX(0.5) .setOriginY(4.34) - .setIsAnimated(false) - .setIsLooping(false) .setFrameWidth(64) .setFrameHeight(22) .setFrameRate(0) @@ -216,8 +204,6 @@ export default class InitCommand extends BaseCommand { sprites: ['data:image/png;base64,...'], originX: 0, originY: 0, - isAnimated: false, - isLooping: false, frameWidth: 64, frameHeight: 94, frameRate: 0 diff --git a/src/entities/base/mapObject.ts b/src/entities/base/mapObject.ts index a3fb7ae..b4ff2da 100644 --- a/src/entities/base/mapObject.ts +++ b/src/entities/base/mapObject.ts @@ -21,9 +21,6 @@ export class BaseMapObject extends BaseEntity { @Property({ type: 'decimal', precision: 10, scale: 2 }) originY = 0 - @Property() - isAnimated = false - @Property() frameRate = 0 @@ -84,15 +81,6 @@ export class BaseMapObject extends BaseEntity { return this.originY } - setIsAnimated(isAnimated: boolean) { - this.isAnimated = isAnimated - return this - } - - getIsAnimated() { - return this.isAnimated - } - setFrameRate(frameRate: number) { this.frameRate = frameRate return this diff --git a/src/entities/base/spriteAction.ts b/src/entities/base/spriteAction.ts index ea2ea34..a84d081 100644 --- a/src/entities/base/spriteAction.ts +++ b/src/entities/base/spriteAction.ts @@ -25,12 +25,6 @@ export class BaseSpriteAction extends BaseEntity { @Property() originY = 0 - @Property() - isAnimated = false - - @Property() - isLooping = false - @Property() frameWidth = 0 @@ -94,24 +88,6 @@ export class BaseSpriteAction extends BaseEntity { return this.originY } - setIsAnimated(isAnimated: boolean) { - this.isAnimated = isAnimated - return this - } - - getIsAnimated() { - return this.isAnimated - } - - setIsLooping(isLooping: boolean) { - this.isLooping = isLooping - return this - } - - getIsLooping() { - return this.isLooping - } - setFrameWidth(frameWidth: number) { this.frameWidth = frameWidth return this diff --git a/src/entities/sprite.ts b/src/entities/sprite.ts index d1b7c71..d484743 100644 --- a/src/entities/sprite.ts +++ b/src/entities/sprite.ts @@ -18,8 +18,6 @@ export class Sprite extends BaseSprite { action: spriteAction.getAction(), originX: spriteAction.getOriginX(), originY: spriteAction.getOriginY(), - isAnimated: spriteAction.getIsAnimated(), - isLooping: spriteAction.getIsLooping(), frameWidth: spriteAction.getFrameWidth(), frameHeight: spriteAction.getFrameHeight(), frameRate: spriteAction.getFrameRate(), diff --git a/src/events/gameMaster/assetManager/mapObject/update.ts b/src/events/gameMaster/assetManager/mapObject/update.ts index 3db32ca..5c92cc4 100644 --- a/src/events/gameMaster/assetManager/mapObject/update.ts +++ b/src/events/gameMaster/assetManager/mapObject/update.ts @@ -8,7 +8,6 @@ type Payload = { tags: string[] originX: number originY: number - isAnimated: boolean frameRate: number frameWidth: number frameHeight: number @@ -33,7 +32,6 @@ export default class MapObjectUpdateEvent extends BaseEvent { .setTags(data.tags) .setOriginX(data.originX) .setOriginY(data.originY) - .setIsAnimated(data.isAnimated) .setFrameRate(data.frameRate) .setFrameWidth(data.frameWidth) .setFrameHeight(data.frameHeight) diff --git a/src/events/gameMaster/assetManager/sprite/update.ts b/src/events/gameMaster/assetManager/sprite/update.ts index 5787fa5..db9af24 100644 --- a/src/events/gameMaster/assetManager/sprite/update.ts +++ b/src/events/gameMaster/assetManager/sprite/update.ts @@ -369,8 +369,6 @@ export default class SpriteUpdateEvent extends BaseEvent { sprites: action.sprites, originX: action.originX, originY: action.originY, - isAnimated: action.isAnimated, - isLooping: action.isLooping, frameWidth: action.frameWidth, frameHeight: action.frameHeight, frameRate: action.frameRate