From f6bd854eafe4d4368e72f8426d13f2ebcdca3019 Mon Sep 17 00:00:00 2001 From: bridge Date: Thu, 11 Dec 2025 00:43:00 +0800 Subject: [PATCH] fix bug --- src/classes/region.py | 3 +++ src/classes/sect_region.py | 3 +++ web/src/components/game/MapLayer.vue | 6 +++--- web/src/components/game/composables/useTextures.ts | 11 ++++------- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/classes/region.py b/src/classes/region.py index 5742ee6..6e5694b 100644 --- a/src/classes/region.py +++ b/src/classes/region.py @@ -231,6 +231,9 @@ class CityRegion(Region): def get_region_type(self) -> str: return "city" + def _get_desc(self) -> str: + return "(城市)" + def __str__(self) -> str: return f"城市区域:{self.name} - {self.desc}" diff --git a/src/classes/sect_region.py b/src/classes/sect_region.py index 32e3699..5fd2ee5 100644 --- a/src/classes/sect_region.py +++ b/src/classes/sect_region.py @@ -17,6 +17,9 @@ class SectRegion(Region): def get_region_type(self) -> str: return "sect" + def _get_desc(self) -> str: + return f"(宗门:{self.sect_name})" + def get_hover_info(self) -> list[str]: # 覆盖基础 hover:明确显示“宗门驻地” return [ diff --git a/web/src/components/game/MapLayer.vue b/web/src/components/game/MapLayer.vue index b930e19..1f944ec 100644 --- a/web/src/components/game/MapLayer.vue +++ b/web/src/components/game/MapLayer.vue @@ -123,13 +123,13 @@ async function renderMap() { // 处理普通地块 let tex = getTileTexture(type, x, y) + // SECT 地块由 renderLargeRegions 渲染,这里跳过 if (type === 'SECT') { - // Legacy placeholder - tex = textures.value['CITY'] + continue } if (!tex) { - tex = textures.value['PLAIN'] + throw new Error(`Missing texture for tile type: ${type} at (${x}, ${y})`) } if (!tex) continue diff --git a/web/src/components/game/composables/useTextures.ts b/web/src/components/game/composables/useTextures.ts index 62847d6..18d4e9e 100644 --- a/web/src/components/game/composables/useTextures.ts +++ b/web/src/components/game/composables/useTextures.ts @@ -142,13 +142,10 @@ export function useTextures() { const tex = await Assets.load(url) textures.value[key] = tex } catch (e) { - try { - const encodedUrl = `/assets/sects/${encodeURIComponent(`${sectName}_${i}`)}.png` - const tex = await Assets.load(encodedUrl) - textures.value[key] = tex - } catch (e2) { - console.warn(`Failed to load sect slice: ${key}`) - } + // 尝试 URL 编码后加载 + const encodedUrl = `/assets/sects/${encodeURIComponent(`${sectName}_${i}`)}.png` + const tex = await Assets.load(encodedUrl) + textures.value[key] = tex } })