diff --git a/components.d.ts b/components.d.ts index 2616a13..6eba207 100644 --- a/components.d.ts +++ b/components.d.ts @@ -9,8 +9,19 @@ declare module 'vue' { export interface GlobalComponents { AtlasRenderCanvasRegion: typeof import('./src/components/AtlasRenderCanvasRegion.vue')['default'] ElButton: typeof import('element-plus/es')['ElButton'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] ElOption: typeof import('element-plus/es')['ElOption'] ElSelect: typeof import('element-plus/es')['ElSelect'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElText: typeof import('element-plus/es')['ElText'] + ImportResource: typeof import('./src/components/resources/ImportResource.vue')['default'] + ResourceManager: typeof import('./src/components/resources/ResourceManager.vue')['default'] + ResourceManagerAlert: typeof import('./src/components/ResourceManagerAlert.vue')['default'] } } diff --git a/package-lock.json b/package-lock.json index d75277f..39f06bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "typescript": "^5.2.2", + "typescript": "^5.4.5", "unplugin-auto-import": "^0.17.5", "unplugin-vue-components": "^0.27.0", "vite": "^5.2.0", diff --git a/src/App.vue b/src/App.vue index f1a496a..e5f4d4f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,12 +1,25 @@ diff --git a/src/components/resources/ImportResource.vue b/src/components/resources/ImportResource.vue new file mode 100644 index 0000000..791f18b --- /dev/null +++ b/src/components/resources/ImportResource.vue @@ -0,0 +1,34 @@ + + + + + \ No newline at end of file diff --git a/src/components/resources/ResourceManager.vue b/src/components/resources/ResourceManager.vue new file mode 100644 index 0000000..d0f9ea6 --- /dev/null +++ b/src/components/resources/ResourceManager.vue @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/entities/BaseResource.ts b/src/entities/BaseResource.ts new file mode 100644 index 0000000..df8e148 --- /dev/null +++ b/src/entities/BaseResource.ts @@ -0,0 +1,8 @@ +import {SkeletonResource} from "./resource/SkeletonResource.ts"; +import {AtlasResource} from "./resource/AtlasResource.ts"; +import {ImageResource} from "./resource/ImageResource.ts"; + +export type BaseResource = SkeletonResource | AtlasResource | ImageResource; +export enum ResourceType { + ATLAS,IMAGE,SKELETON +} \ No newline at end of file diff --git a/src/entities/ProjectData.ts b/src/entities/ProjectData.ts new file mode 100644 index 0000000..86c438e --- /dev/null +++ b/src/entities/ProjectData.ts @@ -0,0 +1,7 @@ +import { BaseResource } from "./BaseResource.ts" +export interface ProjectData { + name: string; + resourceRequired: BaseResource[]; + lastSave: Date; + lastChange: Date; +} \ No newline at end of file diff --git a/src/entities/resource/AtlasResource.ts b/src/entities/resource/AtlasResource.ts new file mode 100644 index 0000000..f1b75fc --- /dev/null +++ b/src/entities/resource/AtlasResource.ts @@ -0,0 +1,10 @@ +import {ResourceType} from "../BaseResource.ts"; +import {ImageResource} from "./ImageResource.ts"; + +export interface AtlasResource { + name: string; + type: ResourceType.ATLAS; + extend: ".atlas"; + images: ImageResource[]; + data?: Blob; +} \ No newline at end of file diff --git a/src/entities/resource/ImageResource.ts b/src/entities/resource/ImageResource.ts new file mode 100644 index 0000000..4fbf326 --- /dev/null +++ b/src/entities/resource/ImageResource.ts @@ -0,0 +1,8 @@ +import {ResourceType} from "../BaseResource.ts"; + +export interface ImageResource { + name: string; + type: ResourceType.IMAGE; + extend: ".png"; + data?: Blob +} \ No newline at end of file diff --git a/src/entities/resource/SkeletonResource.ts b/src/entities/resource/SkeletonResource.ts new file mode 100644 index 0000000..7f7c364 --- /dev/null +++ b/src/entities/resource/SkeletonResource.ts @@ -0,0 +1,10 @@ +import {ResourceType} from "../BaseResource.ts"; +import {AtlasResource} from "./AtlasResource.ts"; + +export interface SkeletonResource { + name: string; + type: ResourceType.SKELETON; + extend: ".json"; + data?: unknown; + atlas: AtlasResource; +} \ No newline at end of file