From baae737d6b696948d7fcf22005177576e5d6c5f4 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Sun, 22 Dec 2024 20:08:45 +0100 Subject: [PATCH] CRUD components for items --- public/assets/tlogo.png | Bin 0 -> 26180 bytes .../gameMaster/assetManager/AssetManager.vue | 8 +- .../partials/item/itemDetails.vue | 143 ++++++++++++++++++ .../assetManager/partials/item/itemList.vue | 98 ++++++++++++ src/components/screens/Login.vue | 2 +- src/stores/assetManagerStore.ts | 19 ++- src/types.ts | 9 +- 7 files changed, 272 insertions(+), 7 deletions(-) create mode 100644 public/assets/tlogo.png create mode 100644 src/components/gameMaster/assetManager/partials/item/itemDetails.vue create mode 100644 src/components/gameMaster/assetManager/partials/item/itemList.vue diff --git a/public/assets/tlogo.png b/public/assets/tlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c6469aa999a6a9ee3349e16679a71851aca77762 GIT binary patch literal 26180 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 h+hH*FdS~IUD$HpMjPFN)e}ch!p!G Sprites - - Items + + Items NPC's @@ -42,6 +42,7 @@ + @@ -51,6 +52,7 @@ + @@ -70,6 +72,8 @@ import CharacterTypeList from '@/components/gameMaster/assetManager/partials/cha import CharacterTypeDetails from '@/components/gameMaster/assetManager/partials/characterType/CharacterTypeDetails.vue' import CharacterHairList from '@/components/gameMaster/assetManager/partials/characterHair/CharacterHairList.vue' import CharacterHairDetails from '@/components/gameMaster/assetManager/partials/characterHair/CharacterHairDetails.vue' +import ItemList from '@/components/gameMaster/assetManager/partials/item/itemList.vue' +import ItemDetails from '@/components/gameMaster/assetManager/partials/item/itemDetails.vue' const assetManagerStore = useAssetManagerStore() const selectedCategory = ref('tiles') diff --git a/src/components/gameMaster/assetManager/partials/item/itemDetails.vue b/src/components/gameMaster/assetManager/partials/item/itemDetails.vue new file mode 100644 index 0000000..4252156 --- /dev/null +++ b/src/components/gameMaster/assetManager/partials/item/itemDetails.vue @@ -0,0 +1,143 @@ + + + \ No newline at end of file diff --git a/src/components/gameMaster/assetManager/partials/item/itemList.vue b/src/components/gameMaster/assetManager/partials/item/itemList.vue new file mode 100644 index 0000000..251a724 --- /dev/null +++ b/src/components/gameMaster/assetManager/partials/item/itemList.vue @@ -0,0 +1,98 @@ + + + \ No newline at end of file diff --git a/src/components/screens/Login.vue b/src/components/screens/Login.vue index 1cbc7ed..f69973d 100644 --- a/src/components/screens/Login.vue +++ b/src/components/screens/Login.vue @@ -6,7 +6,7 @@
- Noxious World logo +
UI box outer UI box inner diff --git a/src/stores/assetManagerStore.ts b/src/stores/assetManagerStore.ts index 4a5de59..ed5a8f3 100644 --- a/src/stores/assetManagerStore.ts +++ b/src/stores/assetManagerStore.ts @@ -1,6 +1,6 @@ import { ref } from 'vue' import { defineStore } from 'pinia' -import type { Tile, Object, Sprite, CharacterType, CharacterHair } from '@/types' +import type { Tile, Object, Sprite, CharacterType, CharacterHair, Item } from '@/types' export const useAssetManagerStore = defineStore('assetManager', () => { const tileList = ref([]) @@ -18,6 +18,9 @@ export const useAssetManagerStore = defineStore('assetManager', () => { const characterHairList = ref([]) const selectedCharacterHair = ref(null) + const itemList = ref([]) + const selectedItem = ref(null) + function setTileList(tiles: Tile[]) { tileList.value = tiles } @@ -58,6 +61,14 @@ export const useAssetManagerStore = defineStore('assetManager', () => { selectedCharacterHair.value = characterHair } + function setItemList(items: Item[]) { + itemList.value = items + } + + function setSelectedItem(item: Item | null) { + selectedItem.value = item + } + return { tileList, selectedTile, @@ -69,6 +80,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => { selectedCharacterType, characterHairList, selectedCharacterHair, + itemList, + selectedItem, setTileList, setSelectedTile, setObjectList, @@ -78,6 +91,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => { setSelectedSprite, setSelectedCharacterType, setCharacterHairList, - setSelectedCharacterHair + setSelectedCharacterHair, + setItemList, + setSelectedItem } }) diff --git a/src/types.ts b/src/types.ts index bd02700..4e88cfc 100644 --- a/src/types.ts +++ b/src/types.ts @@ -45,12 +45,18 @@ export type Item = { id: string name: string description: string | null + itemType: ItemType stackable: boolean + rarity: ItemRarity + spriteId: string | null + sprite?: Sprite createdAt: Date updatedAt: Date - characters: CharacterItem[] } +export type ItemType = 'WEAPON' | 'HELMET' | 'CHEST' | 'LEGS' | 'BOOTS' | 'GLOVES' | 'RING' | 'NECKLACE' +export type ItemRarity = 'COMMON' | 'UNCOMMON' | 'RARE' | 'EPIC' | 'LEGENDARY' + export type Zone = { id: number name: string @@ -155,7 +161,6 @@ export type CharacterHair = { sprite: Sprite gender: CharacterGender isSelectable: boolean - // @TODO: Do we need addedAt and updatedAt? } export type Character = {