diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin index f1b9c8440..275d51e8e 100644 Binary files a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin and b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin differ diff --git a/Assets/Art/FengLei/ResLY/Front/low/Art_GoldNumberLabel.png b/Assets/Art/FengLei/ResLY/Front/low/Art_GoldNumberLabel.png deleted file mode 100644 index 8d850f615..000000000 Binary files a/Assets/Art/FengLei/ResLY/Front/low/Art_GoldNumberLabel.png and /dev/null differ diff --git a/Assets/Art/FengLei/ResLY/Front/low/CommonBattleNumGold.fnt.meta b/Assets/Art/FengLei/ResLY/Front/low/CommonBattleNumGold.fnt.meta deleted file mode 100644 index b64e9e87f..000000000 --- a/Assets/Art/FengLei/ResLY/Front/low/CommonBattleNumGold.fnt.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 9682be993a47b1044b7d14f8d424e414 -timeCreated: 1767546052 -licenseType: Free -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: assets_bundles_by_common_base_bundles_fonts_font_goldnumberlabel_default_ugui_low.bundle - assetBundleVariant: diff --git a/Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs b/Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs deleted file mode 100644 index 5a4fe9c3b..000000000 --- a/Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs +++ /dev/null @@ -1,154 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -public class AtlasAutoSplitter : EditorWindow -{ - Texture2D sourceTexture; - Color32[] pixels; - int width, height; - bool[,] visited; - - [MenuItem("Tools/Atlas Auto Splitter")] - static void Open() - { - GetWindow("Atlas Splitter"); - } - - void OnGUI() - { - sourceTexture = (Texture2D)EditorGUILayout.ObjectField("图集 Texture2D", sourceTexture, typeof(Texture2D), false); - - if (sourceTexture == null) - return; - - if (GUILayout.Button("开始自动分割")) - { - SplitAtlas(); - } - } - - void SplitAtlas() - { - string path = AssetDatabase.GetAssetPath(sourceTexture); - TextureImporter importer = AssetImporter.GetAtPath(path) as TextureImporter; - - if (importer == null) - { - Debug.LogError("无法获取 TextureImporter"); - return; - } - - // 强制读取像素 - importer.isReadable = true; - - // 如果不是 Multiple,自动改 - if (importer.spriteImportMode != SpriteImportMode.Multiple) - { - importer.spriteImportMode = SpriteImportMode.Multiple; - } - - // 应用修改并重新加载 - AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); - sourceTexture = AssetDatabase.LoadAssetAtPath(path); - - width = sourceTexture.width; - height = sourceTexture.height; - pixels = sourceTexture.GetPixels32(); - visited = new bool[width, height]; - - List metas = new List(); - - for (int y = height - 1; y >= 0; y--) - { - for (int x = 0; x < width; x++) - { - if (visited[x, y]) - continue; - - if (!IsSolidPixel(x, y)) - { - visited[x, y] = true; - continue; - } - - // 找到一个区域,开始 FloodFill - Rect rect = FloodFill(x, y); - - SpriteMetaData meta = new SpriteMetaData(); - meta.name = $"sprite_{metas.Count}"; - // 修正坐标系:Unity 的 rect 原点在左下角 - meta.rect = new Rect(rect.x, height - rect.y - rect.height, rect.width, rect.height); - meta.pivot = new Vector2(0.5f, 0.5f); - meta.alignment = (int)SpriteAlignment.Center; // 必须设置 - metas.Add(meta); - } - } - - importer.spritesheet = metas.ToArray(); - - // 确保写入并刷新 - EditorUtility.SetDirty(importer); - AssetDatabase.WriteImportSettingsIfDirty(path); - AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); - AssetDatabase.Refresh(); - - Debug.Log($"分割完成,共生成 {metas.Count} 个 Sprite"); - } - - - bool IsSolidPixel(int x, int y) - { - Color32 c = pixels[y * width + x]; - return c.a > 10; // 透明度阈值 - } - - Rect FloodFill(int startX, int startY) - { - Queue q = new Queue(); - q.Enqueue(new Vector2Int(startX, startY)); - - int minX = startX, maxX = startX; - int minY = startY, maxY = startY; - - visited[startX, startY] = true; - - while (q.Count > 0) - { - Vector2Int p = q.Dequeue(); - int x = p.x; - int y = p.y; - - // 更新边界 - if (x < minX) minX = x; - if (x > maxX) maxX = x; - if (y < minY) minY = y; - if (y > maxY) maxY = y; - - // 四方向扩散 - TryAdd(x + 1, y, q); - TryAdd(x - 1, y, q); - TryAdd(x, y + 1, q); - TryAdd(x, y - 1, q); - } - - // 注意 Unity 的 rect 是左下角为原点 - return new Rect(minX, minY, maxX - minX + 1, maxY - minY + 1); - } - - void TryAdd(int x, int y, Queue q) - { - if (x < 0 || x >= width || y < 0 || y >= height) - return; - - if (visited[x, y]) - return; - - visited[x, y] = true; - - if (!IsSolidPixel(x, y)) - return; - - q.Enqueue(new Vector2Int(x, y)); - } -} diff --git a/Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs b/Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs new file mode 100644 index 000000000..55af8cce5 --- /dev/null +++ b/Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs @@ -0,0 +1,872 @@ +using UnityEngine; +using UnityEditor; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections.Generic; + +/// +/// FntSpriteSplitter Editor 窗口 +/// +/// 功能:将 BMFont .fnt 文件中的字符定义分割为对应 PNG 的多个 Sprite, +/// 写入 PNG.meta 的 spriteSheet.sprites 中。 +/// 使用方法: +/// 1. 把 .fnt 文件拖到「FNT 文件」槽位(或点击选择) +/// 2. 自动识别 .fnt 中 page file 引用的 PNG;可在「目标 PNG」槽位手动覆盖 +/// 3. 点击「写入 Meta」即可生成分割 Sprite +/// +/// 说明: +/// - BMFont 坐标原点在左上(y 向下递增),Unity Sprite rect 原点在左下(y 向上递增), +/// 写入时会自动翻转 y:y_unity = textureHeight - y_fnt - height +/// - 命名规则可选「按索引」(PNG名_0, PNG名_1...) 或「按字符含义」(0,1,...,plus,comma,dot...) +/// +/// 作者:AI Assistant +/// +public class FntSpriteSplitter : EditorWindow +{ + #region 字段 + + /// 选中的 .fnt 文件路径(Assets/... 形式) + private string fntAssetPath = ""; + + /// 目标 PNG 纹理 + private Texture2D targetTexture; + + /// .fnt 中声明的贴图尺寸(scaleW / scaleH) + private int fntTextureW = 0; + private int fntTextureH = 0; + + /// 解析出的字符列表 + private List charList = new List(); + + /// 字符列表滚动位置 + private Vector2 scrollPos; + + /// 处理结果日志 + private string logText = ""; + private Vector2 logScrollPos; + private bool showLog = false; + + /// 命名方式:true=按索引,false=按字符含义 + private bool nameByIndex = true; + + /// 写入前是否清空原有 sprites + private bool clearBeforeWrite = true; + + /// 命名前缀(默认使用 PNG 文件名,可手动修改) + private string namePrefix = ""; + + #endregion + + #region 数据结构 + + /// 单个 BMFont 字符的解析信息 + private class FntCharInfo + { + public int id; // 字符 unicode id + public int x; // fnt 中 x(左上原点) + public int y; // fnt 中 y(左上原点) + public int width; + public int height; + public int xoffset; + public int yoffset; + public int xadvance; + + /// Unity 坐标系下的 rect(已翻转 y) + public Rect unityRect; + } + + #endregion + + #region 菜单入口 + + [MenuItem("Tools/FNT Sprite Splitter")] + private static void ShowWindow() + { + var window = GetWindow("FNT Sprite Splitter"); + window.minSize = new Vector2(440, 540); + window.Show(); + } + + #endregion + + #region GUI 绘制 + + private void OnGUI() + { + DrawHeader(); + DrawFntSlot(); + DrawPngSlot(); + DrawCharList(); + DrawOptions(); + DrawActionBar(); + DrawLogArea(); + } + + /// 顶部标题说明 + private void DrawHeader() + { + EditorGUILayout.Space(8); + EditorGUILayout.HelpBox( + "将 BMFont .fnt 文件中的字符定义分割为 PNG 的多个 Sprite。\n" + + "1. 拖入 .fnt 文件(自动识别对应 PNG)\n" + + "2. 点击「写入 Meta」生成分割 Sprite\n" + + "(y 坐标会自动从 BMFont 左上原点翻转为 Unity 左下原点)", + MessageType.Info + ); + EditorGUILayout.Space(4); + } + + /// .fnt 文件拖拽槽位 + private void DrawFntSlot() + { + EditorGUILayout.LabelField("FNT 文件", EditorStyles.boldLabel); + + Rect dropRect = EditorGUILayout.GetControlRect(GUILayout.Height(48)); + GUI.Box(dropRect, "", GUI.skin.box); + + var centeredStyle = new GUIStyle(GUI.skin.label) + { + alignment = TextAnchor.MiddleCenter, + fontSize = 12 + }; + + if (!string.IsNullOrEmpty(fntAssetPath)) + { + string fileName = Path.GetFileName(fntAssetPath); + int charCount = charList.Count; + string texInfo = (fntTextureW > 0 && fntTextureH > 0) + ? $" 贴图 {fntTextureW}x{fntTextureH} 字符 {charCount} 个" + : $" 字符 {charCount} 个"; + GUI.Label(dropRect, $"{fileName}\n{texInfo}", centeredStyle); + } + else + { + GUI.Label(dropRect, "拖入 .fnt 文件 或 点击选择", centeredStyle); + } + + // 拖拽事件 + if (Event.current.type == EventType.DragUpdated && dropRect.Contains(Event.current.mousePosition)) + { + bool valid = false; + foreach (var p in DragAndDrop.paths) + { + if (p.EndsWith(".fnt", System.StringComparison.OrdinalIgnoreCase)) + { + valid = true; + break; + } + } + DragAndDrop.visualMode = valid ? DragAndDropVisualMode.Copy : DragAndDropVisualMode.Rejected; + Event.current.Use(); + } + else if (Event.current.type == EventType.DragPerform && dropRect.Contains(Event.current.mousePosition)) + { + DragAndDrop.AcceptDrag(); + foreach (var p in DragAndDrop.paths) + { + if (p.EndsWith(".fnt", System.StringComparison.OrdinalIgnoreCase)) + { + LoadFntFile(p); + break; + } + } + Event.current.Use(); + } + + // 点击选择按钮 + EditorGUILayout.BeginHorizontal(); + if (GUILayout.Button("选择 .fnt 文件", GUILayout.Height(24))) + { + string startDir = string.IsNullOrEmpty(fntAssetPath) + ? Application.dataPath + : Path.GetDirectoryName(Path.GetFullPath(fntAssetPath)); + string picked = EditorUtility.OpenFilePanelWithFilters( + "选择 FNT 文件", startDir, new[] { "FNT", "fnt", "All files", "*" }); + if (!string.IsNullOrEmpty(picked)) + { + string assetPath = "Assets" + picked.Substring(Application.dataPath.Length).Replace('\\', '/'); + LoadFntFile(assetPath); + } + } + + if (GUILayout.Button("清空", GUILayout.Height(24), GUILayout.Width(60))) + { + ClearAll(); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(6); + } + + /// 目标 PNG 显示槽位(可手动覆盖) + private void DrawPngSlot() + { + EditorGUILayout.LabelField("目标 PNG", EditorStyles.boldLabel); + + Rect dropRect = EditorGUILayout.GetControlRect(GUILayout.Height(48)); + GUI.Box(dropRect, "", GUI.skin.box); + + var centeredStyle = new GUIStyle(GUI.skin.label) + { + alignment = TextAnchor.MiddleCenter, + fontSize = 12 + }; + + if (targetTexture != null) + { + string pngPath = AssetDatabase.GetAssetPath(targetTexture); + int texW = targetTexture.width; + int texH = targetTexture.height; + + // 检查 PNG 实际尺寸与 .fnt 声明是否一致 + string warning = ""; + if (fntTextureW > 0 && (texW != fntTextureW || texH != fntTextureH)) + { + warning = $"\n⚠ 尺寸不匹配!FNT 声明 {fntTextureW}x{fntTextureH}"; + } + + var richStyle = new GUIStyle(centeredStyle) { richText = true }; + GUI.Label(dropRect, $"{Path.GetFileName(pngPath)}\n{texW} x {texH} px{warning}", richStyle); + } + else + { + GUI.Label(dropRect, "拖入 PNG 或 点击选择(留空则自动从 .fnt 识别)", centeredStyle); + } + + // 拖拽事件 + if (Event.current.type == EventType.DragUpdated && dropRect.Contains(Event.current.mousePosition)) + { + bool valid = false; + foreach (var p in DragAndDrop.paths) + { + if (p.EndsWith(".png", System.StringComparison.OrdinalIgnoreCase)) + { + valid = true; + break; + } + } + DragAndDrop.visualMode = valid ? DragAndDropVisualMode.Copy : DragAndDropVisualMode.Rejected; + Event.current.Use(); + } + else if (Event.current.type == EventType.DragPerform && dropRect.Contains(Event.current.mousePosition)) + { + DragAndDrop.AcceptDrag(); + foreach (var p in DragAndDrop.paths) + { + if (p.EndsWith(".png", System.StringComparison.OrdinalIgnoreCase)) + { + var tex = AssetDatabase.LoadAssetAtPath(p); + if (tex != null) + { + targetTexture = tex; + namePrefix = Path.GetFileNameWithoutExtension(p); + } + break; + } + } + Event.current.Use(); + } + + // 点击选择 + targetTexture = (Texture2D)EditorGUI.ObjectField( + new Rect(dropRect.x, dropRect.y, dropRect.width, dropRect.height), + targetTexture, typeof(Texture2D), false); + + if (targetTexture != null) + { + string p = AssetDatabase.GetAssetPath(targetTexture); + if (!p.EndsWith(".png", System.StringComparison.OrdinalIgnoreCase)) + { + targetTexture = null; + } + else if (string.IsNullOrEmpty(namePrefix)) + { + namePrefix = Path.GetFileNameWithoutExtension(p); + } + } + + EditorGUILayout.Space(6); + } + + /// 字符列表 + private void DrawCharList() + { + EditorGUILayout.LabelField($"字符列表 ({charList.Count} 个)", EditorStyles.boldLabel); + + Rect listRect = EditorGUILayout.GetControlRect(false, GUILayout.Height(180)); + GUI.Box(listRect, ""); + + if (charList.Count == 0) + { + var hintStyle = new GUIStyle(GUI.skin.label) + { + alignment = TextAnchor.MiddleCenter, + fontSize = 12, + normal = { textColor = Color.gray } + }; + GUI.Label(listRect, "拖入 .fnt 文件后会显示字符列表", hintStyle); + } + else + { + var innerRect = new Rect(listRect.x + 4, listRect.y + 4, listRect.width - 8, listRect.height - 8); + // 表头高度 + float headerH = 20; + float rowH = 20; + float contentH = headerH + charList.Count * rowH; + scrollPos = GUI.BeginScrollView(innerRect, scrollPos, new Rect(0, 0, innerRect.width - 16, contentH)); + + // 表头 + var headerStyle = new GUIStyle(EditorStyles.boldLabel) { fontSize = 10 }; + float col1 = innerRect.width * 0.12f; // index + float col2 = innerRect.width * 0.20f; // char + float col3 = innerRect.width * 0.30f; // rect (fnt) + float col4 = innerRect.width * 0.30f; // rect (unity) + // 余下用于 padding + GUI.Label(new Rect(2, 0, col1, headerH), "#", headerStyle); + GUI.Label(new Rect(col1, 0, col2, headerH), "char", headerStyle); + GUI.Label(new Rect(col1 + col2, 0, col3, headerH), "fnt(x,y,w,h)", headerStyle); + GUI.Label(new Rect(col1 + col2 + col3, 0, col4, headerH), "unity(x,y,w,h)", headerStyle); + + for (int i = 0; i < charList.Count; i++) + { + var ch = charList[i]; + float y = headerH + i * rowH; + + // 交替背景色 + if (i % 2 == 0) + { + var origColor = GUI.color; + GUI.color = new Color(0.85f, 0.85f, 0.85f, 0.3f); + GUI.DrawTexture(new Rect(0, y, innerRect.width, rowH), EditorGUIUtility.whiteTexture); + GUI.color = origColor; + } + + var rowStyle = new GUIStyle(GUI.skin.label) { fontSize = 10 }; + GUI.Label(new Rect(2, y, col1, rowH), i.ToString(), rowStyle); + GUI.Label(new Rect(col1, y, col2, rowH), CharToLabel(ch.id), rowStyle); + GUI.Label(new Rect(col1 + col2, y, col3, rowH), + $"({ch.x},{ch.y},{ch.width}x{ch.height})", rowStyle); + GUI.Label(new Rect(col1 + col2 + col3, y, col4, rowH), + $"({(int)ch.unityRect.x},{(int)ch.unityRect.y},{(int)ch.unityRect.width}x{(int)ch.unityRect.height})", + rowStyle); + } + + GUI.EndScrollView(); + } + + EditorGUILayout.Space(6); + } + + /// 选项区域 + private void DrawOptions() + { + EditorGUILayout.LabelField("选项", EditorStyles.boldLabel); + + nameByIndex = EditorGUILayout.Toggle( + new GUIContent("按索引命名", + "勾选:PNG名_0, PNG名_1, ...\n不勾选:按字符含义命名(0,1,...,plus,comma,dot,a,b,...)"), + nameByIndex); + + clearBeforeWrite = EditorGUILayout.Toggle( + new GUIContent("写入前清空原有 sprites", + "勾选:先清空 meta 中已有的 sprites 列表再写入\n不勾选:追加到现有 sprites 末尾"), + clearBeforeWrite); + + namePrefix = EditorGUILayout.TextField( + new GUIContent("命名前缀", + "Sprite 名称前缀。按索引命名时为「前缀_索引」,按字符命名时为「前缀_字符」。留空则使用 PNG 文件名。"), + namePrefix); + + EditorGUILayout.Space(4); + } + + /// 操作按钮区 + private void DrawActionBar() + { + bool canWrite = !string.IsNullOrEmpty(fntAssetPath) && targetTexture != null && charList.Count > 0; + + GUI.enabled = canWrite; + if (GUILayout.Button("写入 Meta", GUILayout.Height(32))) + { + WriteSpritesToMeta(); + } + GUI.enabled = true; + + EditorGUILayout.BeginHorizontal(); + + if (GUILayout.Button("清空 Meta 中所有 sprites", GUILayout.Height(24))) + { + if (targetTexture != null && + EditorUtility.DisplayDialog("确认清空", + $"将清空 {targetTexture.name}.png.meta 中所有 sprite 条目,确认继续?", + "确认", "取消")) + { + ClearSpritesInMeta(); + } + } + + if (GUILayout.Button("全部重置", GUILayout.Height(24))) + { + ClearAll(); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(6); + } + + /// 日志区域 + private void DrawLogArea() + { + if (string.IsNullOrEmpty(logText)) return; + + showLog = EditorGUILayout.Foldout(showLog, "处理日志"); + if (showLog) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + logScrollPos = EditorGUILayout.BeginScrollView(logScrollPos, GUILayout.Height(140)); + EditorGUILayout.TextArea(logText, EditorStyles.wordWrappedLabel, GUILayout.ExpandHeight(true)); + EditorGUILayout.EndScrollView(); + EditorGUILayout.EndVertical(); + } + } + + #endregion + + #region FNT 加载与解析 + + /// 加载并解析 .fnt 文件 + private void LoadFntFile(string assetPath) + { + if (string.IsNullOrEmpty(assetPath) || !File.Exists(Path.GetFullPath(assetPath))) + { + EditorUtility.DisplayDialog("错误", $"找不到文件:\n{assetPath}", "确定"); + return; + } + + fntAssetPath = assetPath; + charList.Clear(); + logText = ""; + + string text = File.ReadAllText(Path.GetFullPath(assetPath), Encoding.UTF8); + + // 解析 common 行:scaleW 和 scaleH + var commonMatch = Regex.Match(text, @"^common\s+.*?scaleW=(\d+)\s+scaleH=(\d+)", + RegexOptions.Multiline); + if (!commonMatch.Success) + { + EditorUtility.DisplayDialog("解析失败", "找不到 common 行或 scaleW/scaleH 字段", "确定"); + fntTextureW = 0; + fntTextureH = 0; + return; + } + fntTextureW = int.Parse(commonMatch.Groups[1].Value); + fntTextureH = int.Parse(commonMatch.Groups[2].Value); + + // 解析 page 行:file="xxx.png" + var pageMatch = Regex.Match(text, @"^page\s+id=\d+\s+file=""([^""]+)""", + RegexOptions.Multiline); + string pageFileName = pageMatch.Success ? pageMatch.Groups[1].Value : ""; + + // 解析所有 char 行 + charList.Clear(); + foreach (Match m in Regex.Matches(text, + @"^char\s+id=(-?\d+)\s+x=(-?\d+)\s+y=(-?\d+)\s+width=(\d+)\s+height=(\d+)" + + @"\s+xoffset=(-?\d+)\s+yoffset=(-?\d+)\s+xadvance=(-?\d+)", + RegexOptions.Multiline)) + { + var info = new FntCharInfo + { + id = int.Parse(m.Groups[1].Value), + x = int.Parse(m.Groups[2].Value), + y = int.Parse(m.Groups[3].Value), + width = int.Parse(m.Groups[4].Value), + height = int.Parse(m.Groups[5].Value), + xoffset = int.Parse(m.Groups[6].Value), + yoffset = int.Parse(m.Groups[7].Value), + xadvance = int.Parse(m.Groups[8].Value), + }; + + // y 翻转:BMFont 左上原点 → Unity 左下原点 + int flipY = fntTextureH - info.y - info.height; + info.unityRect = new Rect(info.x, flipY, info.width, info.height); + + charList.Add(info); + } + + // 自动查找对应 PNG + if (!string.IsNullOrEmpty(pageFileName)) + { + // 优先从 .fnt 同目录查找 + string fntDir = Path.GetDirectoryName(assetPath).Replace('\\', '/'); + string candidatePath = fntDir + "/" + pageFileName; + var tex = AssetDatabase.LoadAssetAtPath(candidatePath); + if (tex == null) + { + // 在整个项目中按文件名搜索 + string nameWithoutExt = Path.GetFileNameWithoutExtension(pageFileName); + string[] guids = AssetDatabase.FindAssets(nameWithoutExt + " t:Texture2D"); + foreach (string g in guids) + { + string p = AssetDatabase.GUIDToAssetPath(g); + if (p.EndsWith("/" + pageFileName, System.StringComparison.OrdinalIgnoreCase)) + { + tex = AssetDatabase.LoadAssetAtPath(p); + if (tex != null) break; + } + } + } + + if (tex != null) + { + targetTexture = tex; + namePrefix = Path.GetFileNameWithoutExtension(pageFileName); + } + } + + Repaint(); + } + + /// 把字符 id 映射成可读的名称标签 + private string CharToLabel(int charId) + { + switch (charId) + { + case 43: return "+"; + case 44: return ","; + case 45: return "-"; + case 46: return "."; + case 47: return "/"; + case 58: return ":"; + case 33: return "!"; + case 63: return "?"; + case 40: return "("; + case 41: return ")"; + case 91: return "["; + case 93: return "]"; + case 123: return "{"; + case 125: return "}"; + } + if (charId >= 48 && charId <= 57) return (charId - 48).ToString(); + if (charId >= 65 && charId <= 90) return ((char)charId).ToString(); + if (charId >= 97 && charId <= 122) return ((char)charId).ToString(); + return $"u{charId}"; + } + + /// 把字符 id 映射成可作为 sprite 名称的英文标识符 + private string CharToName(int charId) + { + switch (charId) + { + case 43: return "plus"; + case 44: return "comma"; + case 45: return "minus"; + case 46: return "dot"; + case 47: return "slash"; + case 58: return "colon"; + case 33: return "excl"; + case 63: return "quest"; + case 40: return "lparen"; + case 41: return "rparen"; + case 91: return "lbracket"; + case 93: return "rbracket"; + case 123: return "lbrace"; + case 125: return "rbrace"; + } + if (charId >= 48 && charId <= 57) return (charId - 48).ToString(); + if (charId >= 65 && charId <= 90) return ((char)charId).ToString(); + if (charId >= 97 && charId <= 122) return ((char)charId).ToString(); + return $"u{charId}"; + } + + #endregion + + #region Meta 写入 + + /// 主入口:把字符列表写入 PNG.meta + private void WriteSpritesToMeta() + { + if (targetTexture == null || charList.Count == 0) + { + EditorUtility.DisplayDialog("提示", "请先加载 .fnt 文件并选择目标 PNG", "确定"); + return; + } + + string pngPath = AssetDatabase.GetAssetPath(targetTexture); + string metaPath = pngPath + ".meta"; + if (!File.Exists(metaPath)) + { + EditorUtility.DisplayDialog("错误", $"找不到 meta 文件:\n{metaPath}", "确定"); + return; + } + + // 使用 PNG 实际尺寸做 Y 翻转(如果与 fnt 声明不同,按实际尺寸为准) + int texW = targetTexture.width; + int texH = targetTexture.height; + if (texW != fntTextureW || texH != fntTextureH) + { + Debug.LogWarning($"[FntSpriteSplitter] PNG 实际尺寸 {texW}x{texH} 与 fnt 声明 {fntTextureW}x{fntTextureH} 不一致,按实际尺寸翻转 y"); + foreach (var ch in charList) + { + int flipY = texH - ch.y - ch.height; + ch.unityRect = new Rect(ch.x, flipY, ch.width, ch.height); + } + } + + string prefix = string.IsNullOrEmpty(namePrefix) + ? Path.GetFileNameWithoutExtension(pngPath) + : namePrefix; + + StringBuilder sb = new StringBuilder(); + StringBuilder spritesYaml = new StringBuilder(); + List nameFileIdEntries = new List(); + + for (int i = 0; i < charList.Count; i++) + { + var ch = charList[i]; + string spriteName = nameByIndex + ? $"{prefix}_{i}" + : $"{prefix}_{CharToName(ch.id)}"; + + spritesYaml.AppendLine(" - serializedVersion: 2"); + spritesYaml.AppendLine($" name: {spriteName}"); + spritesYaml.AppendLine(" rect:"); + spritesYaml.AppendLine(" serializedVersion: 2"); + spritesYaml.AppendLine($" x: {(int)ch.unityRect.x}"); + spritesYaml.AppendLine($" y: {(int)ch.unityRect.y}"); + spritesYaml.AppendLine($" width: {(int)ch.unityRect.width}"); + spritesYaml.AppendLine($" height: {(int)ch.unityRect.height}"); + spritesYaml.AppendLine(" alignment: 0"); + spritesYaml.AppendLine(" pivot: {x: 0.5, y: 0.5}"); + spritesYaml.AppendLine(" border: {x: 0, y: 0, z: 0, w: 0}"); + spritesYaml.AppendLine(" outline: []"); + spritesYaml.AppendLine(" physicsShape: []"); + spritesYaml.AppendLine(" tessellationDetail: -1"); + spritesYaml.AppendLine(" bones: []"); + spritesYaml.AppendLine($" spriteID: {GenerateSpriteID(spriteName)}"); + spritesYaml.AppendLine(" internalID: 0"); + spritesYaml.AppendLine(" vertices: []"); + spritesYaml.AppendLine(" indices: "); + spritesYaml.AppendLine(" edges: []"); + spritesYaml.AppendLine(" weights: []"); + + nameFileIdEntries.Add($" {spriteName}: 0"); + + sb.AppendLine($" [+] {spriteName} rect=({(int)ch.unityRect.x},{(int)ch.unityRect.y},{(int)ch.unityRect.width}x{(int)ch.unityRect.height})"); + } + + string spritesContent = " sprites:\n" + spritesYaml.ToString().TrimEnd('\n', '\r') + "\n"; + string tableContent = " nameFileIdTable:\n" + + string.Join("\n", nameFileIdEntries) + "\n"; + + // 读取 meta + string metaText = File.ReadAllText(metaPath, Encoding.UTF8); + string result = metaText; + + // 替换 sprites 块 + if (clearBeforeWrite || metaText.Contains("sprites: []")) + { + if (metaText.Contains(" sprites: []")) + { + result = ReplaceFirst(result, " sprites: []", spritesContent); + } + else + { + int idx = result.IndexOf(" sprites:"); + if (idx >= 0) + { + int endIdx = FindBlockEnd(result, idx); + result = result.Substring(0, idx) + spritesContent + result.Substring(endIdx); + } + else + { + // 没有 sprites 字段,找 spriteSheet: 后插入 + int sheetIdx = result.IndexOf(" spriteSheet:"); + if (sheetIdx >= 0) + { + int lineEnd = result.IndexOf('\n', sheetIdx); + result = result.Substring(0, lineEnd + 1) + spritesContent + result.Substring(lineEnd + 1); + } + } + } + } + else + { + // 追加模式:在现有 sprites 块末尾插入新条目 + int idx = result.IndexOf(" sprites:"); + if (idx >= 0) + { + int blockEnd = FindBlockEnd(result, idx); + // blockEnd 指向下一个同级字段的起始位置 + // 在 blockEnd 前插入新内容(去掉 " sprites:\n" 前缀) + string newEntries = spritesYaml.ToString(); + result = result.Substring(0, blockEnd) + newEntries + result.Substring(blockEnd); + } + else + { + result = ReplaceFirst(result, " sprites: []", spritesContent); + } + } + + // 替换 nameFileIdTable 块 + int tblIdx = result.IndexOf(" nameFileIdTable:"); + if (tblIdx >= 0) + { + if (clearBeforeWrite || result.Contains(" nameFileIdTable: {}")) + { + int tblEndIdx = FindBlockEnd(result, tblIdx); + result = result.Substring(0, tblIdx) + tableContent + result.Substring(tblEndIdx); + } + else + { + // 追加:在 nameFileIdTable 块末尾插入新条目 + int tblEndIdx = FindBlockEnd(result, tblIdx); + string extra = string.Join("\n", nameFileIdEntries) + "\n"; + result = result.Substring(0, tblEndIdx) + extra + result.Substring(tblEndIdx); + } + } + + File.WriteAllText(metaPath, result, new UTF8Encoding(false)); + AssetDatabase.ImportAsset(pngPath, ImportAssetOptions.ForceUpdate); + + sb.AppendLine($"\n[完成] 已写入 {charList.Count} 个 Sprite 到:"); + sb.AppendLine($" {metaPath}"); + sb.AppendLine("\n→ Unity 已自动 Reimport,请在 Inspector / Sprite Editor 中确认。"); + + logText = sb.ToString(); + showLog = true; + Debug.Log("[FntSpriteSplitter]\n" + logText); + } + + /// 清空 PNG.meta 中所有 sprites + private void ClearSpritesInMeta() + { + if (targetTexture == null) return; + + string pngPath = AssetDatabase.GetAssetPath(targetTexture); + string metaPath = pngPath + ".meta"; + if (!File.Exists(metaPath)) return; + + string metaText = File.ReadAllText(metaPath, Encoding.UTF8); + + // sprites: ... + string result = metaText; + int idx = result.IndexOf(" sprites:"); + if (idx >= 0) + { + int endIdx = FindBlockEnd(result, idx); + result = result.Substring(0, idx) + " sprites: []\n" + result.Substring(endIdx); + } + + // nameFileIdTable: ... + int tblIdx = result.IndexOf(" nameFileIdTable:"); + if (tblIdx >= 0) + { + int tblEndIdx = FindBlockEnd(result, tblIdx); + result = result.Substring(0, tblIdx) + " nameFileIdTable: {}\n" + result.Substring(tblEndIdx); + } + + File.WriteAllText(metaPath, result, new UTF8Encoding(false)); + AssetDatabase.ImportAsset(pngPath, ImportAssetOptions.ForceUpdate); + + logText = $"[清空] 已清空 {Path.GetFileName(metaPath)} 中所有 sprites"; + showLog = true; + } + + #endregion + + #region 工具方法 + + /// 重置所有状态 + private void ClearAll() + { + fntAssetPath = ""; + targetTexture = null; + charList.Clear(); + fntTextureW = 0; + fntTextureH = 0; + namePrefix = ""; + logText = ""; + Repaint(); + } + + /// 替换字符串中第一次出现的 oldText + private string ReplaceFirst(string text, string oldText, string newText) + { + int idx = text.IndexOf(oldText); + if (idx < 0) return text; + return text.Substring(0, idx) + newText + text.Substring(idx + oldText.Length); + } + + /// + /// 从 blockStartIndex 开始,找到当前 YAML 块的结束位置。 + /// 块以 " keyName:" 开头,后续行要么以 " - " 继续列表项, + /// 要么以更多缩进(6+ 空格)作为子属性。 + /// 遇到同级缩进(4 空格 + 非 "-" 非空格)的行时结束。 + /// + private int FindBlockEnd(string text, int blockStartIndex) + { + int i = blockStartIndex; + // 跳过 " keyName:" 这一行 + int lineEnd = text.IndexOf('\n', i); + if (lineEnd < 0) return text.Length; + i = lineEnd + 1; + + while (i < text.Length) + { + int nextNewline = text.IndexOf('\n', i); + if (nextNewline < 0) nextNewline = text.Length; + string line = text.Substring(i, nextNewline - i); + + // 空行跳过 + if (line.Trim().Length == 0) + { + i = nextNewline + 1; + continue; + } + + // " - " 开头 → 仍是列表项 + if (line.StartsWith(" - ")) + { + i = nextNewline + 1; + continue; + } + + // " "(6 空格)开头 → 子属性 + if (line.StartsWith(" ")) + { + i = nextNewline + 1; + continue; + } + + // " "(4 空格)开头但不是 "-" → 下一个同级字段,块结束 + if (line.StartsWith(" ") && !line.StartsWith(" - ") && !line.StartsWith(" ")) + { + return i; + } + + // 其他情况(缩进更少),块结束 + return i; + } + + return text.Length; + } + + /// + /// 基于 sprite 名称生成稳定的 32 位 hex spriteID。 + /// 使用 MD5 保证同一名称每次生成结果一致,便于多次写入时保持稳定。 + /// + private string GenerateSpriteID(string name) + { + using (var md5 = System.Security.Cryptography.MD5.Create()) + { + byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes("fnt-sprite-" + name)); + var sb = new StringBuilder(); + foreach (byte b in bytes) sb.Append(b.ToString("x2")); + return sb.ToString(); + } + } + + #endregion +} diff --git a/Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs.meta b/Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs.meta similarity index 83% rename from Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs.meta rename to Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs.meta index 00f824bbb..dd7961638 100644 --- a/Assets/Framework/Tool/Sprite/Editor/AtlasAutoSplitter.cs.meta +++ b/Assets/Framework/Tool/Sprite/Editor/FntSpriteSplitter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9e1311fb27279f549b1260dade1cab15 +guid: aa94987a764257c41a7a321857b6f340 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/MyGame/Scripts/Net/APIManager.cs b/Assets/MyGame/Scripts/Net/APIManager.cs index 40d09d5ff..0b7b33583 100644 --- a/Assets/MyGame/Scripts/Net/APIManager.cs +++ b/Assets/MyGame/Scripts/Net/APIManager.cs @@ -254,7 +254,7 @@ namespace Assets.MyGame.Scripts.Net var ut = res.data as UserToken; if (ut != null) token = ut.token; #if UNITY_EDITOR - Debug.Log("微信登录成功 Token" + token); + Debug.Log("登录成功 Token" + token); #endif @@ -310,7 +310,17 @@ namespace Assets.MyGame.Scripts.Net Debug.Log("url----" + url + "--" + "Json-" + json + "res--" + JsonConvert.SerializeObject(res)); #endif + // 自动保存 token + if (typeof(T) == typeof(UserToken)) + { + var ut = res.data as UserToken; + if (ut != null) token = ut.token; +#if UNITY_EDITOR + Debug.Log("微信登录成功 Token" + token); +#endif + + } if (res.code == 0) { action?.Invoke(res.data); diff --git a/Assets/MyGame/Scripts/Net/WebSocketManager.cs b/Assets/MyGame/Scripts/Net/WebSocketManager.cs index 7be894384..ab73ea2f0 100644 --- a/Assets/MyGame/Scripts/Net/WebSocketManager.cs +++ b/Assets/MyGame/Scripts/Net/WebSocketManager.cs @@ -217,25 +217,25 @@ namespace Assets.MyGame.Scripts.Net UIManager.Instance.ShowBoardError($"[WebSocket] {type} 未连接,无法发送消息"); #endif - switch (type) - { - case SocketType.login: - break; - case SocketType.room: - break; - case SocketType.game: + //switch (type) + //{ + // case SocketType.login: + // break; + // case SocketType.room: + // break; + // case SocketType.game: - //等待界面添加 - UIManager.Instance.ShowAsync(UIPanel.HomeMainPanel, GameManager.Instance.gameData.currGameType); - UIManager.Instance.ShowBoardGongGao("网络异常,请重新进入房间"); - break; - case SocketType.chess: - break; - case SocketType.customer: - break; - default: - break; - } + // //等待界面添加 + // UIManager.Instance.ShowAsync(UIPanel.HomeMainPanel, GameManager.Instance.gameData.currGameType); + // //UIManager.Instance.ShowBoardGongGao("网络异常,请重新进入房间"); + // break; + // case SocketType.chess: + // break; + // case SocketType.customer: + // break; + // default: + // break; + //} } } diff --git a/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumEvent.cs b/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumEvent.cs index 0f0a6e5ae..e023a0cb0 100644 --- a/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumEvent.cs +++ b/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumEvent.cs @@ -1,15 +1,30 @@ using DG.Tweening; using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; public class ScoreNumEvent : MonoBehaviour { CoinScript coinScript; - + public TextMeshProUGUI tmp_CoinNum; + public TMP_SpriteAsset tmp_goldSprite; + public TMP_SpriteAsset tmp_SilverSprite; private void Awake() { coinScript =transform.parent. GetComponent(); + + if (coinScript.isLocalCoin) + { + tmp_CoinNum.spriteAsset = tmp_goldSprite; + + } + else + { + tmp_CoinNum.spriteAsset = tmp_SilverSprite; + + + } } public void eventShowCoin() { diff --git a/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumScrollEvent.cs b/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumScrollEvent.cs index f2a88062f..213adaa91 100644 --- a/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumScrollEvent.cs +++ b/Assets/MyGame/aa/Game/DefaultDieEffect/AnimEvent/ScoreNumScrollEvent.cs @@ -1,10 +1,36 @@ using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; public class ScoreNumScrollEvent : MonoBehaviour { - public void dieFen() + public TextMeshProUGUI tmp_CoinNum; + public TMP_SpriteAsset tmp_goldSprite; + public TMP_SpriteAsset tmp_SilverSprite; + + /// + /// 切换分数 TMP 的 spriteAsset 样式。 + /// isGold=true → 金币样式 + /// isGold=false → 银币样式 + /// 需对应 sprite 已在 Inspector 赋值,否则跳过。 + /// + public void SetScoreStyle(bool isGold) + { + if (tmp_CoinNum == null) return; + var spriteAsset = isGold ? tmp_goldSprite : tmp_SilverSprite; + if (spriteAsset != null) + tmp_CoinNum.spriteAsset = spriteAsset; + } + + /// 设置分数文本(便捷封装,避免外部直接访问 tmp_CoinNum) + public void SetScoreText(string text) + { + if (tmp_CoinNum != null) + tmp_CoinNum.text = text; + } + + public void dieFen() { Destroy(gameObject); } diff --git a/Assets/MyGame/aa/Game/DefaultDieEffect/Coin.prefab b/Assets/MyGame/aa/Game/DefaultDieEffect/Coin.prefab index 9cf24b2ee..ef4fa4c28 100644 --- a/Assets/MyGame/aa/Game/DefaultDieEffect/Coin.prefab +++ b/Assets/MyGame/aa/Game/DefaultDieEffect/Coin.prefab @@ -270,10 +270,13 @@ MonoBehaviour: silver: {fileID: 3594360202698095509} endPoint: {x: 0, y: 0, z: 0} isBoss: 0 + isLocalCoin: 0 coinCount: 0 userID: sitID: 0 startPoint: {x: 0, y: 0, z: 0} + goldSprite: {fileID: 11400000, guid: 1a4dc7630d04fd648b6c145e3f6f0323, type: 2} + solverSprite: {fileID: 11400000, guid: aa8990c831ea83645802f2c34dd9db45, type: 2} --- !u!1 &8236831357060171625 GameObject: m_ObjectHideFlags: 0 @@ -628,6 +631,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e68406c654e4a624bbfaf6191094ba67, type: 3} m_Name: m_EditorClassIdentifier: + tmp_CoinNum: {fileID: 5050591925468082569} + tmp_goldSprite: {fileID: 11400000, guid: 1a4dc7630d04fd648b6c145e3f6f0323, type: 2} + tmp_SilverSprite: {fileID: 11400000, guid: aa8990c831ea83645802f2c34dd9db45, type: 2} --- !u!114 &5050591925468082569 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 4564244244925188642, guid: 9ba3090b45c21ec46931e999ea1fe73f, diff --git a/Assets/MyGame/aa/Game/DefaultDieEffect/Coin/CoinScript.cs b/Assets/MyGame/aa/Game/DefaultDieEffect/Coin/CoinScript.cs index 3a1d446c2..e01874407 100644 --- a/Assets/MyGame/aa/Game/DefaultDieEffect/Coin/CoinScript.cs +++ b/Assets/MyGame/aa/Game/DefaultDieEffect/Coin/CoinScript.cs @@ -6,12 +6,33 @@ using UnityEngine; public class CoinScript : BJBase { + public TMP_SpriteAsset goldSprite; + public TMP_SpriteAsset solverSprite; + public override void SetCoinCount() { tMP_CoinCount.text = NumAdd(coinCount.ToString()); // 自己爆奖显示金,别人显示银(由 Ws_DieFish 在创建时设置 isLocalCoin) - if (gold != null) gold.SetActive(isLocalCoin); - if (silver != null) silver.SetActive(!isLocalCoin); + if (isLocalCoin) + { + tMP_CoinCount.spriteAsset = goldSprite; + } + else + { + tMP_CoinCount.spriteAsset = solverSprite; + + } + if (gold != null) + { + gold.SetActive(isLocalCoin); + + } + if (silver != null) + { + silver.SetActive(!isLocalCoin); + + + } } } diff --git a/Assets/MyGame/aa/Game/DefaultDieEffect/ScoreNumScroll.prefab b/Assets/MyGame/aa/Game/DefaultDieEffect/ScoreNumScroll.prefab index 8579b91f3..c94c7e2c4 100644 --- a/Assets/MyGame/aa/Game/DefaultDieEffect/ScoreNumScroll.prefab +++ b/Assets/MyGame/aa/Game/DefaultDieEffect/ScoreNumScroll.prefab @@ -206,3 +206,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f5d48b147517e204ba576052ec645afe, type: 3} m_Name: m_EditorClassIdentifier: + tmp_CoinNum: {fileID: 2469232617152954995} + tmp_goldSprite: {fileID: 11400000, guid: 1a4dc7630d04fd648b6c145e3f6f0323, type: 2} + tmp_SilverSprite: {fileID: 11400000, guid: aa8990c831ea83645802f2c34dd9db45, type: 2} diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/BJEndUI.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/BJEndUI.cs index 00846dd7e..df7907a48 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/BJEndUI.cs +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/BJEndUI.cs @@ -8,6 +8,8 @@ public class BJEndUI : MonoBehaviour { public TextMeshProUGUI tMP_beishu; public TextMeshProUGUI tMP_score; + public TMP_SpriteAsset goldSprite; + public TMP_SpriteAsset SilverSprite; public bool useScoreAnim = false; // 是否启用分数递增动画 @@ -16,8 +18,12 @@ public class BJEndUI : MonoBehaviour Destroy(gameObject, 5); } - public void Init(int beishu, int score) + public void Init(int beishu, int score, bool isMine = false) { + // 自己爆奖用金色精灵,别人用银色 + tMP_beishu.spriteAsset = isMine ? goldSprite : SilverSprite; + tMP_score.spriteAsset = isMine ? goldSprite : SilverSprite; + tMP_beishu.text = ""+ beishu.ToString(); if (useScoreAnim) diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/BJEventBase.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/BJEventBase.cs index 91c530672..6764a4693 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/BJEventBase.cs +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/BJEventBase.cs @@ -71,6 +71,7 @@ public class BJEventBase : MonoBehaviour private SitPosData _targetSit; // 目标座位引用 private Coroutine _scoreCoroutine; // 加分协程 private GameObject _scoreBoard; // 自动创建的分数版(用于移动) + private BJImage _bjImage; // 分数版上的 BJImage 组件(可选,用于切换金币/银币样式) private int _activeCoinRoutines; // 正在运行的 CoinArrival 协程数量 public object obj; @@ -102,6 +103,9 @@ public class BJEventBase : MonoBehaviour // 是否是本地玩家自己打的 isSelf = _targetSit != null && _targetSit.user == GameManager.Instance.user.id; + // 根据 isSelf 切换分数样式(自己=金币,他人=银币) + ApplyScoreStyle(); + action1?.Invoke(); } private void Start() @@ -133,8 +137,33 @@ public class BJEventBase : MonoBehaviour var board = Instantiate(prefab, parent); _scoreBoard = board; - var tmp = board.GetComponentInChildren(); - if (tmp != null) tMP_Score = tmp; + // 优先获取 BJImage 组件(新预制体),用其 tmp_CoinNum 作为分数 TMP + _bjImage = board.GetComponentInChildren(); + if (_bjImage != null && _bjImage.tmp_CoinNum != null) + { + tMP_Score = _bjImage.tmp_CoinNum; + } + else + { + // 回退:直接获取 TextMeshProUGUI + var tmp = board.GetComponentInChildren(); + if (tmp != null) tMP_Score = tmp; + } + } + + /// + /// 根据 isSelf 切换分数 TMP 的 spriteAsset: + /// 自己击杀 → goldSprite(金币样式) + /// 他人击杀 → silverSprite(银币样式) + /// 需要预制体上挂有 BJImage 组件且对应 sprite 已赋值;否则跳过不影响原有显示。 + /// + protected virtual void ApplyScoreStyle() + { + if (_bjImage == null || tMP_Score == null) return; + + var spriteAsset = isSelf ? _bjImage.goldSprite : _bjImage.silverSprite; + if (spriteAsset != null) + tMP_Score.spriteAsset = spriteAsset; } // ==================== 特效相关 ==================== @@ -268,7 +297,20 @@ public class BJEventBase : MonoBehaviour if (addScorePrefab != null) { var inst = Instantiate(addScorePrefab, parent.position + Vector3.up * 60, Quaternion.identity, parent); - inst.transform.GetChild(0).GetComponent().text = CoinScript.NumAdd(r.Amount.ToString()); + // 优先用 ScoreNumScrollEvent 组件,按 isSelf 切换金/银币样式 + var scrollEvent = inst.GetComponent(); + if (scrollEvent != null) + { + scrollEvent.SetScoreStyle(isSelf); + scrollEvent.SetScoreText(CoinScript.NumAdd(r.Amount.ToString())); + } + else + { + // 回退:直接取第一个子物体的 TMP + var tmp = inst.transform.GetChild(0).GetComponent(); + if (tmp != null) + tmp.text = CoinScript.NumAdd(r.Amount.ToString()); + } } //AudioManager.Instance.PlayerFX(62022); @@ -388,7 +430,7 @@ public class BJEventBase : MonoBehaviour } var endUI = Instantiate(bjEndUI, uiPos, Quaternion.identity, CreateFishManager.Instance.bjEffectRoot); - endUI.Init(bJbeishu, maxScore); + endUI.Init(bJbeishu, maxScore, isSelf); } // 删除分数面板 diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs new file mode 100644 index 000000000..b5ae3d26e --- /dev/null +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UnityEngine; + +public class BJImage : MonoBehaviour +{ + public TextMeshProUGUI tmp_CoinNum; + public TMP_SpriteAsset goldSprite; + public TMP_SpriteAsset silverSprite; +} diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs.meta b/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs.meta new file mode 100644 index 000000000..e551a17cb --- /dev/null +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/BJImage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7af97c1c3c67315429108cfd527e33c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/Image.prefab b/Assets/MyGame/aa/Game/FLZY/BOSS/Image.prefab index a73d4d083..1a1124335 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/Image.prefab +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/Image.prefab @@ -281,11 +281,48 @@ PrefabInstance: type: 3} insertIndex: 0 addedObject: {fileID: 3832223424831496137} - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 6975063179180105496, guid: 3098188d5a351294099bcec3fd687086, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4808112615303316917} m_SourcePrefab: {fileID: 100100000, guid: 3098188d5a351294099bcec3fd687086, type: 3} +--- !u!114 &3080829888871638985 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2228169962128689794, guid: 3098188d5a351294099bcec3fd687086, + type: 3} + m_PrefabInstance: {fileID: 3759734589492948299} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!224 &5057580892980106450 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 8222835932527081881, guid: 3098188d5a351294099bcec3fd687086, type: 3} m_PrefabInstance: {fileID: 3759734589492948299} m_PrefabAsset: {fileID: 0} +--- !u!1 &6116211215255876179 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6975063179180105496, guid: 3098188d5a351294099bcec3fd687086, + type: 3} + m_PrefabInstance: {fileID: 3759734589492948299} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4808112615303316917 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116211215255876179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7af97c1c3c67315429108cfd527e33c1, type: 3} + m_Name: + m_EditorClassIdentifier: + tmp_CoinNum: {fileID: 3080829888871638985} + goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2} + silverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2} diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/JBP/Image Variant.prefab b/Assets/MyGame/aa/Game/FLZY/BOSS/JBP/Image Variant.prefab index c4d3acafd..7db4f0e49 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/JBP/Image Variant.prefab +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/JBP/Image Variant.prefab @@ -238,11 +238,36 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 6352458982913648792} m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4645764801385628004, guid: 04421d7f76935c445ac76dbda935f9d2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 7781089853711520346} - targetCorrespondingSourceObject: {fileID: 2879358844775670308, guid: 04421d7f76935c445ac76dbda935f9d2, type: 3} insertIndex: -1 addedObject: {fileID: 4763235343590253523} m_SourcePrefab: {fileID: 100100000, guid: 04421d7f76935c445ac76dbda935f9d2, type: 3} +--- !u!1 &3444441392116629287 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4645764801385628004, guid: 04421d7f76935c445ac76dbda935f9d2, + type: 3} + m_PrefabInstance: {fileID: 8049075247243722307} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7781089853711520346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3444441392116629287} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7af97c1c3c67315429108cfd527e33c1, type: 3} + m_Name: + m_EditorClassIdentifier: + tmp_CoinNum: {fileID: 5903505483906214589} + goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2} + silverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2} --- !u!224 &4403424793818601894 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5956033389255288805, guid: 04421d7f76935c445ac76dbda935f9d2, @@ -267,3 +292,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8b7c9316b41c1b44280e100cb4f11bfe, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &5903505483906214589 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4492755964584596734, guid: 04421d7f76935c445ac76dbda935f9d2, + type: 3} + m_PrefabInstance: {fileID: 8049075247243722307} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5206590904372190311} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/JL/JinLongEvent.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/JL/JinLongEvent.cs index 2ccca0137..8fbadbe89 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/JL/JinLongEvent.cs +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/JL/JinLongEvent.cs @@ -64,6 +64,9 @@ public class JinLongEvent : BJEventBase // paoBei = paobei; // goldAddCount = paobei * 100; //} + public TextMeshProUGUI tmp_CoinNum; + public TMP_SpriteAsset tmp_goldSprite; + public TMP_SpriteAsset tmp_SilverSprite; public override void Init(int goldCount, int posID, int paobei, int fishScore, int beishu, Action action, Action action1 = null) { base.Init(goldCount, posID, paobei, fishScore, beishu, action, action1); @@ -128,4 +131,5 @@ public class JinLongEvent : BJEventBase var v = layeredPool.BossGlodCoinRandrom(tMP_Score.transform.position, min, max); return v; } + } diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/QL/LeiLongEvent.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/QL/LeiLongEvent.cs index 1e71b6e97..233ceca67 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/QL/LeiLongEvent.cs +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/QL/LeiLongEvent.cs @@ -43,7 +43,9 @@ public class LeiLongEvent : BJEventBase state.SetAnimation(0, first, false); state.AddAnimation(0, next, true, 0f); } - + public TextMeshProUGUI tmp_CoinNum; + public TMP_SpriteAsset tmp_goldSprite; + public TMP_SpriteAsset tmp_SilverSprite; public override void Init(int goldCount,int posID,int paobei,int fishScore,int beishu,Action action,Action action1=null) { JiaFen =()=>{ diff --git a/Assets/MyGame/aa/Game/HHWK/GameMoveLne/黑神话悟空路线图.txt b/Assets/MyGame/aa/Game/HHWK/GameMoveLne/黑神话悟空路线图.txt index 824d11e31..f00fd42b7 100644 --- a/Assets/MyGame/aa/Game/HHWK/GameMoveLne/黑神话悟空路线图.txt +++ b/Assets/MyGame/aa/Game/HHWK/GameMoveLne/黑神话悟空路线图.txt @@ -196,8 +196,8 @@ 曲线196;-1238.0082,122.68551;-1104.1694,157.73851;-897.0381,154.55188;-718.58636,148.1786;-568.81445,148.1786;-377.61627,151.36523;-234.21764,151.36523;-65.3259,157.73851;58.952927,151.36523;215.09813,148.1786;336.1903,154.55188;463.65576,154.55188;597.4945,151.36523;756.8263,157.73851;916.1581,154.55188;1078.6766,144.99196;1295.3679,122.68551;1397.3402,116.31223 曲线197;1362.2872,97.19241;1142.4093,106.75233;970.33093,119.49887;833.30554,129.05878;734.51984,132.24542;501.8954,154.55188;313.88385,157.73851;138.61885,144.99196;-90.81899,141.80533;-291.5771,141.80533;-457.2822,132.24542;-616.614,116.31223;-782.31915,113.125595;-957.58417,106.75233;-1107.3561,100.37905;-1288.9944,94.005775 曲线198;1327.2343,-231.03114;1151.9692,-227.84451;951.2112,-199.16478;833.30554,-205.53806;680.34705,-202.35143;511.45532,-186.41824;419.04285,-189.60487;243.77785,-186.41824;49.39302,-189.60487;-151.36508,-180.04497;-342.5633,-192.7915;-517.8283,-195.97815;-769.5726,-202.35143;-874.7316,-202.35143;-1104.1694,-218.2846;-1209.3284,-218.2846;-1327.234,-224.65788 -曲线199;1.5934601,-760.0128;-74.88582,-613.42755;-195.978,-470.0289;-275.64392,-361.68326;-348.93655,-259.71088;-415.85593,-170.48506;-479.58862,-68.51269;-536.9481,27.08641;-575.18774,119.49887;-575.18774,231.03114;-546.508,326.63025;-482.77527,434.9759;-396.73608,514.6418;-301.13702,587.93445;-170.48491,683.53357;-65.3259,779.1326 -曲线200;173.67183,-772.75934;317.0705,-635.734;431.78937,-463.6556;508.26868,-352.12335;556.06824,-250.15097;575.18805,-87.63251;556.06824,65.32605;498.70874,186.41824;431.78937,275.64407;333.00366,361.68326;221.47139,460.469;100.379196,546.5082;-1.5931702,616.6142;-119.498726,709.0266;-237.40428,791.8792 +曲线199;-1259.0399,-18.641823;-1104.1694,-7.1699305;-983.7146,-12.905875;-877.5996,-7.1699305;-748.54083,-7.1699305;-625.218,-4.301958;-501.89517,-4.301958;-338.42072,7.1699333;-232.30574,7.1699333;-54.491425,7.1699333;63.09546,7.1699333;235.1738,1.4339876;395.7803,18.641825;590.8025,7.1699333;777.2207,1.4339876;923.4873,-7.1699305;1064.018,-10.037904;1244.7002,-10.037904;1356.5511,-12.905875 +曲线200;1353.6832,-53.057495;1190.2087,-53.057495;1107.0376,-53.057495;977.97876,-53.057495;860.39185,-53.057495;739.937,-47.32155;599.4064,-41.5856;476.08353,-41.5856;324.08096,-38.71763;220.83395,-47.32155;34.41574,-47.32155;-117.58682,-53.057495;-249.51358,-55.92547;-398.64816,-55.92547;-527.7069,-64.52938;-688.3134,-70.26533;-794.4284,-78.86925;-926.3551,-90.34114;-1086.9617,-101.81303;-1270.5118,-113.28492;-1347.9471,-119.02086 曲线201;-890.6648,718.58655;-826.93207,584.7478;-756.82605,489.1487;-689.9067,352.12335;-632.5472,240.59106;-597.4942,135.43205;-549.69464,14.339865;-492.3352,-81.25923;-431.78912,-148.1786;-323.44345,-208.7247;-211.91118,-240.59106;-109.93881,-266.08414;4.7801056,-278.8307;113.12575,-285.20398;211.91148,-288.3906;333.00366,-275.64407;438.16266,-234.21779;546.5083,-167.29842;661.22723,-52.579502;753.63965,55.76614;820.5591,119.49887;963.95764,221.47124;1062.7434,243.7777;1206.1421,269.27078;1285.808,278.8307;1422.8334,282.01733 曲线202;715.4,826.9322;673.97375,664.4137;632.5475,556.06805;600.6811,473.2155;565.6281,368.05652;536.94836,294.7639;495.5221,192.7915;450.90918,103.56569;396.7364,14.339865;342.56354,-65.32605;304.3239,-113.125595;240.5912,-164.11179;160.92528,-205.53806;74.88609,-227.84451;-4.7798004,-250.15097;-132.24527,-262.89752;-275.64392,-269.27078;-463.65546,-246.96432;-575.18774,-186.41824;-629.3606,-97.19241;-680.34674,20.713137;-728.1463,119.49887;-798.2523,160.92514;-884.2915,202.35143;-1011.75696,246.96432;-1097.7961,269.27078;-1247.5681,297.95053 曲线203;-1355.9137,-11.153228;-1231.6349,-14.339865;-1075.4896,-30.273046;-897.0381,-65.32605;-775.94586,-106.75233;-549.69464,-189.60487;-412.66928,-227.84451;-282.01718,-240.59106;-119.498726,-250.15097;-55.76599,-253.3376;100.379196,-237.40442;195.97829,-224.65788;323.44373,-208.7247;438.16266,-195.97815;584.7479,-160.92514;734.51984,-148.1786;865.172,-148.1786;999.01074,-164.11179;1113.7296,-183.2316;1241.1951,-218.2846;1375.0338,-250.15097;1457.8864,-288.3906 diff --git a/Assets/MyGame/aa/Game/UI_baojiang.prefab b/Assets/MyGame/aa/Game/UI_baojiang.prefab index 9365c274b..6d82315c2 100644 --- a/Assets/MyGame/aa/Game/UI_baojiang.prefab +++ b/Assets/MyGame/aa/Game/UI_baojiang.prefab @@ -323,6 +323,9 @@ MonoBehaviour: m_EditorClassIdentifier: tMP_beishu: {fileID: 4340237964197962142} tMP_score: {fileID: 8500458599698691596} + goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2} + SilverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2} + useScoreAnim: 0 --- !u!114 &4340237964197962142 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 2499807387639965376, guid: 016cca90246ec334390dabcc5bdb6207, diff --git a/Assets/MyGame/aa/UI/DefaultPanel/BossBoardCarstGongGao.prefab b/Assets/MyGame/aa/UI/DefaultPanel/BossBoardCarstGongGao.prefab index 119d0aa1d..71987edf0 100644 --- a/Assets/MyGame/aa/UI/DefaultPanel/BossBoardCarstGongGao.prefab +++ b/Assets/MyGame/aa/UI/DefaultPanel/BossBoardCarstGongGao.prefab @@ -59,7 +59,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -110,7 +110,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 750, y: 0} + m_AnchoredPosition: {x: 429, y: 0} m_SizeDelta: {x: 0, y: 100} m_Pivot: {x: 0, y: 0.5} --- !u!222 &4069715543161013403 @@ -135,7 +135,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -259,10 +259,10 @@ RectTransform: - {fileID: 6980037835605108770} m_Father: {fileID: 5906154763923034694} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 3.3382, y: -35} - m_SizeDelta: {x: 739.2659, y: 68} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 2.611908, y: -1.0000019} + m_SizeDelta: {x: -141.938, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &670689317359163242 CanvasRenderer: @@ -286,7 +286,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.09803922} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -351,8 +351,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: -106} - m_SizeDelta: {x: 965, y: 68} + m_AnchoredPosition: {x: -5.9392, y: -94.737915} + m_SizeDelta: {x: 561.2, y: 45.4758} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4157826458431261933 CanvasRenderer: @@ -376,7 +376,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: diff --git a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs index d75fe742e..249af88b6 100644 --- a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs +++ b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs @@ -177,6 +177,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base private Dictionary botSkills = new Dictionary(); // bot 目标记忆 private Dictionary botTargetGuid = new Dictionary(); + // bot 锁定同步节流:记录上次广播的锁定目标 guid(null 表示未锁定),只有目标变化才广播 + private Dictionary botLastSyncLockGuid = new Dictionary(); // bot 状态计时:开火后持续 Attack 动画,空闲 0.3s 切回 Idle private Dictionary botIdleTimer = new Dictionary(); // bot 最近的 FrameData_FireBullet(给其他客户端还原技能状态) @@ -1153,8 +1155,11 @@ public class GameMainPanel_FishBase : GameMainPanel_Base { CreateBullet(sit, startPos, angle, isDouble, isLock, bullitIDs[0]); } + if (sit.posID==currSitData.posID) + { + AudioManager.Instance.PlayFX(bulletClip); - AudioManager.Instance.PlayFX(bulletClip); + } } private bool isLaser = false; @@ -2241,20 +2246,20 @@ public class GameMainPanel_FishBase : GameMainPanel_Base { if (sit.monCotl_Lock != target) { - sit.isLock = true; - sit.monCotl_Lock = target; - // ⭐ 统一用 ResolveLockTransform:colliderList 第一个活跃 → lockPoint → transform - sit.monCotl_Lock_Position = ResolveLockTransform(target); - if (sit.lockFX != null) sit.lockFX.SetActive(true); + // ⭐ 统一用 SetLockTarget:内部会设置 isLock / monCotl_Lock / monCotl_Lock_Position / lockFX.SetActive + sit.SetLockTarget(target, ResolveLockTransform(target)); + // ⭐ 广播锁定状态给其他客户端(节流:目标 guid 变化才广播) + SyncBotLock(sit, target.guid); } } else { if (sit.isLock) { - sit.isLock = false; - sit.monCotl_Lock = null; - if (sit.lockFX != null) sit.lockFX.SetActive(false); + // ⭐ 统一用 ClearLock:内部会清空 isLock / monCotl_Lock / lockFX.SetActive(false) + sit.ClearLock(); + // ⭐ 广播取消锁定给其他客户端 + SyncBotLock(sit, null); } } @@ -2484,13 +2489,16 @@ public class GameMainPanel_FishBase : GameMainPanel_Base WebSocketSendList.LeaveRoom(roomId, sit.user); } - // 清理锁定 - sit.isLock = false; - sit.monCotl_Lock = null; - if (sit.lockFX != null) sit.lockFX.SetActive(false); + // 清理锁定(统一用 ClearLock,并广播取消锁定给其他客户端) + if (sit.isLock) + { + sit.ClearLock(); + SyncBotLock(sit, null); + } // 清理记忆 botTargetGuid.Remove(sit.posID); + botLastSyncLockGuid.Remove(sit.posID); botFireTimer.Remove(sit.posID); botIdleTimer.Remove(sit.posID); botSkills.Remove(sit.posID); @@ -2837,6 +2845,39 @@ public class GameMainPanel_FishBase : GameMainPanel_Base WebSocketSendList.SyncGameData(sgd); } + /// + /// 机器人锁定状态广播(房主代发,复用 changeAutoTarget 帧类型)。 + /// 用 bot 自己的 sitPos,接收端 SyncGameData_ChangeTargetMonster 会根据 sitPos + /// 调用 SetLockTarget/ClearLock 更新对应 bot 座位,从而激活 lockFX 特效和锁定字段。 + /// 内置节流:只有目标 guid 变化(包括锁定→取消锁定)才真正广播。 + /// + /// bot 座位 + /// 锁定目标 guid,null 表示取消锁定 + private void SyncBotLock(SitPosData botSit, string targetGuid) + { + // ⭐ 节流:目标 guid 未变化不广播(避免每帧都发) + botLastSyncLockGuid.TryGetValue(botSit.posID, out string lastSynced); + if (lastSynced == targetGuid) return; + botLastSyncLockGuid[botSit.posID] = targetGuid; + + List guidList = null; + if (!string.IsNullOrEmpty(targetGuid)) + guidList = new List { targetGuid }; + + SyncGameData sgd = new SyncGameData + { + sitPos = botSit.posID, + frameType = FrameDataType.changeAutoTarget, + time = BeijingTimeManager.Instance.CurrentTimestampMs, + frameData = new FrameData_ChangeAutoTarget + { + targetGuid = guidList, + colliderIndex = -1 + } + }; + WebSocketSendList.SyncGameData(sgd); + } + /// 人机开火同步(房主代发) private void SyncFire_ForBot(SitPosData botSit, float angle, long gold, bool isSanShe, bool isDouble, bool isLock, List monsterIDs) diff --git a/Assets/MyGame/aa/UI/Game/左下.prefab b/Assets/MyGame/aa/UI/Game/左下.prefab index d87135d11..51a732ee5 100644 --- a/Assets/MyGame/aa/UI/Game/左下.prefab +++ b/Assets/MyGame/aa/UI/Game/左下.prefab @@ -34,8 +34,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 111, y: -2.5} - m_SizeDelta: {x: 162, y: 38} + m_AnchoredPosition: {x: 111, y: -1.3994007} + m_SizeDelta: {x: 162, y: 40.2013} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &983759217907769273 CanvasRenderer: @@ -65,7 +65,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 000000000000 + m_text: 123456789 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 7cb7af7685a457443a295fdaa17beeea, type: 2} m_sharedMaterial: {fileID: 2100000, guid: 6a4ac15267282aa4790bdbb1dbbd6a3a, type: 2} @@ -92,7 +92,7 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 18.7 + m_fontSize: 25.05 m_fontSizeBase: 33.8 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -128,7 +128,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: -6.8155975, y: -3.83, z: 16.826782, w: 0} + m_margin: {x: -6.8155975, y: -5.3848553, z: 16.826782, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -1344,7 +1344,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &3177929166328559778 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/MyGame/aa/UI/Home/MainPanel.prefab b/Assets/MyGame/aa/UI/Home/MainPanel.prefab index 7e353dc0e..57736d2b0 100644 --- a/Assets/MyGame/aa/UI/Home/MainPanel.prefab +++ b/Assets/MyGame/aa/UI/Home/MainPanel.prefab @@ -33,6 +33,7 @@ RectTransform: m_Children: - {fileID: 4313738529649717178} - {fileID: 6621572938974973778} + - {fileID: 2569752025301705985} m_Father: {fileID: 8977123748561868288} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} @@ -289,6 +290,7 @@ RectTransform: m_Children: - {fileID: 71085260912848673} - {fileID: 5242446602458029200} + - {fileID: 8522029896582159943} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -783,7 +785,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &5242446602458029200 RectTransform: m_ObjectHideFlags: 0 @@ -917,7 +919,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &3056312152478796948 RectTransform: m_ObjectHideFlags: 0 @@ -1384,6 +1386,81 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!1 &940622032394724540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3259600354279518470} + - component: {fileID: 7595797268333237770} + - component: {fileID: 4826359870978718883} + m_Layer: 0 + m_Name: Image (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3259600354279518470 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 940622032394724540} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5864306273920659334} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7595797268333237770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 940622032394724540} + m_CullTransparentMesh: 1 +--- !u!114 &4826359870978718883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 940622032394724540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 44d9f434cb4b4174a8966f854f2911ce, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &976627814742916862 GameObject: m_ObjectHideFlags: 0 @@ -1482,8 +1559,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -30.4, y: 2.7} - m_SizeDelta: {x: 0, y: -4.5248} + m_AnchoredPosition: {x: -30.4, y: 1.0613} + m_SizeDelta: {x: 0, y: -7.8023} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5670737719532928081 CanvasRenderer: @@ -1582,6 +1659,81 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1026763325495808865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6372095742417952005} + - component: {fileID: 5874975779647423123} + - component: {fileID: 1185997344104711346} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6372095742417952005 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026763325495808865} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7878969533608560483} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 216, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5874975779647423123 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026763325495808865} + m_CullTransparentMesh: 1 +--- !u!114 &1185997344104711346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026763325495808865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e18758ddddc0024abc33b46ec91f3bb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1301466530299464587 GameObject: m_ObjectHideFlags: 0 @@ -1721,7 +1873,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8330960017132421114 RectTransform: m_ObjectHideFlags: 0 @@ -2525,6 +2677,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1872033390588504643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2569752025301705985} + - component: {fileID: 6567421128708748077} + - component: {fileID: 7272243379708430755} + m_Layer: 0 + m_Name: Image (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2569752025301705985 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1872033390588504643} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 116709192338210670} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -34.5} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6567421128708748077 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1872033390588504643} + m_CullTransparentMesh: 1 +--- !u!114 &7272243379708430755 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1872033390588504643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 30979d2d2bd840441817564845f26b5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1872368780844076581 GameObject: m_ObjectHideFlags: 0 @@ -2858,6 +3085,7 @@ MonoBehaviour: btn_UserInfo: {fileID: 7297753037684962080} userName: {fileID: 2960449875268765575} userID: {fileID: 3745571456954754606} + levelNum: {fileID: 5505360206552544897} sprite_Avatar: {fileID: 8285811320362616844} sprite_AvatarFrame: {fileID: 2258572344033151747} img_VIP: {fileID: 460274358873161673} @@ -2918,7 +3146,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8878467317385104736 RectTransform: m_ObjectHideFlags: 0 @@ -3140,6 +3368,7 @@ RectTransform: m_Children: - {fileID: 1480769357188766920} - {fileID: 8878467317385104736} + - {fileID: 6594108526266856967} m_Father: {fileID: 8977123748561868288} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} @@ -3257,11 +3486,12 @@ RectTransform: m_GameObject: {fileID: 2384226982149630702} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: - {fileID: 8637069772634838774} - {fileID: 8576071800163166750} + - {fileID: 6412994707829198067} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -4084,6 +4314,7 @@ RectTransform: m_Children: - {fileID: 5154456731928623965} - {fileID: 3056312152478796948} + - {fileID: 6169935063357442258} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -4583,6 +4814,81 @@ MonoBehaviour: calculateTangents: 0 addNormals: 0 immutableTriangles: 0 +--- !u!1 &3207065891839524533 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6454192060667930382} + - component: {fileID: 7073541860747769406} + - component: {fileID: 1140952561914627820} + m_Layer: 0 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6454192060667930382 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3207065891839524533} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1382706071284920527} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7073541860747769406 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3207065891839524533} + m_CullTransparentMesh: 1 +--- !u!114 &1140952561914627820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3207065891839524533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 16eb953523d09884da0ca9f18e4c5a0c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &3266955922459747183 GameObject: m_ObjectHideFlags: 0 @@ -4655,6 +4961,81 @@ MonoBehaviour: y: 0 width: 1 height: 1 +--- !u!1 &3333274306529846179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8522029896582159943} + - component: {fileID: 3471849043053394194} + - component: {fileID: 595279453399598891} + m_Layer: 0 + m_Name: Image (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8522029896582159943 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3333274306529846179} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6424416562348975512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3471849043053394194 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3333274306529846179} + m_CullTransparentMesh: 1 +--- !u!114 &595279453399598891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3333274306529846179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: bafea19eaf57d1348a78cef4008e74ae, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &3365163718717552857 GameObject: m_ObjectHideFlags: 0 @@ -4777,6 +5158,141 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &3417593168028799838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2969082509754521805} + - component: {fileID: 884474958057540092} + - component: {fileID: 5505360206552544897} + m_Layer: 0 + m_Name: level + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2969082509754521805 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3417593168028799838} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1491649160510942011} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 2.7544003} + m_SizeDelta: {x: -0.000076294, y: 5.5088} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &884474958057540092 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3417593168028799838} + m_CullTransparentMesh: 1 +--- !u!114 &5505360206552544897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3417593168028799838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 000000 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2} + m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278971628 + m_fontColor: {r: 0.92549026, g: 0.92549026, b: 0.043137256, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 94.66436, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &3472105405025129601 GameObject: m_ObjectHideFlags: 0 @@ -5007,7 +5523,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8576071800163166750 RectTransform: m_ObjectHideFlags: 0 @@ -5638,7 +6154,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 55.1, y: 0, z: 0, w: 0} + m_margin: {x: 55.1, y: 1.3597412, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -5808,7 +6324,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &4515810978464221381 RectTransform: m_ObjectHideFlags: 0 @@ -6033,8 +6549,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 20.5 - m_fontSizeBase: 20.5 + m_fontSize: 27 + m_fontSizeBase: 27 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -6481,6 +6997,7 @@ RectTransform: m_Children: - {fileID: 4474032682687916932} - {fileID: 5937231523360318056} + - {fileID: 7320212870870770046} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -6570,6 +7087,81 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &4620162169616950326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5469469785205906195} + - component: {fileID: 4046758081164061935} + - component: {fileID: 5692787387936959367} + m_Layer: 0 + m_Name: Image (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5469469785205906195 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4620162169616950326} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4653724501418068477} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -29.9} + m_SizeDelta: {x: 216, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4046758081164061935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4620162169616950326} + m_CullTransparentMesh: 1 +--- !u!114 &5692787387936959367 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4620162169616950326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ac201a499545dd24493cadbf449c3528, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &4763661163803912119 GameObject: m_ObjectHideFlags: 0 @@ -6741,8 +7333,8 @@ RectTransform: m_GameObject: {fileID: 4851564889760188354} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 + m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 2055537689476822883} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -6909,6 +7501,141 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &5037375244710220120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7916930674198422647} + - component: {fileID: 2720757647529578779} + - component: {fileID: 6133450314756373592} + m_Layer: 0 + m_Name: IDLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7916930674198422647 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5037375244710220120} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1491649160510942011} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 2.7544003} + m_SizeDelta: {x: -0.000076294, y: 5.5088} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2720757647529578779 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5037375244710220120} + m_CullTransparentMesh: 1 +--- !u!114 &6133450314756373592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5037375244710220120} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u7B49\u7EA7:" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2} + m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278971628 + m_fontColor: {r: 0.92549026, g: 0.92549026, b: 0.043137256, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 23 + m_fontSizeBase: 23 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 40.1, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &5061706179239590706 GameObject: m_ObjectHideFlags: 0 @@ -7788,7 +8515,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &5114635449444784476 RectTransform: m_ObjectHideFlags: 0 @@ -8314,7 +9041,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &9215183767875133013 RectTransform: m_ObjectHideFlags: 0 @@ -8464,6 +9191,7 @@ RectTransform: m_Children: - {fileID: 3178913141885236357} - {fileID: 5114635449444784476} + - {fileID: 3259600354279518470} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -8854,7 +9582,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &626290166600402111 RectTransform: m_ObjectHideFlags: 0 @@ -8971,6 +9699,83 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6437348728974679647 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1491649160510942011} + - component: {fileID: 5514934247159643986} + - component: {fileID: 8508087037942836127} + m_Layer: 0 + m_Name: LevelBG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1491649160510942011 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437348728974679647} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7916930674198422647} + - {fileID: 2969082509754521805} + m_Father: {fileID: 4422694767933631088} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 197.6, y: -80.1} + m_SizeDelta: {x: 218, y: 26} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5514934247159643986 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437348728974679647} + m_CullTransparentMesh: 1 +--- !u!114 &8508087037942836127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437348728974679647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.49019608} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0d34cb68133053a488259f821df12baf, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &6569378077568142016 GameObject: m_ObjectHideFlags: 0 @@ -9260,7 +10065,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &5937231523360318056 RectTransform: m_ObjectHideFlags: 0 @@ -9452,6 +10257,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7171471067210539950 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6169935063357442258} + - component: {fileID: 5189999277452394597} + - component: {fileID: 70425387081762833} + m_Layer: 0 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6169935063357442258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7171471067210539950} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1548821791665219514} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5189999277452394597 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7171471067210539950} + m_CullTransparentMesh: 1 +--- !u!114 &70425387081762833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7171471067210539950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 13940935ca77c77479464fb4ac186169, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &7212452344016506208 GameObject: m_ObjectHideFlags: 0 @@ -9485,6 +10365,7 @@ RectTransform: m_Children: - {fileID: 6257541975936747359} - {fileID: 8330960017132421114} + - {fileID: 6372095742417952005} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -9696,6 +10577,7 @@ RectTransform: - {fileID: 3114862824865011152} - {fileID: 7985336141595689321} - {fileID: 4515810978464221381} + - {fileID: 1491649160510942011} - {fileID: 7354496997835405047} - {fileID: 6278780464529285814} - {fileID: 6702284933044117948} @@ -9891,6 +10773,7 @@ RectTransform: m_Children: - {fileID: 6542561060930485909} - {fileID: 9215183767875133013} + - {fileID: 5469469785205906195} m_Father: {fileID: 2564644207036948081} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -10205,6 +11088,81 @@ MonoBehaviour: y: 0 width: 1 height: 1 +--- !u!1 &8326121360901589210 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6412994707829198067} + - component: {fileID: 223424783863564553} + - component: {fileID: 1777325475714415336} + m_Layer: 0 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6412994707829198067 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8326121360901589210} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2055537689476822883} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &223424783863564553 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8326121360901589210} + m_CullTransparentMesh: 1 +--- !u!114 &1777325475714415336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8326121360901589210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8470822e4557787479f2432361a27159, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8343267728215366062 GameObject: m_ObjectHideFlags: 0 @@ -10516,7 +11474,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &6621572938974973778 RectTransform: m_ObjectHideFlags: 0 @@ -11065,6 +12023,7 @@ RectTransform: m_Children: - {fileID: 1009326814772536801} - {fileID: 626290166600402111} + - {fileID: 5112572133885146069} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -11337,6 +12296,7 @@ RectTransform: m_Children: - {fileID: 3604835082534464121} - {fileID: 1197277745094663219} + - {fileID: 6454192060667930382} m_Father: {fileID: 7095845487138386970} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -11498,6 +12458,81 @@ MonoBehaviour: y: 0 width: 1 height: 1 +--- !u!1 &8891523957955880249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7320212870870770046} + - component: {fileID: 4289678534037027202} + - component: {fileID: 8382417038345005383} + m_Layer: 0 + m_Name: Image (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7320212870870770046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8891523957955880249} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2049499958784688721} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 216, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4289678534037027202 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8891523957955880249} + m_CullTransparentMesh: 1 +--- !u!114 &8382417038345005383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8891523957955880249} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 20f0cee148f362a49a88b35195ed0194, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8892382922393021087 GameObject: m_ObjectHideFlags: 0 @@ -11573,6 +12608,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8981583722026963893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5112572133885146069} + - component: {fileID: 8341003532690445299} + - component: {fileID: 7379584079115623900} + m_Layer: 0 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5112572133885146069 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8981583722026963893} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 924147262963786292} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -39.8} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8341003532690445299 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8981583722026963893} + m_CullTransparentMesh: 1 +--- !u!114 &7379584079115623900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8981583722026963893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 518f6d5fdf1ed8945adaa7f4ecb54762, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8989902846226332684 GameObject: m_ObjectHideFlags: 0 @@ -11666,6 +12776,81 @@ MonoBehaviour: calculateTangents: 0 addNormals: 0 immutableTriangles: 0 +--- !u!1 &9174721902775711479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6594108526266856967} + - component: {fileID: 1760957631973357269} + - component: {fileID: 3085075705601056209} + m_Layer: 0 + m_Name: Image (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6594108526266856967 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9174721902775711479} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.36351514, y: 0.36351514, z: 0.36351514} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6274682360574130250} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -33} + m_SizeDelta: {x: 153, y: 77} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1760957631973357269 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9174721902775711479} + m_CullTransparentMesh: 1 +--- !u!114 &3085075705601056209 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9174721902775711479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e2cc0f4d7c733cc41aafb928941aaf33, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &9186810732843926291 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/MyGame/aa/UI/Home/Sub/SelectRoomPanel.prefab b/Assets/MyGame/aa/UI/Home/Sub/SelectRoomPanel.prefab index 01d4b55aa..a4ff27fc4 100644 --- a/Assets/MyGame/aa/UI/Home/Sub/SelectRoomPanel.prefab +++ b/Assets/MyGame/aa/UI/Home/Sub/SelectRoomPanel.prefab @@ -911,8 +911,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.9927163, b: 0.4669811, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -1631,7 +1631,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1294867866617724791 RectTransform: m_ObjectHideFlags: 0 @@ -1910,8 +1910,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.99215686, b: 0.46666667, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -2045,8 +2045,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.9927163, b: 0.4669811, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -2099,7 +2099,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 26.07951, y: 0, z: 18.044434, w: 0} + m_margin: {x: 31.228943, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -5114,7 +5114,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 843.0013, y: -59.5} + m_AnchoredPosition: {x: 843.0013, y: -58.5} m_SizeDelta: {x: 241, y: 57} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8474446218469619674 @@ -6137,8 +6137,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.99215686, b: 0.46666667, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -6191,7 +6191,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 26.07951, y: 0, z: 18.044434, w: 0} + m_margin: {x: 26.187439, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -10466,7 +10466,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &4317662669388983497 RectTransform: m_ObjectHideFlags: 0 @@ -12023,8 +12023,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.99215686, b: 0.46666667, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -12077,7 +12077,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 24.929272, y: 0, z: 15.134033, w: 0} + m_margin: {x: 19.355927, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -12520,7 +12520,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7585790476300433829} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} m_Name: @@ -14856,8 +14856,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4286053887 + m_fontColor: {r: 1, g: 0.9927163, b: 0.4669811, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -14910,7 +14910,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 24.929272, y: 0, z: 15.134033, w: 0} + m_margin: {x: 23.082275, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -15736,6 +15736,16 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 784280979606033562} m_Modifications: + - target: {fileID: 1535840715131559779, guid: 549505ae8fc5b9b46abe07999836645d, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2029126824635538429, guid: 549505ae8fc5b9b46abe07999836645d, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3533890186723288735, guid: 549505ae8fc5b9b46abe07999836645d, type: 3} propertyPath: initialSkinName @@ -16017,11 +16027,21 @@ PrefabInstance: propertyPath: m_LocalScale.y value: 0.2 objectReference: {fileID: 0} + - target: {fileID: 7379602703728537899, guid: 549505ae8fc5b9b46abe07999836645d, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -151 + objectReference: {fileID: 0} - target: {fileID: 7850105720768952652, guid: 549505ae8fc5b9b46abe07999836645d, type: 3} propertyPath: m_Name value: SelectRoomLV2_HHWK_5 objectReference: {fileID: 0} + - target: {fileID: 7850105720768952652, guid: 549505ae8fc5b9b46abe07999836645d, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -16219,12 +16239,27 @@ PrefabInstance: - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} propertyPath: m_LocalScale.x - value: 0.11 + value: 0.11000001 objectReference: {fileID: 0} - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} propertyPath: m_LocalScale.y - value: 0.11 + value: 0.11000001 + objectReference: {fileID: 0} + - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_LocalScale.z + value: 0.10000002 + objectReference: {fileID: 0} + - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -4.6 + objectReference: {fileID: 0} + - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_ConstrainProportionsScale + value: 1 objectReference: {fileID: 0} - target: {fileID: 4162288028278543133, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} @@ -16307,6 +16342,11 @@ PrefabInstance: propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} + - target: {fileID: 8833570575256023344, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_fontSize + value: 58 + objectReference: {fileID: 0} - target: {fileID: 8874662027628222115, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} propertyPath: m_IsActive @@ -16514,12 +16554,22 @@ PrefabInstance: - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} propertyPath: m_LocalScale.x - value: 0.17 + value: 0.15 objectReference: {fileID: 0} - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} propertyPath: m_LocalScale.y - value: 0.17 + value: 0.15 + objectReference: {fileID: 0} + - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_LocalScale.z + value: 0.08823531 + objectReference: {fileID: 0} + - target: {fileID: 3992753865219481776, guid: 998111e312f018648b7c9f2e0c1ed8fa, + type: 3} + propertyPath: m_ConstrainProportionsScale + value: 1 objectReference: {fileID: 0} - target: {fileID: 4162288028278543133, guid: 998111e312f018648b7c9f2e0c1ed8fa, type: 3} diff --git a/Assets/MyGame/aa/UI/Home/Sub/ShopPanel.prefab b/Assets/MyGame/aa/UI/Home/Sub/ShopPanel.prefab index 3d301259a..6b09fa2c5 100644 --- a/Assets/MyGame/aa/UI/Home/Sub/ShopPanel.prefab +++ b/Assets/MyGame/aa/UI/Home/Sub/ShopPanel.prefab @@ -3313,7 +3313,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8735857306252785424 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ShopPanel.cs b/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ShopPanel.cs index 60c3a8eb1..c153ccde5 100644 --- a/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ShopPanel.cs +++ b/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ShopPanel.cs @@ -56,47 +56,47 @@ public class UIHome_BY_ShopPanel : SubUIBase Destroy(tra_PrefabParent.GetChild(i).gameObject); } - // ==================== 金币商城 ==================== - APIRequestList.GetGoldShopList(goldList => - { - foreach (var item in goldList) - { - var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform; + //// ==================== 金币商城 ==================== + //APIRequestList.GetGoldShopList(goldList => + //{ + // foreach (var item in goldList) + // { + // var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform; - if (item.sprite_Icon == null) - { - WebTool.DownImage(APIManager.baseURL + item.icon, (texture) => - { - item.sprite_Icon = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); - obj.GetChild(0).GetComponent().sprite = item.sprite_Icon; - }); - } - else - { - obj.GetChild(0).GetComponent().sprite = item.sprite_Icon; - } - obj.name = item.number; - dic_GoldItems[item.number] = item; - obj.GetChild(2).GetComponent