From 301340327ad173b2d33c59d96b7ad51815bec55b Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Sat, 23 Nov 2024 15:29:49 +0100 Subject: [PATCH] Added components to manage hair types --- .../gameMaster/assetManager/AssetManager.vue | 4 + .../characterHair/CharacterHairDetails.vue | 124 ++++++++++++++++++ .../characterHair/CharacterHairList.vue | 93 +++++++++++++ src/components/screens/Characters.vue | 10 +- src/stores/assetManagerStore.ts | 19 ++- src/types.ts | 2 + 6 files changed, 245 insertions(+), 7 deletions(-) create mode 100644 src/components/gameMaster/assetManager/partials/characterHair/CharacterHairDetails.vue create mode 100644 src/components/gameMaster/assetManager/partials/characterHair/CharacterHairList.vue diff --git a/src/components/gameMaster/assetManager/AssetManager.vue b/src/components/gameMaster/assetManager/AssetManager.vue index 959d543..ee9a05e 100644 --- a/src/components/gameMaster/assetManager/AssetManager.vue +++ b/src/components/gameMaster/assetManager/AssetManager.vue @@ -55,6 +55,7 @@ +
@@ -65,6 +66,7 @@ + @@ -80,6 +82,8 @@ import SpriteList from '@/components/gameMaster/assetManager/partials/sprite/Spr import SpriteDetails from '@/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue' import CharacterTypeList from '@/components/gameMaster/assetManager/partials/characterType/CharacterTypeList.vue' 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' const assetManagerStore = useAssetManagerStore() const selectedCategory = ref('tiles') diff --git a/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairDetails.vue b/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairDetails.vue new file mode 100644 index 0000000..952c9ef --- /dev/null +++ b/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairDetails.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairList.vue b/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairList.vue new file mode 100644 index 0000000..49747c8 --- /dev/null +++ b/src/components/gameMaster/assetManager/partials/characterHair/CharacterHairList.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/components/screens/Characters.vue b/src/components/screens/Characters.vue index a2fc9b1..1e925a9 100644 --- a/src/components/screens/Characters.vue +++ b/src/components/screens/Characters.vue @@ -39,10 +39,10 @@ Arrow right -
- - -
+ + + +
@@ -64,7 +64,7 @@ Hairstyle
diff --git a/src/stores/assetManagerStore.ts b/src/stores/assetManagerStore.ts index 72c9c69..4a5de59 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 } from '@/types' +import type { Tile, Object, Sprite, CharacterType, CharacterHair } from '@/types' export const useAssetManagerStore = defineStore('assetManager', () => { const tileList = ref([]) @@ -15,6 +15,9 @@ export const useAssetManagerStore = defineStore('assetManager', () => { const characterTypeList = ref([]) const selectedCharacterType = ref(null) + const characterHairList = ref([]) + const selectedCharacterHair = ref(null) + function setTileList(tiles: Tile[]) { tileList.value = tiles } @@ -47,6 +50,14 @@ export const useAssetManagerStore = defineStore('assetManager', () => { selectedCharacterType.value = characterType } + function setCharacterHairList(characterHair: CharacterHair[]) { + characterHairList.value = characterHair + } + + function setSelectedCharacterHair(characterHair: CharacterHair | null) { + selectedCharacterHair.value = characterHair + } + return { tileList, selectedTile, @@ -56,6 +67,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => { selectedSprite, characterTypeList, selectedCharacterType, + characterHairList, + selectedCharacterHair, setTileList, setSelectedTile, setObjectList, @@ -63,6 +76,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => { setSelectedObject, setSpriteList, setSelectedSprite, - setSelectedCharacterType + setSelectedCharacterType, + setCharacterHairList, + setSelectedCharacterHair } }) diff --git a/src/types.ts b/src/types.ts index af20d10..dce086c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -150,6 +150,8 @@ export type CharacterHair = { name: string spriteId: string sprite: Sprite + gender: CharacterGender + isEnabledForCharCreation: boolean // @TODO: Do we need addedAt and updatedAt? }