From c64be33646c5bdff4f9a47364ea2cbed04e44cc4 Mon Sep 17 00:00:00 2001 From: swrring Date: Mon, 9 Nov 2026 19:30:58 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=81=EC=9B=85=20=EB=AA=A9=EB=A1=9D=20=3D?= =?UTF-8?q?=20=ED=95=B4=EC=83=81=EB=8F=84=20=EB=8C=80=EC=9D=91=204?= =?UTF-8?q?=EC=97=B4=20=C2=B7=20=EC=9C=A0=EB=8B=9B=20=E2=88=9220=20%=20?= =?UTF-8?q?=C2=B7=20=EC=A7=84=EC=98=81=20=EC=9B=90=20=EB=B0=B0=EC=A7=80=20?= =?UTF-8?q?=C2=B7=20=EB=B3=91=EA=B3=BC=20=EC=8B=AC=EB=B3=BC(#1104=20=C2=B7?= =?UTF-8?q?=20PD=202026-11-09=20=EC=98=81=EC=9B=85=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=205=EA=B1=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 카드 축소 = 한 줄 4명(기준 1080 폭 · 칸 246 · 간격 16) 2. 해상도 대응 = UiAutoGrid(열 수 = round((폭 + 간격) ÷ (목표 칸 + 간격)) · 최소 3 · 칸 = 폭 ÷ 열 · 카드 = 원래 320×431 을 배율로) · 본문 = 화면 폭 전체 · 실측 1080×1920 = 4열 · 1536×2048 = 5열 · 1080×2400 = 4열 · 1080×2520 = 3열 3. 카드 유닛 20 % 작게(UnitPx 450 → 360) 4. 진영 = 원 배지 위·촉·오·군(UiKit.FactionBadge · 색 = 테마 fbadge_* · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) — 구 세력 깃발 대체(목록 · 편성 카드 공용) 5. 병과 = 단색 심볼(말 · 검 · 활 · 창 · 깃털부채) = Assets/UI/Symbols/cls_sym_*.png · 만든 법 = Tools/class_symbols.py(확정 납품 메달의 원본 투명 사물 그림 = 아트 R&D seed 21 의 형태 → 베이지 채움 + 안쪽 선 + 테두리 · 새로 그리지 않음) · UiKit.TypeSymbolId · 임포터 Symbols 폴더 Sprite - 캡처 도구: 영웅 목록 1536×2048 · 1080×2400 · 1080×2520 + 열 수 로그 · 진영 확인용 위·오·군 영웅 1명씩(메모리 세이브만) - 테스트 118/118(다른 세션 미커밋 전투 변경 포함 상태) · console error 0 Co-Authored-By: Claude Opus 5.5 --- Assets/Data/UI/ui_theme.csv | 13 ++ Assets/Resources/UI/UITheme.asset | 36 ++++ Assets/Scripts/Editor/UIThemeImporter.cs | 2 +- Assets/Scripts/OutGame/UI/HeroScreens.cs | 38 ++-- Assets/Scripts/OutGame/UI/UiAutoGrid.cs | 58 ++++++ Assets/Scripts/OutGame/UI/UiAutoGrid.cs.meta | 2 + Assets/Scripts/OutGame/UI/UiKit.cs | 35 ++++ Assets/Scripts/OutGame/UICaptureDriver.cs | 16 ++ Assets/UI/Symbols.meta | 8 + Assets/UI/Symbols/cls_sym_archer.png | Bin 0 -> 29521 bytes Assets/UI/Symbols/cls_sym_archer.png.meta | 168 ++++++++++++++++++ Assets/UI/Symbols/cls_sym_cavalry.png | Bin 0 -> 25505 bytes Assets/UI/Symbols/cls_sym_cavalry.png.meta | 168 ++++++++++++++++++ Assets/UI/Symbols/cls_sym_infantry.png | Bin 0 -> 22441 bytes Assets/UI/Symbols/cls_sym_infantry.png.meta | 168 ++++++++++++++++++ Assets/UI/Symbols/cls_sym_spear.png | Bin 0 -> 20224 bytes Assets/UI/Symbols/cls_sym_spear.png.meta | 168 ++++++++++++++++++ Assets/UI/Symbols/cls_sym_strategist.png | Bin 0 -> 25588 bytes Assets/UI/Symbols/cls_sym_strategist.png.meta | 168 ++++++++++++++++++ Tools/class_symbols.py | 84 +++++++++ 20 files changed, 1121 insertions(+), 11 deletions(-) create mode 100644 Assets/Scripts/OutGame/UI/UiAutoGrid.cs create mode 100644 Assets/Scripts/OutGame/UI/UiAutoGrid.cs.meta create mode 100644 Assets/UI/Symbols.meta create mode 100644 Assets/UI/Symbols/cls_sym_archer.png create mode 100644 Assets/UI/Symbols/cls_sym_archer.png.meta create mode 100644 Assets/UI/Symbols/cls_sym_cavalry.png create mode 100644 Assets/UI/Symbols/cls_sym_cavalry.png.meta create mode 100644 Assets/UI/Symbols/cls_sym_infantry.png create mode 100644 Assets/UI/Symbols/cls_sym_infantry.png.meta create mode 100644 Assets/UI/Symbols/cls_sym_spear.png create mode 100644 Assets/UI/Symbols/cls_sym_spear.png.meta create mode 100644 Assets/UI/Symbols/cls_sym_strategist.png create mode 100644 Assets/UI/Symbols/cls_sym_strategist.png.meta create mode 100644 Tools/class_symbols.py diff --git a/Assets/Data/UI/ui_theme.csv b/Assets/Data/UI/ui_theme.csv index 4103d300..544d9f53 100644 --- a/Assets/Data/UI/ui_theme.csv +++ b/Assets/Data/UI/ui_theme.csv @@ -498,3 +498,16 @@ skin,btn_green,Button/Button01_s_Green.png,,1.22,,,,Secondary 녹 h100(광고 color,stage_pattern,,,,,,#FFFFFF0D,상자 탭 무대 문양(흰 5 % · 검수2 결함 4) color,chest_select,,,,,,#FFFFFF,상자 행 선택 테두리(흰 · 금 틀과 구분 · 검수2 결함 5) color,chest_dim,,,,,,#00000040,상자 행 비선택 어둡게(25 %) +icon,cls_sym_infantry,Assets/UI/Symbols/cls_sym_infantry.png,,,,,,병과 단색 심볼 보병 검(PD 2026-11-09 · 납품 그림 형태 → Tools/class_symbols.py) +icon,cls_sym_spear,Assets/UI/Symbols/cls_sym_spear.png,,,,,,병과 단색 심볼 창병 창(PD 2026-11-09 · 납품 그림 형태 → Tools/class_symbols.py) +icon,cls_sym_cavalry,Assets/UI/Symbols/cls_sym_cavalry.png,,,,,,병과 단색 심볼 기병 말(PD 2026-11-09 · 납품 그림 형태 → Tools/class_symbols.py) +icon,cls_sym_archer,Assets/UI/Symbols/cls_sym_archer.png,,,,,,병과 단색 심볼 궁병 활(PD 2026-11-09 · 납품 그림 형태 → Tools/class_symbols.py) +icon,cls_sym_strategist,Assets/UI/Symbols/cls_sym_strategist.png,,,,,,병과 단색 심볼 책사 깃털부채(PD 2026-11-09 · 납품 그림 형태 → Tools/class_symbols.py) +color,fbadge_shu,,,,,,#5DBB4E,진영 원 배지 촉 바깥(PD 2026-11-09 · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) +color,fbadge_shu_in,,,,,,#2F8A3A,진영 원 배지 촉 안쪽 +color,fbadge_wei,,,,,,#4C8EF0,진영 원 배지 위 바깥(PD 2026-11-09 · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) +color,fbadge_wei_in,,,,,,#2459B8,진영 원 배지 위 안쪽 +color,fbadge_wu,,,,,,#EE5A48,진영 원 배지 오 바깥(PD 2026-11-09 · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) +color,fbadge_wu_in,,,,,,#B23324,진영 원 배지 오 안쪽 +color,fbadge_other,,,,,,#6E7280,진영 원 배지 군 바깥(PD 2026-11-09 · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) +color,fbadge_other_in,,,,,,#3E414B,진영 원 배지 군 안쪽 diff --git a/Assets/Resources/UI/UITheme.asset b/Assets/Resources/UI/UITheme.asset index 211c2298..198d10f6 100644 --- a/Assets/Resources/UI/UITheme.asset +++ b/Assets/Resources/UI/UITheme.asset @@ -577,6 +577,22 @@ MonoBehaviour: color: {r: 1, g: 1, b: 1, a: 1} - id: chest_dim color: {r: 0, g: 0, b: 0, a: 0.2509804} + - id: fbadge_shu + color: {r: 0.3647059, g: 0.73333335, b: 0.30588236, a: 1} + - id: fbadge_shu_in + color: {r: 0.18431373, g: 0.5411765, b: 0.22745098, a: 1} + - id: fbadge_wei + color: {r: 0.29803923, g: 0.5568628, b: 0.9411765, a: 1} + - id: fbadge_wei_in + color: {r: 0.14117648, g: 0.34901962, b: 0.72156864, a: 1} + - id: fbadge_wu + color: {r: 0.93333334, g: 0.3529412, b: 0.28235295, a: 1} + - id: fbadge_wu_in + color: {r: 0.69803923, g: 0.2, b: 0.14117648, a: 1} + - id: fbadge_other + color: {r: 0.43137255, g: 0.44705883, b: 0.5019608, a: 1} + - id: fbadge_other_in + color: {r: 0.24313726, g: 0.25490198, b: 0.29411766, a: 1} skins: - id: card pack: {fileID: 21300000, guid: 3070a6f23e6ca4273897acf1b7e8c5ce, type: 3} @@ -1776,6 +1792,26 @@ MonoBehaviour: pack: {fileID: 21300000, guid: 09135c198f8744fcd89493b169d11bd8, type: 3} samguk: {fileID: 0} tint: {r: 1, g: 1, b: 1, a: 1} + - id: cls_sym_infantry + pack: {fileID: 21300000, guid: 45255881d251469429f5a85c7d135441, type: 3} + samguk: {fileID: 0} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: cls_sym_spear + pack: {fileID: 21300000, guid: 63a264aa26e829749a8114cd7e10a22f, type: 3} + samguk: {fileID: 0} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: cls_sym_cavalry + pack: {fileID: 21300000, guid: 3ca6b69da9089eb4aabb4aa5fae10ecf, type: 3} + samguk: {fileID: 0} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: cls_sym_archer + pack: {fileID: 21300000, guid: 9238470c5d76e8c499fd2ebf8a526054, type: 3} + samguk: {fileID: 0} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: cls_sym_strategist + pack: {fileID: 21300000, guid: 63fd1be34f67f92488e14e322a34df12, type: 3} + samguk: {fileID: 0} + tint: {r: 1, g: 1, b: 1, a: 1} - id: tile_bridge pack: {fileID: 0} samguk: {fileID: 21300000, guid: 8e5bf7eb1e300474785ff2781eeb5093, type: 3} diff --git a/Assets/Scripts/Editor/UIThemeImporter.cs b/Assets/Scripts/Editor/UIThemeImporter.cs index 406520b6..6250c9be 100644 --- a/Assets/Scripts/Editor/UIThemeImporter.cs +++ b/Assets/Scripts/Editor/UIThemeImporter.cs @@ -202,7 +202,7 @@ namespace TKS.EditorTools static bool Ours(string path) { - return path.StartsWith(UIThemeImporter.SamgukRoot + "/") || path.StartsWith("Assets/UI/Lobby/"); + return path.StartsWith(UIThemeImporter.SamgukRoot + "/") || path.StartsWith("Assets/UI/Lobby/") || path.StartsWith("Assets/UI/Symbols/"); // Symbols = 병과 단색 심볼(Tools/class_symbols.py · PD 2026-11-09) } void OnPreprocessTexture() diff --git a/Assets/Scripts/OutGame/UI/HeroScreens.cs b/Assets/Scripts/OutGame/UI/HeroScreens.cs index 35e85a10..c18c43c2 100644 --- a/Assets/Scripts/OutGame/UI/HeroScreens.cs +++ b/Assets/Scripts/OutGame/UI/HeroScreens.cs @@ -85,7 +85,7 @@ namespace TKS.OutGame public static readonly Vector2 CellSize = new Vector2(320f, 431f); public static readonly Vector2 Spacing = new Vector2(22f, 20f); /// 크기 표 size_px(머리 크기 기준 표준 키)가 카드에서 차지할 px — 배율 = UnitPx ÷ size_px(모든 유닛 머리 크기 같음) · 머리 끝 위치(카드 위에서 px). - const float UnitPx = 450f; + const float UnitPx = 360f; // 450 → 360 = 유닛 20 % 작게(PD 2026-11-09 「현재 비율보다 20 % 정도 작게」) const float HeadTop = 50f; public static Image Card(Transform content, OutGameSession s, HeroDb.Hero h, bool deployed, System.Action onTap) @@ -122,7 +122,7 @@ namespace TKS.OutGame } else { - art = UiKit.Rect("Character", b, new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), new Vector2(0f, -56f), new Vector2(470f, 460f)).gameObject.AddComponent(); + art = UiKit.Rect("Character", b, new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), new Vector2(0f, -56f), new Vector2(376f, 368f)).gameObject.AddComponent(); art.preserveAspect = true; } art.sprite = sp; @@ -154,8 +154,8 @@ namespace TKS.OutGame bt.horizontalOverflow = HorizontalWrapMode.Overflow; } // PD 커스터마이징(2026-11-09): 왼쪽 위 = 진영 깃발 · 그 오른쪽 = 이름(45 · 긴 이름 자동 축소) · 깃발 아래(왼쪽 가장자리) = 출전 · 오른쪽 위 = 병종 원(#35374E 58×60) - var flag = UiKit.Icon(t, UISkin.Icon("flag_" + h.faction) != null ? "flag_" + h.faction : "flag_other", new Vector2(0f, 1f), new Vector2(0.5f, 0.5f), new Vector2(44f, -42f), 66f); - UiKit.DropShadow(flag, 3f); + // 진영 = 원 배지(위·촉·오·군 · PD 2026-11-09 · 구 세력 깃발 대체) + UiKit.DropShadow(UiKit.FactionBadge(t, h.faction, new Vector2(0f, 1f), new Vector2(0.5f, 0.5f), new Vector2(44f, -42f), 62f), 3f); var name = UiKit.Title(UiKit.Label(t, h.nameKo, 45, UiKit.White, TextAnchor.MiddleLeft, new Vector2(0f, 1f), new Vector2(0f, 0.5f), new Vector2(80f, -40.5f), new Vector2(172f, 66f)), true); name.resizeTextForBestFit = true; name.resizeTextMinSize = 26; @@ -167,7 +167,7 @@ namespace TKS.OutGame } var role = UiKit.Skin(UiKit.Rect("Role", t, new Vector2(1f, 1f), new Vector2(0.5f, 0.5f), new Vector2(-42f, -42f), new Vector2(58f, 60f)), "dot", UiKit.Col("circle_inner", UiKit.Dark)); role.preserveAspect = true; - if (UiKit.Icon(role.transform, UiKit.TypeIconId(h.type), new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), Vector2.zero, 40f) == null) + if (UiKit.Icon(role.transform, UiKit.TypeSymbolId(h.type), new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), Vector2.zero, 46f) == null) // 병과 심볼(PD 2026-11-09) UiKit.Title(UiKit.FillLabel(role.transform, UnitTypeInfo.Mark(h.type), 28, UiKit.White), true); if (s.CanGrowAny(h.id)) UiKit.Icon(t, "new_dot", new Vector2(0f, 0f), new Vector2(0.5f, 0.5f), new Vector2(64f, 70f), 30f); // 성장 가능 = 레벨 배지 오른쪽 위 return cell; @@ -226,6 +226,7 @@ namespace TKS.OutGame Text filterText; Text countText; int ownedCards; + UiAutoGrid autoGrid; public bool ShowingSoldiers { @@ -255,9 +256,25 @@ namespace TKS.OutGame var arrow = UiKit.Icon(pick, "arrow_down", new Vector2(1f, 0.5f), new Vector2(1f, 0.5f), new Vector2(-6f, 0f), 38f); UiKit.DropShadow(arrow, 3f); - var body = Body(); - float side = (OutGameRoot.Reference.x - CollectionCards.CellSize.x * 3f - CollectionCards.Spacing.x * 2f) / 2f; - content = UiKit.ScrollGrid("List", body, side, side, 20f, 0f, CollectionCards.CellSize, CollectionCards.Spacing, 3, out scroll); + // 본문 = 화면 폭 전체(해상도 대응 · PD 2026-11-09) · 열 수·카드 배율 = UiAutoGrid(기준 1080 = 4열 · 좁으면 3 · 넓으면 5 이상) + var body = UiKit.Fill("ListBody", Rt, 0f, 0f, OutGameRoot.TopBarH + OutGameRoot.HeaderH, OutGameRoot.TabBarH); + content = UiKit.ScrollGrid("List", body, 24f, 24f, 20f, 0f, CollectionCards.CellSize, CollectionCards.Spacing, 4, out scroll); + autoGrid = content.gameObject.AddComponent(); + autoGrid.design = CollectionCards.CellSize; + } + + /// 열 수(해상도 대응 · 테스트·캡처). + public int Columns + { + get { return autoGrid != null ? autoGrid.Columns : 0; } + } + + /// 격자 칸(holder) — 원래 크기 카드를 UiAutoGrid 배율로 넣는다. + Transform Slot() + { + var go = new GameObject("Slot", typeof(RectTransform)); + go.transform.SetParent(content, false); + return go.transform; } public void SetFilter(bool soldier) @@ -284,14 +301,15 @@ namespace TKS.OutGame foreach (var h in owned) { var id = h.id; - CollectionCards.Card(content, S, h, S.InActivePreset(id), () => Root.ShowHero(id)); + CollectionCards.CardIn(Slot(), S, h, S.InActivePreset(id), () => Root.ShowHero(id), autoGrid.Scale); ownedCards++; } int total = 0; foreach (var h in S.Db.Heroes.heroes) if (h.isSoldier == soldiers) total++; - for (int i = owned.Count; i < total; i++) CollectionCards.Empty(content); + for (int i = owned.Count; i < total; i++) CollectionCards.EmptyIn(Slot(), autoGrid.Scale); countText.text = owned.Count + "/" + total; + autoGrid.Apply(); } /// 보유 카드 수(빈 카드 제외). diff --git a/Assets/Scripts/OutGame/UI/UiAutoGrid.cs b/Assets/Scripts/OutGame/UI/UiAutoGrid.cs new file mode 100644 index 00000000..bfe2a955 --- /dev/null +++ b/Assets/Scripts/OutGame/UI/UiAutoGrid.cs @@ -0,0 +1,58 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace TKS.OutGame +{ + /// + /// 해상도 대응 카드 격자(PD 2026-11-09 「한 줄 최대 4명 · 가로가 길면 4명 이상 · 좁으면 3명 · 자동 리사이징」) — + /// 폭에 맞춰 열 수 = round((폭 + 간격) ÷ (목표 칸 폭 + 간격)) · 최소 minColumns · 칸 폭 = 폭을 열 수로 나눔(세로 = 원래 비율) · + /// 각 칸(holder)의 첫 자식 = 원래 크기(design) 카드 → 배율 Scale 로 맞춤. 기준 1080 폭(좌우 24) = 4열. + /// + [RequireComponent(typeof(GridLayoutGroup))] + public class UiAutoGrid : MonoBehaviour + { + public Vector2 design = new Vector2(320f, 431f); + public float targetWidth = 246f; + public float gap = 16f; + public int minColumns = 3; + + GridLayoutGroup grid; + bool busy; + + public float Scale { get; private set; } + public int Columns { get; private set; } + + void Awake() + { + grid = GetComponent(); + if (Scale <= 0f) Scale = targetWidth / design.x; + } + + void OnRectTransformDimensionsChange() + { + Apply(); + } + + /// 지금 폭으로 열 수·칸 크기·카드 배율을 다시 계산(칸을 새로 넣은 뒤에도 부른다). + public void Apply() + { + if (busy) return; + if (grid == null) Awake(); + var rt = (RectTransform)transform; + float w = rt.rect.width - grid.padding.left - grid.padding.right; + if (w <= 1f) return; + busy = true; + int cols = Mathf.Max(minColumns, Mathf.RoundToInt((w + gap) / (targetWidth + gap))); + float cw = (w - (cols - 1) * gap) / cols; + Scale = cw / design.x; + Columns = cols; + var cell = new Vector2(cw, design.y * Scale); + if (grid.cellSize != cell) grid.cellSize = cell; + if (grid.spacing != new Vector2(gap, gap)) grid.spacing = new Vector2(gap, gap); + if (grid.constraintCount != cols) grid.constraintCount = cols; + foreach (Transform c in transform) + if (c.childCount > 0) c.GetChild(0).localScale = new Vector3(Scale, Scale, 1f); + busy = false; + } + } +} diff --git a/Assets/Scripts/OutGame/UI/UiAutoGrid.cs.meta b/Assets/Scripts/OutGame/UI/UiAutoGrid.cs.meta new file mode 100644 index 00000000..393165c7 --- /dev/null +++ b/Assets/Scripts/OutGame/UI/UiAutoGrid.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 489991b2f3bb99e4ba6e6bc028da049f \ No newline at end of file diff --git a/Assets/Scripts/OutGame/UI/UiKit.cs b/Assets/Scripts/OutGame/UI/UiKit.cs index cfa2052c..86707ffe 100644 --- a/Assets/Scripts/OutGame/UI/UiKit.cs +++ b/Assets/Scripts/OutGame/UI/UiKit.cs @@ -411,6 +411,41 @@ namespace TKS.OutGame return t; } + /// 병과 단색 심볼 id(PD 2026-11-09 · 말 · 검 · 활 · 창 · 깃털부채) — 없으면 기존 병과 메달 아이콘. + public static string TypeSymbolId(UnitType t) + { + string id = "cls_sym_" + TypeKey(t); + return UISkin.Icon(id) != null ? id : TypeIconId(t); + } + + /// 진영 글자(위 · 촉 · 오 · 군) · 키 = heroes.csv faction(shu · wei · wu · other). + public static string FactionKo(string f) + { + switch (f) + { + case "shu": return "촉"; + case "wei": return "위"; + case "wu": return "오"; + } + return "군"; + } + + /// 진영 원 배지(PD 2026-11-09 「원형 프레임에 위·촉·오·군 · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색」) = 원 틀(fbadge_*) + 안쪽 원(fbadge_*_in) + 흰 글자. + public static Image FactionBadge(Transform p, string faction, Vector2 anchor, Vector2 pivot, Vector2 pos, float d) + { + string f = faction == "shu" || faction == "wei" || faction == "wu" ? faction : "other"; + var ring = Skin(Rect("Faction", p, anchor, pivot, pos, new Vector2(d, d)), "circle_frame", Col("fbadge_" + f, Dark)); + ring.preserveAspect = true; + var inner = Rect("In", ring.transform, new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), Vector2.zero, new Vector2(d * 0.72f, d * 0.72f)).gameObject.AddComponent(); + inner.sprite = Circle; + inner.color = Col("fbadge_" + f + "_in", Dark); + inner.raycastTarget = false; + var t = Title(FillLabel(ring.transform, FactionKo(f), Mathf.RoundToInt(d * 0.48f), White), true); + t.rectTransform.offsetMin = new Vector2(0f, d * 0.03f); + t.horizontalOverflow = HorizontalWrapMode.Overflow; + return ring; + } + /// 아이콘(테마 id · 없으면 null). public static Image Icon(Transform parent, string id, Vector2 anchor, Vector2 pivot, Vector2 pos, float size) { diff --git a/Assets/Scripts/OutGame/UICaptureDriver.cs b/Assets/Scripts/OutGame/UICaptureDriver.cs index e8706877..ef9d8625 100644 --- a/Assets/Scripts/OutGame/UICaptureDriver.cs +++ b/Assets/Scripts/OutGame/UICaptureDriver.cs @@ -78,8 +78,24 @@ namespace TKS.OutGame if (sid == id || sh == null || shs == null || sh.gear.Count == 0) continue; shs.grade = sh.gear[Mathf.Min(gi++, sh.gear.Count - 1)].grade; } + // 진영 원 배지 확인용(메모리 세이브만 · PD 2026-11-09): 위 · 오 · 군 영웅 1명씩 보유 추가 + foreach (var fac in new[] { "wei", "wu", "other" }) + foreach (var fh in db.Heroes.heroes) + if (!fh.isSoldier && fh.faction == fac && !d.Owns(fh.id)) + { + HeroRules.Grant(db, d, fh, HeroRules.GearSlotCount(db)); + break; + } root.Show(root.HeroList); yield return Shot(cam, "hero_list", W, H); + Log("hero_list cols=" + root.HeroList.Columns); + // 해상도 대응(PD 2026-11-09): 넓은 화면(3:4) · 좁은 화면(9:20) + yield return Shot(cam, "hero_list_1536x2048", W2, H2); + Log("hero_list_1536x2048 cols=" + root.HeroList.Columns); + yield return Shot(cam, "hero_list_1080x2400", 1080, 2400); + Log("hero_list_1080x2400 cols=" + root.HeroList.Columns); + yield return Shot(cam, "hero_list_1080x2520", 1080, 2520); + Log("hero_list_1080x2520 cols=" + root.HeroList.Columns); root.ShowHero(id); yield return Shot(cam, "hero_detail", W, H); // 영웅 상세 등급 변형(UI 상업용 재설계 ① · 목업 hero_detail_5등급 대조 · 메모리 세이브만) = 그 영웅 장비 세트의 등급 순서대로 diff --git a/Assets/UI/Symbols.meta b/Assets/UI/Symbols.meta new file mode 100644 index 00000000..ea87d826 --- /dev/null +++ b/Assets/UI/Symbols.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abcec5e654e973d49a8e4be2b67eb6fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/Symbols/cls_sym_archer.png b/Assets/UI/Symbols/cls_sym_archer.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b6d71d60e8fa500b0da6246938b610022625e2 GIT binary patch literal 29521 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⩔h;2 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 Y+2}jmT4{ZNugV0-NGOQch#Cg{4<+y4k^lez literal 0 HcmV?d00001 diff --git a/Assets/UI/Symbols/cls_sym_archer.png.meta b/Assets/UI/Symbols/cls_sym_archer.png.meta new file mode 100644 index 00000000..ddaf4ed6 --- /dev/null +++ b/Assets/UI/Symbols/cls_sym_archer.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 9238470c5d76e8c499fd2ebf8a526054 +TextureImporter: + internalIDToNameTable: + - first: + 213: 3906269742430731014 + second: cls_sym_archer_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: cls_sym_archer_0 + rect: + serializedVersion: 2 + x: 20 + y: 13 + width: 215 + height: 230 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 60bb07a62abd53630800000000000000 + internalID: 3906269742430731014 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/Symbols/cls_sym_cavalry.png b/Assets/UI/Symbols/cls_sym_cavalry.png new file mode 100644 index 0000000000000000000000000000000000000000..4c96e8d04bcc988a17e27fb96dc6edafa309bc56 GIT binary patch literal 25505 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 OfRyDmq|(K3-mVWoFqMLMkdMIMEv* z6%{jYEC~If85P*fED^bP=?k$QWVX~28gqFet*Z|Y4K?3+eyjpV! z_7`1Oq*EZqn^5GRy+QV0+o^tzl^CI6o|4sU560!?!~mTGI*NZ&qt@0-xva-gsF)8+yKGml7;xWC+-}rDV+i26yLSVSPn1 zMGO}(F~rFy7#dXJ1PI{k?+%mu+yhtgz!^NLB}`G}lS$|i8A?9;ikSTlfLXUyq`h;*Ls+I*l+RVU zZZ^?b(BN|`CE~qVYq+M_gJno~olzdRdDh1~q3?*bfrGBNI4I4rsEE^RdOB5fr*Bxmr*BP-I99Ps~b5Ir0_tq%XFspPxGTNApu#Sm~+vtltQ8ZmlhZM5SKb1{98^UI7SX z&G&qGU=t1erK4RIG{Lz*jze+LyUL&@yq%fzSoAcgs$hgXS|iHhUzzf7h*psW35VvM zkq+|%;+#*3y|B2LV;}WA5TI**bMQ^THXOdJnbS`-CxhLXE*nE-Wvxpy|&C`RY3Cga-i4wHZa2df}+#s%G^n)nC zYHIu^h~2>#--ok9JD&yO-_8ef0bbrRs3ly`^!oVg5%ZoO&iV&?>b7HXg^SE8srS2v zm+8!E-1+|V=K?E;_h8^QT_aZ`=QF>nAe2sS#{>leNAPa8C7l!5VEUFH8DUaW1#p30 z);rc$W)K&!n#K=Da(s7K9pgXS3+$%4#GCWStriDS;;8`D_{K0(T>C{AovOqYbJ-;1 z&*Ni{{do>0%2^H>!53T#shngAx=e`u?y(7^2Q)4CzV-2;DK7By3B5{Y{Tzo_&+5;j zp>#&n&tsCQAFp09ZIV*KwSZc);^+TB&(td3E8N)1%YC1?#eay}eViHXnu=}NXOnX! zZNnplU2snWg*j1=CC^aOS!81KhWE zzZd!i{!IwF@0>)r^QdFh>6Ms#8a15Q0TWu#Cusn5Nv8_Uup8{P<8CfLR80p-Japka zE`?|A)NKceE5ULJem9$`d-{QM*domEfGYCeD$?>fKW9%I_54eXE~*FcsXavv4^}tUPYkD!Ob(Dh2J1 z7206t0G@fO@dh!&dg)K`MLihpl(D&{D_Aqt`B&T`QGdW9utH&gD$B zHJTg)Zt{PsMg;k0hg%~9G!7E=qR;CZ#GP+*VN0#%Rf~&X=Sm2*l77Zvav%nv`G z&fqU|zfs1^Jg5a>k~YgILWpzim}X;<_6Lh@VRKF^gM^Z$SCNvPR=3^m)qpD;Z!wNv zxvThOiEJ2pEJ)J^TaEBkl8|VSiw!M1=!~~3m@V<<+vwT5y~=MFyI1Ge-}oT(Y;WPK zkSQy8*dB8`(+{;21iGprnlpqOFAX#AAFd_KUoTT@5-yC3T*Fh>O5QW{935i#an}95 zWsomYBwLe9#vhVdSm|4xeT%Kw$sD*utU~F4Uq@W65+MU=Od>_I=R2mw5^BJ-*LLPIn z`RA|4Yez&x4mhUCSq$g`?&o6G4%qz_oj@zD@MF7jQ*M@{zwF(wMfZO!+v?qS+b63< zo!wE4iBv!`sV{D>)Avm#WB1rKLD$c@^}Y%kUlrnCz}aNoo_zL(ffzOLUpYBi1un9x$b_}GPixl%OO4a$0bxN$ zJ#in>3h*ISJ$557b_ieu2k+hFFU{Rvr?Wa)=X-6z=6MEMS?DRSk9x)D6zk@+sYu{1 z=BN9?wOtbrFr=<#pX37;E>fNyk;|M5KHJJ)YB@L;7$TL&!L@B`+$A;e%SM!AsP)ub z183uLr3fNneHwU+agcc_t}tovM4r8Y*4AKf=-^Kk)Vsw>!G=f$nH1<^6{s0<9G5P` z6lC0|xOP)vuMw61??;i4aX+?LU+`e7pyCfiUb5}sK!9T^>>Z6;*ABHz7u%O>tt6BEI97$mvmzgB0>cp_uluCB#}JISYNBoJujZ)>eaj|We9~)b z=L5!f_Pts)a_Fi`T{_NE_~rOG8N|#K){MkZ9RDrOvVECV=So;Vcu5eeZWczT<3A)# zK=01fRjes%fq_-8HQ$vPHH8}{AMn%0>G;*}vApwLAm|6gHb^=IDY`wprMl3aJmc}b z&@wPqi7dqUDJ*e))AU!XNXMnW-_70S_k$W;$u7*yqkIBaTUkK;{if4naT^`I?2|`5 zD_o~iMpn^DQ-pmFqt7=d!*bpFSVI;ywd9zSLA-%!ONc3Ym*7xu$kFAj*FW@w^x71P zQ2yh-g%AD=+1?Ojr5fm=5@VF_#P>DATX#F+Vt4YbK*QrV<#+M#zAumg>CB!79$gM! znC0X&zkn@9WgB213D)a81Oi5j5q#yO)=JLZz-1cVz@3RCG=eH&n|Ia7MX z_h0l-`8oFKyLSa=AzO(dZ@zG?ta6RQ1C}{i5a~+e`w zCdlFz7Io3S&DZo4IE;tnG}{2W#FjPy&bG$`(oS5TBo6kfyB$RAy-q#qRXupvPL-op z`*wbVC-K;TnjB9GP=kQ=;f1hRMztRsDmMtVhd^`aReR|>C#7psT`o!jr49ADf>5CB%BXZj6 z`6-|oSR1c zl}}}p3B&qVu}aIa14i_JdrkaQM6gTc_mM*6T}Z-cQY`5Sj$q49U40w4sCy})wXj`I zZn{3yyhc!0srA!6S7YNtJmH5$^XLEz`<3XCOAClZ{uw@D3Kr%X{w@D<%NtYO2XJ@- zDN0hE2I8OySS#%cG+h>Xl`D5__nsVU-N`9XEV=PW*j5k+>;cy3nCbY%GG_#RE-9Y7Ys1{QUzB_ov0xhugZ-Kf9xYY-GtRPbC|wfbc{9Xl)H30WjB^$c{` z^VAGzss`+;JA$`dpWZ8DO$C?UG2TaYrSC{%ZumhA0p1!ezL;IvFWZI@x)CV0k_M#U42PknsV?y1pgQa;XgQAd%+Kpsdb};LUDj;m8hEJ zPp4U!CHlaI=c_+kq=c(c_UWG(KaEae^C5-NejT9# z2#W7+O~0Fem-1s!=jEtF1NQ%*RGSBQlJ_EyHBGP@7R$&%4u~+ul&+;h6rN?Fa!8SL zWM-w608FY-IbqJkls@+@nUzdO6=gguLCxUwF*2et-4fAznAMs80L+zf)OZTlJb7v^d}1vYCg1stRKbpfZKrFk2AM>|5e zM=)hnY1G4VA=Wzr^)kTS;TdCAf6Q-9JXB`j{7T~{^ib59RkPdE53;0ttDjY6= zvIJWY|5w!yKTb_bj}t3J3NicVx_udqfZUw^>c#gK^V`H&>==Px{qX6WN8CuYO(fu7OXH8rMr=7Z;)2WaH_c;5T=*iLV?)*A~cawVG&?lfu+laE=fkU0Y%U zSwk!33Okv_fBuk+r<2^OG+r2hgoVe*R(~P5$J$^gfN4yYV0zvD^`=;Kdjv;_FtD+9r?{Tdf~XQ6N%nf z=uc)hgP@OU=U8NMRK-t%ZtmMBs}WV^I~kD%Vf;pzgfd?Ht8tu=E%dpr_9_sNiv;6n zO={L6g5IjvV01~6S#Xn64Uwb#dj=o9T0B&t*QT*1^5>KeE(dtItGSwOBJ0hdn)j>> zokkH7iBf5d8m95ohfkz|S=w_oXC=NbFHYS~>Nrns zyn}s3-7ZdhVWCD>UUIs@Gv^IFG3Q_XOHONF6(K)zBtI!V^@94MTl%%t0pfKKax7#k zjj~_@Cy}S<$t=oUzpvNrZ5eG0!fsvsHtT@U0_$5GYH@y)w z?S)w`oApAKhet7dA~xUPt$0}u?b ziavMTcP23oJoRxj4sI6_9Qwpp4ZC2_z%%o!mF$rdufEp`LV*Uzp!mK(dI?`XTc)H{ z`xXMy0cy)nkE;%pn#mNLx&j5RgoWEvlg+Dr?htHs4I*?=*)Cc+%bkh7Fe&0iu{Md6I z{m&AVON%6;6Cv?Td|`qSx`C&~ritVR;_03D8R*;|rq09gtk`!)506-+{5pUFddZCFNM7njfeL2FY zT+MnVvQ(uu=*9(rn07iP%xQh~2I_$12^pDAdasKZB4dVXr|x{*)Vsdqg58&SXCjdX zyQ?axW*|;PK^~D_z4?pB3uD8NxG2WTz~BvRtwJir1tD87B$|S2DvVwYL%Ty6Byw`f zsm+aWq@sT4|IpZ)rGsm+P%1#s(mtO{GFlRp@R&)rg)GE}2pDzQ?E^WT4%?EIpeH>e ziog@lOyq}UA2sdH7A-&&C<=R~%;a z+z{}biW4eDj%rj3h7ok8e4K@qdYBK_kKG@N61zbYjSZacZvQ@ACvAUBi+Rn_zyH2EaL$iVpc z=@FvuEruhpRdEmDNe-S?gZYq>sjGUp0H4~k-v-T=_N~nbDd!`EsHmVC(_pezDzq7+ zkiJ);cQU}3re0}%njG=(l{Aml1~5sA`Nzv$!>bR8*?k&-!1yHd+)uA6ZL^s`T^8fj zVYmlYm|tU7eK%#b&?MO(t-gbP?q9^yex~0&e&dzyd++T2ciw#~u4rhFz&wf%$W_I%FAJwLqJkmCFnCUZu`+)8xok)9vExTJ|9Bf`{svvj?;slL6J7 zaQ)hM$)cFTYmry0MVh3w$)0IBcT4eQ#y>!-(pY$hNxF!PG3YP+0oe z!XQ|!yW)^)W-k6g3ok78XBrgG%q3S6S$n(?kp9X^l1&v$i;VlTR$V#J>h$5?yzdii zXB-kUEnJhu-27SI29H50-^~I^bmM_=Czm*PR{CR)y4vc2*ebz0who0QMxnjP-{U6X z6dplAX8Eem3JvP4oBEyi@rSXDrVcNygXFWVIjsknXT8tM^ zxP5!?eeB3}O2y3CrrP@t1W9LP;0!GIiziUFdQ-GjYJltkKc5r9Bs12e2yDE3&nNrlOX0aD5v% z)x;F%Y>k+vg}kI{B}d3IB_9`aZ{|b6sqP-o0gG(YGB)}NyfCpD`!zjBpK%h#M61LV z^5(mbBQr$-#xbIRxdqJ^aZRicY+caE$L0z*84i6eH0T0g=e3^`_CAAj;Q?MTr%gz9 z4}{_FA4hQC+Ftt3($TWzJ||=k|2{6$i)AvQ2n$gg!V(j;1Q~+zc4`Qwg$Tr*(YUAs z;Y&bf#BJP?+<9Z3w;93EK=*E;bUEJ*$pd$fd|0*wZ@3Fkl>_H7Mb)OgH;cK5TfE8U zJ3e7s5*-F{3*mK>q2-)CExgM>7g}`Ry|9=~0FpTp6nVJ0YL^xyC@PQ0OX$iRoK1V% zjN$yKUcFrPEbF{rrwq8L`iL47Sa}AN=qHF++doGDD^@rgFmfi{IOjq)ib(U^?m6@)LKc( z1%o?j{E;drG*|cLJ8gZ5uNpUU$#}VV#^V0XBOGiDM}wW>mB%)t%)i|ppST)iM;m{< zn|K^?=s`F4B=0Qe&J#?np4m6cfI?rBx0}RcEG_$yRsCvCXu&vf(jp2W3saCiDEK*X z!!xrwj~3UiBwl_Vjgjex_@5XyJJHj=gkyd#ErK^dxLMIxlM%oC05M}3AdI9K`JjP^ zEta_Kx3w8``o@ONU>A-%^qrXHWUXHE)J+X9AM?w;M-gMAvLc@%DwvNPDB&R@J5H^v zQq=UtNi}XSqWY1N<4k=sZE}*>I!yVwHOWaxjDXCkYAc0om?Xn_U(y)J+aXl?k;pgq zPu?J-pU<^BXBAoWq1@Rc6*5?%WuwLdJM(V)z3*d1%X@~;ic)gb0FejFK}yrWwM@-) zeZ4mgk*x!0UVEyaGS$nFB|T&Ro^jb9t@({}SrXTLS+?O;$igTDaD)Mj%r$aDikb_5L>LTU@vS5c%^`snjRflLf$kmVEr@^-9P3 z?Yq-_jasxIprZ|?#0wBh{_|qR;JNWM&F?{S7jV@@e8Ld$)U}HdO~;Y4^ue;jw5)3iU8CGyvfjqhUREk(>qQr+?zVnqFA_6zNDctsUabMAuf6q22#fekXj9Fd8)9 zugV4q+}XbN$u=N!{lR;RMPkfKpSnStq>Qo1ut>3Z^{nK1nU3iTx5d1(8mYst@zbFn zo8IVizQ>GzCR(%<%+Id18S?RBDlzj~xStp9f_-bFF)m@(B^uuM4kEcb6-1Evmv0DM zwy3xjy+c;<+%f=l^5Ty(OlMDAkAA28El{z&LYw_9r549PuY5GwNbfPF&ab?J=gks8 zH-?u_M>hD(`q#@>V6`Ty{8(LL-{TFFc@4-A0cOk`82cjP>dnBq%&yyMLNV^4I8s;; z?8+wS>zHC6mVuCXj*0)qULu&M4$riRqI!_&%4R2$zxj}Qs|Q&&Q?3&&;k(7U?}t+e ze;v2aQq8$DckX8$oW{uHlatHc^-xYN7EPcCrK%;Gt6Y_lRJl$lp3t{ZNlz0bjbJ$m z^Vf>jgvWqt4S|G6+eR9CWzTpG7QD&98c)mm83p`uGQ4}SQ%T>g<=s2cG+c@!hi7{~ zWV{5Tlvp5Y&~JikS~`8?G6Y}{0g;q5uIsGXr#J4a+;PuzaeLzS?|bw*S#OBdN3e< zSaspNn#0Y4*Zp92q7uLND2wZVcevVMKcU|Gtyh+o_IFozSR~(k)w0xTTO%8@CMJs8 z`!MurgJplba|&t{K4bbw=bmO&$+$>{=#b0JIs79ks*auW`BgQ%M(jsK4*oZ1<_d({ z)EbCX`48bFuviGoXmIMtTOHI*25YWH;9QI5O#GR$;N2vl!kiW6`nuHOwj-Sjtx?(K z2WmJ_9VP1agUj$b&35y=xg0QCH;G#nbcyJ`f-5%hrkeBnXMBM(7mjbq7_$FeVNw6x zJxB~^|4R+T5#yNQ-H2{masRwK{Aqx{#kPG02lLtGR($KI=ND3rF>+W=#AI}V*V-lV zW5XVHh>47sjbe&v#`(IOnTvSYYt#gq0eqWXQ_(x`nK#4X- z1@_UFr=v-Htf~>pv%g2*Vgu1ktdf~iu#5QTg9gkO|xR%UXG z+R)~DH9zJx?L3aH>y(tLaj({?Q9*pkuq-PX)I+C2oCreJtirq&2KZe%=Yt_p}$ zUb~4_(++W5snCA1w&uG5+Mp$)H`c0%rHTG}?yk(iQ-!eA1|a7D*7K97xcM^Fg`1fJ(873)Yycnrsu$<<_ zWFgQ+t!Bv$&d-G;yaqE3^8C?o*0Uj9z`xYb#mr3^N#T-5lf%yZLk$hZoZF*nv<%es zfCp%??rY`yX;UQA&;|^CQ=sd#5yJ3X5Jaj3v*RQ~#&!;XT94CWcF}g7O;-NIpNW;I zV}4!DF5Tz){o-uD|M@PAi}6EgQE}JiOQhdt%m7@7*I~q-_C1FycZ;oXF$nx0t%!Tb zk@ttf%xR|?u)qv~jEg2EgcA?-g|6?enSHIoy*y49cc#WTZH3C2TelMU)*f@^&YKmR z{BT#Q8HY{hr6TmYBY7rQPsh1Nt+nd439VFoIH$|+QpTi4T}P0vNg(jDy@Z{Uvg81c zW^`a^8E>Dpmmi758nR*|f+*o3J~(`qKYQFMcF^p!9IKRJg51VQ3sL|U$Smt}e-I|S z6i%|d{wec9d^Uo|UT=ym7;yD=cHOT<(fR&Qz}x{U7Uk&TBCuLu0j%YPncR%jJEW50 zSm3UScY~H%ws}4FUwruJ&ZU&X-Bb^i+d{ zTr#QfbkN&=7d(nqPfxdQU#)o3ayP3G%{c}A8tE7M^4;Hbf@qn`cX-A_dyEy@P60#P<*IjBU*8EpWUJ?-;)T)SrViA{Dkxo zPFuj@Ta8MuMD7&>yT^C*@Z_LI+F}P~G@b@#>I8u4yr|b_G zGTiB5vSXe?>OoO$T3xxA9dpM9zFw1Y?hgBVMs5Jll7vY2LJsm64wI0q;s40mi}8s^ zgF{qzC4!Fy-xZK#jAf$(z)Ee1`_zii(+2#db11Y4#Eaa1$mo93tk9?6tLDki)oMP` zWTQdCM)cF;OQ2nQf5bb2;QA7w0+EyO6%%@ zVNvz^sh%)wdZ@@i*6+VXlVE&O)>5`)+SY7s+ksFO9!2<2K+5~CWt9$(7!aQ+Olj+@w&W+;9-f3ayA zYXGAUIR7N*-?w&PUXZ;wt02@YXpGXvzC0msXl=j?_@_g;w^D^$LU>4y2(APR+@gBq zUl&xz`2xpy39P})cANm(NE|%8*(?l!k4k-KSF}HzOqluyxco6l*r}Uocoy)_qKwIF5jorr2s&&FWUc!I;?m?X(>K8N3eZwVP(wthQvM<@iwt{;FO1uHXd3m?pc!gYhJroMp}hot_@7F$erLnda?`xAR1m0s$L>(=p}auFv5pXMdY}nSg*-M*i(c z8&xZMV|IBXe$kifqOACoRouf!8WUnI8D`o_%DBtc?w!JJng-;`f4^bq_csDk?uLi|HYM@k3iac|SUv7hW zGdOpb6V^wpWRLS~!53Ge4n(jwooDr3gJ?Ew?N}WzA@IuyJ+@zHiQK$|eq;~v8*@sy$ASYo)2ZpoXY0=V?f`jw|o9Tj_(HvyS8^C6-iLcG)Z*F1b zBoN8^!R1dblv!**u8}|)R@XUQJ}Is#B<_4r8pNQ*jC2!K5fLD1_Z&g2@n(L7{gNyAXC1%az0C&Sprp;d{Qxc=hD*qFc${s?w%(eyP zpIo=jjuzq{{U@G0+|g8;?D>6@!I5?`S`llV778RpglPi)1~ctEz3x4%1ahT!*1XN{ zAGKPHtEUcD+`{{jIq_}#SyU9KEAtOD;kAoax|xmQ5X&Xs6(0>ijcX6*vbBu#2@Z+! z?Mzc-fVFS^U`NLMt$5X$2j~V!wc~WKZl1D(rklj)ihf!L+dD4aai_wh0(ImFr#Jvs{DHfF z{wv}uda<_w5o}LZ*b@*lI7@y??_#E~=0O3eKFh*TT6@FUdTW4Jc|qlY?E?fYfNKO`{N@UV0eV{V&> zP~k79awnDQe(7fyf5|@IZSRGt5?e>mFz*`rOV)HgM)q^W-Y(ZUIB3&AY!z#D?-$w+ zp_B-hN7&s+kTfTtjTF_8ce|9uhHtx)&n@tKS#o+n^R*gCOtH=I$rp9R0E3{>e6N($ z1%01p9L#fj(rSs475kE2BqN?q)GF0Z_X%AHl&M?8LlR&ihLFjhOqcZ!67doQt&*sB zIggFGXzEUG7f=XSlR(ZC`!HY`IW|#w1b70YBqnp0n+ujWmGNbrNM-XnUKk% z@ZT-7FSR@cwTA1dOdm>W^;3jwl@ZLH9Jd64FJla8e?5(dvFpXr?}^x z0Jlk=f!sz1(;SH=4`n5?>#-w@j zqil$J8$y_?6KlTyTPMaE5|#I_&2}sezBwjT=wq;n22?qTavI~XARaLOu*IHH1O4zO zuGX=h{_~gKjY!$6Rkg9BliIop-6oFh%7=yoQfORXdJSf*r_)2;lfitw9VA5|Q}0WJ zG<*kDv&4Ecf(6cSZ3IENBN3v|&Dz>r^MRhMRO(<`O;85;+LP7>XNjCXa|$j6&T?sM z@SIj=ns(XM<7dO4X}R+X+VkB<2~p}6dEv-s3gPN00sP<1$xuHbQOgxRnDN3L86W3Y z>u!1f<4L!ZmdB`JzI$IXX-<#dgIq}CXxq~9!?X0reuh`FE#k^uvpm6YyC0U?)LQD> ztPATxTfDitBo=Nj&tB3!bn*(%t=sgrE;ym@PIEGt^AAS_;d-oEwr=LIsdsv@Z*2%s z${kJi?^^3MWd!9lB@?6>cz?Z-@#Uq)Ts4USjyUxxL7J0A@JRw0a0yxNOrBA}#{pbT zW@H<$D(5o8T9spa*btM7fP2t#?@Oia7c0{DrkRzQ0kkJLwj&3R%bqU<9khlwNKn%B z*ME*LuDUY0Wl3=1O6sx3*YvwW5jOmat;Zj4$Wu;AA}9jedgxyIGN^p6TU5E3b%|yB zj84FyPoA2nog!zD<_<0GLqF|&Jr;yGQ6EEN7%N|cmr(Q%^N^)w<4L6bUzuwXdnrjQ zEX0WX%e4_}$_2a-w!+mMrq@v=xS>_-T0XVJ55>X=b-;H+Xa!gaN=`e*&ZjqbEz7vW9ClXtR) zl^l{+H8n>JwyU@8e8HpDy=sNkT-~;B?%e3C=rq3dz!P>Z;R4~v?_Qcr2zkM~IbzdY zlnk4;l>x*8&lu0B#MiDO2vv{@ARFd9ep?dUQ8RscJSFL?Y^i+b?N3z8Jz-LtWKYMN z>#=>*d$5W@?=Sf2Mq+VsZ)IP|oe{0N2a~he=o)ne8r%VTy3B^>oQ>EI9+Ee^@33P* z&XHQ;r0+B7ghS+OnI3FUO{XkwuJJc_?msyd_H6%|Dt0m(?$3FfHPc5X0esUyOv#m) z8Dkvg#7muuV7b1bj9)vJe8c~zdUF8>|bK2ni);ExgL2>i6$BE%ZW zd54nm9l(SH2#FFLM=kN5jZI8Pn_(+gqTBtX#hmF#^Sg zh~*46Megi6)E@67O}YRK_)@rjJ_RMOR7C@2k?!9y0;X zr2f6z7~#Inb#J3`%rqbz+%o+pcc==LpgwA}&bv7n)5(v!W{7*00s zb1-4itSk_N)YV$_w>IrOH41Aicys8z3bp@9r&*qu$l9ld*EqG_M(yHyaz^+`Bxh>k zrQi+$KG6HH5j3|pX)ou^@ z5nYF;)%;B5iTt8ni{ECBKpL5rr}M_=NdK4u$;{51gh?Wxf@mi$G-DTyL9ToQPY@H7a z-``67r4%_zb@&+Hd=EFIy;fRs~*5$h6f4J;0hMhg-m0AB9ky`pbbwjJg zLS1q03LMSgRc(25ar*#%OV;$(86qb3$Xu?2j_NHUk|&HGO$ z^qGvv5mcT!AOrjMjGb=J%;eZ4A8mY?swZyxoz1PK0;{!G$lYHTeX;dcx=eJ42dRV+ z?0=q|Q5|lINl&QO#5>sCcd+_z*7Z%m{phi>X3m7v zXVnOg+~=SXd>#mX?hzINIO77tv~#;-JY{1vsjqCn2J12H;U0{L#Fd%ZY%$SwwFZn} z&tV=FSTgXHwch|4Z{YYrGc!c!ss48&{8WGW-{PWHzFy!8d++J3>~)>JbW-U9BDeLq z5>)+S-E_=4M{IcbdxbH@n1a6_bf9><0WV?+7X9TvIXb)OlV( z9c?4WuB8F%1vF~LqCY%21`|mP(?8yAUKhn<#!J>jma27&&FnvnmX(hC6JuNKG11kc zvoxQZZ238X0#CKk9wL#(if7Z@iqno{d_+zXLC>o6yCNgI9G6{?e&myRI8D+U7$5S& zRwM4otP|cxlp$@OD~b zpIFvJur_XdeS%gX)soX$-j7WyY6;<{pFi`BXqFap8LKp1UdMYLiucUJU*%iRe$=|Z zBh|@bJn<0oACnavJ?SOFdAw1%wVk^o6mVO?V)Y--W%PdAL>8(;KrdlINIL)?dNY(> zW^Z6bH7%EByx(T}P=xzK_f7Um3@TJ@6D?QnMt4jWca6bz{2h#EsZw!!g|=G%oo^Ly z(|0Lm9*j`?_^;_%-*`-49Z$`_E}&PQI12yfN`$812}<vp8xdsc1F~9S&%sBIcIg|ZhdQvj!G#VY6OyXsUaD12r10W2fIO)TGhO& zWR2BNyM@29)u6*RdKqzM5Xm-`nDTZ%YuOQ%6y|b{Oo7rNMF0qYLp4QiQ#^v-d{|~k znXL#q0vG|?8P$rS^Q946Sj~5DedR=G%*bG#QbFTv@3g}?9(3~(krq@qNSS6OH8-4# z{htO~?H*6m1yBlg33!3!8Ifp4zt$JZMJr2KRZ$E^Y=YJ- z+lRi2&L2}6IIE3tNq9kPQP4{tH2rB`viTy*Py22Q|+i7z!C2g-iz~G&b@v@kp3FkA~)(v9M5t{JHZeCzj&0zMGu@mTL?9 zA|_J$LZGD6Q_BMUW<)f z(E!C<Hy)#!Rqu;z%ZeeYDyOb~RWl@T z#_i*pUF_@aE(Z#k8p))L|q@XTNvO7303*RhW)lWfFr9!u%VtF4tm=Ogd z0)wv&8Z4JWZHo3g?X@J5nsU!X#%Hbl3`w@BEY71J%Qd8Xh)_^|&~F{*Q1Ybagal(B z>Y;;yl?RAW6)GJV9KC2>NqNd?eL7t6V>W}TjaYK(a!I2-ZN-sB<^AC)(9gztxMphd zuk3&f+kN}e!ND8*Uk2q~>X!)YV}icR%$in}7hSKer-(=5`|Xib1B^i55A8`cV78-h zcC)KDsFQ99$vQ^8W_Np$MvLcROu~QBhT>8H&-6DsIb|7=V0FMxOrG0WP=n09wkhyR~b9I`lnpDS5`^E(_(0EnNK*QLSc( z6>*!^R28xuyW47NX7!{vjVE6R&Bx$XXa@t~&v$EGZ{gdUjcurol zNKWu@+(-78wZ@>tUr_E|s*WrOlKrWtX)QzLbgFdGYuZq4T8>=A2HT8^{qMO~xspnw z2(6Dt#B2hQ`HWy0UNA30qML0XU`4W-@FUs(`^+u3`Z-4_)*LlmGEivyUCQWI%hhGU-gVc!zWy^_7E>7|u={X^Ni{ZVFN;Q*B>EMG%|Zj!w`> zsFKGUhB8*x+bU{j^DeX-wRyZb5d01;_97tt_1V6Pv?0(`=d1;RTAGo#QwGO!&YnmTP_K$z|9=j9>i zYArDW4&z@xLeq4Q ze%=^)DM*aE0ht=}B~XWNXPfo%o|p8lNz5xMnIkTq8{+hI?v~ji_hMnBE6vxZlWDIf zsOTyhDU|3XJemqZ{z_Z7__7Mz+C*it<;-Chxsb3hr%MNku3GGiFi6y&^oXPvJHVvI z&azDg@5KvlB@wHa_@+p&^Ug890a*idwhq~<(ahtQD%6u&Eb`&G1OdiPQ?|L1q zdl`?7I_wRp2t5cvDO;dOLP@9 z*EgiRxaW88HhS|*zW*L=X{i_qIt1K6()gMe-|O%1xy$HuLJx6I$Kw@9f)$}Dn@XQQbS`>b!J1hrv%k7 zED!p|4w6BtX{}HP<%Eriy>(GVhIcP5O&~1H(kRcvpOE#9ad$HbiAN`L-o8}d7m}SS zJYwI2#28dhZOulL{W3ueIv|SG9IVZ_S(XDjW#$QuOr!KhQN})yntvjMY95e5%M1JEipNf5eWB)Lq0Gs<*6Cf0J0)os2mRh; zSzEdFG!sOi$ ziYGrUr6lw9XAS~jhPRKth(D@OAG^5SW-fW@$w(Sz!FwBu=wu2MSNu@}%WE+g3L^<} zgAt1FEFFWVeRWkxyt{;gFV*^H_FN*ho4QK(220hnmzx>Wa!>d~8U13hdsSbB%M7rA z%Mu*O7)9~L9Za15=Dm~RC$Sv55YIiKY(hVOYEd=KTD+(e?kzn4fD#IE>v}EyAFA z$+2)YDD!m8W_5*8{u9&7XqwFn>vFIxeP~S)A5LVr{Z3ygLxPPPby6j22CKhRys+n-af(W0_0;eZY$d;3{eM z7G{f;v(>r&jX&BEp#6ajT%jRLVXTeKXPJ5k50@|eXyR4Ka~yreFPk6*OrdZmw|ylj zP~({c#XWzz_7oTdWE18dX1)92C@HQX@Zn6ncCKl($|G|f?Rp>@zR-EQF>pdD(H!{3 z1K@miYU(w|$xnkAzEO}tqBrFq!|3nMRM|pE-DKE&iL2M`C^}4(3)`+ABGILvg_d@^ z7KBqxGFMd?Q!zY@oIO!(Bqh+tcDzz9cLm97d1JKj)j;_4z`!UhJ`YuS;1~W*OxEYP zUGaarT4-h$JtdT*zGzNHWX^JVrsuzJ|ynnz>4RdfMVwX^L>WhqAU?NlWa@G%oZr zaohx!mtsFVwnaWFgfS`Z9~sO+@UGr zBUbGNw@~sz))<>$N|_Ydk8sBq1)p_o-P)+enR%mdh*E~}v`(Rb-Y`y;?nGde6<}d% z(WifQSVU}vted?O27DKJ67 zMvQeBk!Q}d`V%2=Hd7XI^&Au|a#uGomm|fL`4XEa7J5a}LFztIaT+i>ti2oa`89Es zHZRoHha`s>DB2iobE+dq^>iE2zu3FctlED8ZsmhX&uvn0tnhI&S(}2oc3&rU85OcU zS9ra;U8Dx*)5a~HPjLUaeYFs=;nG1;yY6zoeu$>N_RU069cG_&!e7V8gllQ4Ly@W6 zkSJZv!Z3P}@5g}eU9kTBWyrhWB={99A$}F6$Bc4`OepmDJ69&VbdDGUwJ;#S-5ly( zqC>tr3yiD_+1RAaU-?posmx}N7C8y$g~LDRsKENtrwb~c`nE(nFAO>rqT;CA?fJlp zA7$WSNp1u=`{g0XmtuVArsfx~6z0;0T2(9){{g{_H4P-5)pZJOPcF3-KNp*!*yQxv zd-lJ>MJq0@@cOKO^(zPI!zhj%;Vp?Jocgc!VB3;!aDFoQkVipOmUzz0(|wSm_JTqi zq4kn9)el8c`hMrC@>cgL1~Z7H1SB*hioq%5Yr)Y1QK)I~!J41X#Yp!j!#+(b;yU`} zQOyyP*O6>4iutNQccw>BOMhb+UjE!FmED$Uns0e1+6XjeBuaLntF9Bjf#L96I#GQv z|4b}-;wuHc3a(_yyEcwNJAs~KEpSkKI|+Yc#0}WFlbp7P&(6Vg zvwLCSN{sS1n9I?3Ah^6~F&wlZRZ@51O&##aA&UcC*Fg<`nqCJ{eST$ICt&6i0dG;? zJ>L_be!P-_bR-7riU8uUcOhVfGq@20$86zPpCDxS{IT5Lh!B_fejJ@PB{TA9RRa}y zqsNH5Bi(LaHF#^eyhSO0Q0c>v6X=jS`IC0kY*4!H#P483_@9L_a(dN*RDYw$I6VQ%Sk|#D|;vVg) z*5>?VYG@;_Mvx|0y+x-!I=+^x1ltq}KZdtJ-aZN5%%C>r&Dd3_wPR~93n#Yew>w!( zPIc_^A;sK0-a?eR2x>{B zk{zv;V)tovf-2}bLz~_Z3XINgqe@-xE7fJ4=E_s+fz zbZ(Bzl@vk~;gZcU$y@sJz&fxydbvxDS;vaJPCs}y)Wk-*mns*^4Jf__bN^D+k}S@E00|;mY`skH}$%NMElPG?XMC zEc~T9q@BFm-)~X@=S4TkWJvr+F{ibOZ=*~2>rE|lPK~-O(cDcB%lc;s6s;-^UX>*Q z7TJ2#QYm1zl~!ot2Wy}?k&W+9EquFobZDhK5s}w!?{4*^LOV|YQWI( zN1TOlfwP|)RB^uKvWiFOVIWFdP`gL}HXC|#tP-aXnj8M=cxT5cOd3n7s|6qWmWR@w@jFEka zhM4{Q`uz7fCQ}UJg>Wqz7*v?fW{7<>x2ao$40Dg1xvYR=3LFaz1nu-$BY`ZjSu^D^s>q0CRq-$>^+bBh)erwd;34R0lo8c z+CV2h#@vJHkfefP;s|iyb@$n6ydP`M7@EZUc^PYS0Mqskkv|(H9Y$CglcJ%#OFjNO zh_C_BN!P*;R$Hu5^0p>PKucc9tk!b!KJ^(9|H%o9%;zsF|1d>o2s%FtErh)`Kc1a`e<^#@G>Fwwu=N1xU)a6GbW~VAqfP|)P3zv2bnlFupSomtuAf^1WkPJ0@M*A1OCJy zZE6M0%huuqr0QSaoZgNyyt|`AoOvml-8n9f#CYWs( zM8$m2qk8rW*E!Ra#n&J8mfJ>8?Ynwe)5)3>AP`K_sjgrAI^gGfPk~B2h2z3wKe!Cf zsDB>Ie&L+3LDI&h0Ryi1F@+ImDu6Y#>ycdyFn`Hy0L3*xK%sPOZ%F{So?gg~J?!Fv z3y&(2!z3hZvv+%nw?{ra&)jS#0Az`_qf|Z)nMmyqRoN2JUBVY>_5N;o<6Q~?RFbXs z;_Wo=vv-|^8TU~iSDZ<@r1$(?m6a?}->43T9qBH_9^5S7Maj}ruD=vk)w^X;vX*7~ zHkaX5Q$dgbAriwhF0Fj6vxkw*BFean3Gbd#mzcsLrTEdvNEOZT{zHF1V^n+>I&s8? zsIKvoy?$n7T^bd!NW=ksZsTLx-wS>*{Fy>SV_{H|1KN&{lZVxstdiPOdPc<-Hni~Y zWOpq+h#2|F=rWA~Vr=^?2x+N7_wVp+Lr)0 zGyaqald9nml{deD|K#3X;XA09$a|0E-J&v&xxd73;R9^9$;{R%dB{=Z4^j27 zq6-T}){seAbPDIR21zr?bS$Gd-2PKm;rahl~=rz<`x@=Eu^v zD1Z(zqgrqx4&5b(I?gN7$4TqB`1I&8m@|uD~0?v!2$noZz zUXJTM5GYub{1Jdv9ew?^x@nwvPYl85tgzWAX=6M@ru^@Li2I%vj+|7fYpB)#4iSpB zsB^ms@SCpf6>e5lw(sLh|NDtTy#gV^{BPFI)MIhrteS;@@4ON|YeQO$RqnE{Q;8e# zRR4C0uXG;w)Mubqh^=DiQG zE5xLdv`^GH&c>x0+3!SSqR?Bw>ozd79;U8z2~AZ?v(oYuTO07yf%-n8_gCs3g)^AZ zMJh%$j9x4(q$OEnXxeooAb!ItZ@>Sd)&~pNU#+5$HgDK2R;8@j)#U+Qsk{25sX$%O zu>@B`^PkUsBf=t9pl5=14*!upuG~#klQz_oo_b~#xgwW><^SBLE@9FlUER|A*3+*Y_YIqPv>JF{s%UQ1F88Y3Qrhs-mO+4?^YV AXaE2J literal 0 HcmV?d00001 diff --git a/Assets/UI/Symbols/cls_sym_infantry.png.meta b/Assets/UI/Symbols/cls_sym_infantry.png.meta new file mode 100644 index 00000000..986c0e27 --- /dev/null +++ b/Assets/UI/Symbols/cls_sym_infantry.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 45255881d251469429f5a85c7d135441 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7957124930109909397 + second: cls_sym_infantry_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: cls_sym_infantry_0 + rect: + serializedVersion: 2 + x: 28 + y: 13 + width: 199 + height: 230 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5992b9c17f26d6e60800000000000000 + internalID: 7957124930109909397 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/Symbols/cls_sym_spear.png b/Assets/UI/Symbols/cls_sym_spear.png new file mode 100644 index 0000000000000000000000000000000000000000..dc40b226fc03e107cc6a880f5b5c645138a8fec9 GIT binary patch literal 20224 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 literal 0 HcmV?d00001 diff --git a/Assets/UI/Symbols/cls_sym_spear.png.meta b/Assets/UI/Symbols/cls_sym_spear.png.meta new file mode 100644 index 00000000..3c35fc7d --- /dev/null +++ b/Assets/UI/Symbols/cls_sym_spear.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 63a264aa26e829749a8114cd7e10a22f +TextureImporter: + internalIDToNameTable: + - first: + 213: -4254521251010258662 + second: cls_sym_spear_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: cls_sym_spear_0 + rect: + serializedVersion: 2 + x: 32 + y: 13 + width: 192 + height: 230 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: a19de20b677e4f4c0800000000000000 + internalID: -4254521251010258662 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/Symbols/cls_sym_strategist.png b/Assets/UI/Symbols/cls_sym_strategist.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb659be7bc4f11e28eadc2fa174b4f8af02897b GIT binary patch literal 25588 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 Fe*kH@7{34j literal 0 HcmV?d00001 diff --git a/Assets/UI/Symbols/cls_sym_strategist.png.meta b/Assets/UI/Symbols/cls_sym_strategist.png.meta new file mode 100644 index 00000000..9312b5c4 --- /dev/null +++ b/Assets/UI/Symbols/cls_sym_strategist.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 63fd1be34f67f92488e14e322a34df12 +TextureImporter: + internalIDToNameTable: + - first: + 213: 3818167502476526420 + second: cls_sym_strategist_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: cls_sym_strategist_0 + rect: + serializedVersion: 2 + x: 13 + y: 13 + width: 230 + height: 230 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 453cd0e2d1bdcf430800000000000000 + internalID: 3818167502476526420 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tools/class_symbols.py b/Tools/class_symbols.py new file mode 100644 index 00000000..c66b727d --- /dev/null +++ b/Tools/class_symbols.py @@ -0,0 +1,84 @@ +"""병과 단색 심볼 만들기(PD 2026-11-09 「병과 표시 = 기병 말 · 보병 검 · 궁병 활 · 창병 창 · 책사 깃털부채 심볼 · 예시 = 어두운 원 위 베이지 말머리」). + +새로 그리지 않는다 — 확정 납품 메달 아이콘(Assets/UI/Samguk/class/cls_<병과>.png)을 만들 때 쓴 투명 바탕 사물 그림 +(아트 R&D `C:/ArtRnD/samguk_ui/_work/class_symbol/rgba/cls_<병과>_s21A_rgba.png` · picked_auto.json = seed 21)의 투명도 = 형태. +형태를 채움색으로 칠하고, 원본의 진한 안쪽 선(눈 · 칼날 경계 등)만 선 색으로 남긴 뒤 바깥 테두리를 두른다. +실행: -I -B Tools/class_symbols.py [--src ] [--fill #RRGGBB] [--line #RRGGBB] [--out Assets/UI/Symbols] [--preview ] +출력 = /cls_sym_<병과>.png(256 정사각 · 투명) · --preview = 어두운 원 위 5종 확인 그림. +""" +import argparse +import os + +import numpy as np +from PIL import Image, ImageDraw, ImageFilter + +TYPES = ["infantry", "spear", "cavalry", "archer", "strategist"] +ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +SRC = "C:/ArtRnD/samguk_ui/_work/class_symbol/rgba" + + +def hexrgb(s): + s = s.lstrip("#") + return tuple(int(s[i:i + 2], 16) for i in (0, 2, 4)) + + +def symbol(path, fill, line, size=256, pad=14, stroke=8, inner_lum=45, erode_passes=6): + src = Image.open(path).convert("RGBA") + bb = src.getchannel("A").point(lambda v: 255 if v > 40 else 0).getbbox() + src = src.crop(bb) + # 안쪽 선 = 원본 해상도에서 형태 안쪽(바깥 외곽선 두께 ≈ 30 px 보다 깊이)의 진한 픽셀 — 눈 · 갈기 · 칼날 경계 등 + core = src.getchannel("A").point(lambda v: 255 if v > 128 else 0) + for _ in range(erode_passes): + core = core.filter(ImageFilter.MinFilter(11)) + rgb = np.asarray(src.convert("RGB")).astype(np.float32) + lum = rgb[:, :, 0] * 0.299 + rgb[:, :, 1] * 0.587 + rgb[:, :, 2] * 0.114 + inner = Image.fromarray((((np.asarray(core) > 127) & (lum < inner_lum)) * 255).astype(np.uint8)) + s = (size - 2 * pad - 2 * stroke) / max(src.size) + dim = (max(1, round(src.width * s)), max(1, round(src.height * s))) + alpha = src.getchannel("A").resize(dim, Image.LANCZOS) + inner = inner.resize(dim, Image.LANCZOS) + canvas = Image.new("L", (size, size), 0) + off = ((size - dim[0]) // 2, (size - dim[1]) // 2) + canvas.paste(alpha, off) + lines = Image.new("L", (size, size), 0) + lines.paste(inner, off) + out = Image.new("RGBA", (size, size), line + (0,)) + out.putalpha(canvas.filter(ImageFilter.MaxFilter(stroke * 2 + 1))) # 바깥 테두리 + body = Image.new("RGBA", (size, size), fill + (255,)) + body.putalpha(canvas) + out.alpha_composite(body) + ink = Image.new("RGBA", (size, size), line + (255,)) + ink.putalpha(lines) + out.alpha_composite(ink) + return out + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--src", default=SRC) + ap.add_argument("--seed", default="s21") + ap.add_argument("--fill", default="#F2D49B") + ap.add_argument("--line", default="#2A2230") + ap.add_argument("--out", default="Assets/UI/Symbols") + ap.add_argument("--preview", default="") + a = ap.parse_args() + out = os.path.join(ROOT, a.out) + os.makedirs(out, exist_ok=True) + tiles = [] + for t in TYPES: + g = symbol(os.path.join(a.src, "cls_%s_%sA_rgba.png" % (t, a.seed)), hexrgb(a.fill), hexrgb(a.line)) + g.save(os.path.join(out, "cls_sym_%s.png" % t)) + tile = Image.new("RGBA", (300, 300), (0, 0, 0, 0)) + ImageDraw.Draw(tile).ellipse((10, 10, 290, 290), fill=(53, 55, 78, 255), outline=(20, 20, 30, 255), width=8) + tile.alpha_composite(g.resize((200, 200), Image.LANCZOS), (50, 50)) + tiles.append(tile) + if a.preview: + prev = Image.new("RGBA", (300 * len(tiles), 300), (40, 42, 60, 255)) + for i, t in enumerate(tiles): + prev.alpha_composite(t, (i * 300, 0)) + prev.save(a.preview) + print("ok ->", out) + + +if __name__ == "__main__": + main()