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 @@
+
+
+
+ ATLAS文件:
+
+
+
+
+
+ 已导入
+ 未导入: onImportImage(evt, data.row.name, data.row.atlasName)" />
+
+
+
+ 确定
+
+
+
\ 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