diff --git a/package-lock.json b/package-lock.json
index 378a27e..6af7af8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4618,9 +4618,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.2",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz",
- "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==",
+ "version": "8.5.3",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
+ "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
"funding": [
{
"type": "opencollective",
diff --git a/src/application/types.ts b/src/application/types.ts
index 989dd01..3e1aa29 100644
--- a/src/application/types.ts
+++ b/src/application/types.ts
@@ -210,6 +210,8 @@ export enum CharacterEquipmentSlotType {
export type Sprite = {
id: string
name: string
+ width: number | null
+ height: number | null
createdAt: Date
updatedAt: Date
spriteActions: SpriteAction[]
diff --git a/src/components/game/character/Character.vue b/src/components/game/character/Character.vue
index 62bd819..b674369 100644
--- a/src/components/game/character/Character.vue
+++ b/src/components/game/character/Character.vue
@@ -2,7 +2,7 @@
-
+
diff --git a/src/components/game/character/partials/CharacterHair.vue b/src/components/game/character/partials/CharacterHair.vue
index 12f6dfd..a2da561 100644
--- a/src/components/game/character/partials/CharacterHair.vue
+++ b/src/components/game/character/partials/CharacterHair.vue
@@ -1,49 +1,39 @@
-
+
diff --git a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
index 6bf4d28..452acfa 100644
--- a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
+++ b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
@@ -7,6 +7,15 @@
+
+
+
+
+
+
+
+
+
@@ -84,6 +93,8 @@ const assetManagerStore = useAssetManagerStore()
const selectedSprite = computed(() => assetManagerStore.selectedSprite)
const spriteName = ref('')
+const spriteWidth = ref(0)
+const spriteHeight = ref(0)
const spriteActions = ref
([])
const isModalOpen = ref(false)
const selectedAction = ref(null)
@@ -94,6 +105,8 @@ if (!selectedSprite.value) {
if (selectedSprite.value) {
spriteName.value = selectedSprite.value.name
+ spriteWidth.value = selectedSprite.value.width
+ spriteHeight.value = selectedSprite.value.height
spriteActions.value = sortSpriteActions(selectedSprite.value.spriteActions)
}
@@ -140,6 +153,8 @@ async function saveSprite() {
const updatedSprite = {
id: selectedSprite.value.id,
name: spriteName.value,
+ width: spriteWidth.value,
+ height: spriteHeight.value,
spriteActions:
spriteActions.value?.map((action) => {
return {
@@ -217,6 +232,8 @@ function handleTempOffsetChange(action: SpriteAction, index: number, offset: { x
watch(selectedSprite, (sprite: Sprite | null) => {
if (!sprite) return
spriteName.value = sprite.name
+ spriteWidth.value = sprite.width
+ spriteHeight.value = sprite.height
spriteActions.value = sortSpriteActions(sprite.spriteActions)
})
diff --git a/src/components/screens/Characters.vue b/src/components/screens/Characters.vue
index 9b18973..846fa72 100644
--- a/src/components/screens/Characters.vue
+++ b/src/components/screens/Characters.vue
@@ -74,7 +74,7 @@
v-for="hair in filteredHairs"
class="relative flex justify-center items-center bg-gray default-border w-[18px] h-[18px] p-2 rounded-sm hover:bg-gray-500 hover:border-gray-400 focus-visible:outline-none focus-visible:border-gray-300 focus-visible:bg-gray-500 has-[:checked]:bg-cyan has-[:checked]:border-transparent"
>
-
+