From d0eed02f473309cc2612482cadaed89131baecd8 Mon Sep 17 00:00:00 2001 From: CuongNV <> Date: Wed, 18 Mar 2026 15:55:24 +0700 Subject: [PATCH] Add code UI and prefab chat system --- Assets/PerfectWorld/ScriptableObjects.meta | 8 + .../ScriptableObjects/ChatSystems.meta | 8 + .../ChatSystems/ChatSystemSO.asset | 27 + .../ChatSystems/ChatSystemSO.asset.meta | 8 + .../Scripts/Chat/ScriptableObjects.meta | 8 + .../Chat/ScriptableObjects/ChatSystemSO.cs | 22 + .../ScriptableObjects/ChatSystemSO.cs.meta | 2 + .../Scripts/Chat/UI/ChatMessageView.cs | 11 +- .../Scripts/Chat/UI/ChatPanelUI.cs | 43 +- Assets/PerfectWorld/Scripts/UI/Chat.meta | 8 + .../PerfectWorld/Scripts/UI/Chat/DlgChat.cs | 74 + .../Scripts/UI/Chat/DlgChat.cs.meta | 2 + .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 179 +- .../ChatSystem/prefab_ChatCanvas.prefab | 1464 ++++++++++++++++- .../ChatSystem/prefab_TextContents.prefab | 178 +- 15 files changed, 1985 insertions(+), 57 deletions(-) create mode 100644 Assets/PerfectWorld/ScriptableObjects.meta create mode 100644 Assets/PerfectWorld/ScriptableObjects/ChatSystems.meta create mode 100644 Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset create mode 100644 Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset.meta create mode 100644 Assets/PerfectWorld/Scripts/Chat/ScriptableObjects.meta create mode 100644 Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs create mode 100644 Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Chat.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs.meta diff --git a/Assets/PerfectWorld/ScriptableObjects.meta b/Assets/PerfectWorld/ScriptableObjects.meta new file mode 100644 index 0000000000..197143fc0a --- /dev/null +++ b/Assets/PerfectWorld/ScriptableObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef0c718e5723bd04fb3428c7ac73293a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/ScriptableObjects/ChatSystems.meta b/Assets/PerfectWorld/ScriptableObjects/ChatSystems.meta new file mode 100644 index 0000000000..92116d8d54 --- /dev/null +++ b/Assets/PerfectWorld/ScriptableObjects/ChatSystems.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc27ce7f5294b7249aabcaedd048af17 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset b/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset new file mode 100644 index 0000000000..14e336e31e --- /dev/null +++ b/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b526dcb3716f21e4e815d1c561a7b86b, type: 3} + m_Name: ChatSystemSO + m_EditorClassIdentifier: + channelIcons: + - channel: 0 + icon: {fileID: 21300000, guid: 67a57872a39a6db44b5d0f897b6f4bc7, type: 3} + - channel: 2 + icon: {fileID: 21300000, guid: 3750ab7485f9c3040b167900bfc0a504, type: 3} + - channel: 14 + icon: {fileID: 21300000, guid: 4c42fa6e60df2184fa1a7d606bdbac8c, type: 3} + - channel: 8 + icon: {fileID: 21300000, guid: dd1b391834096ea45903ba0bb867cfd8, type: 3} + - channel: 13 + icon: {fileID: 21300000, guid: 1a86a071038d5a346ad7580a256dbb08, type: 3} + - channel: 3 + icon: {fileID: 21300000, guid: 3750ab7485f9c3040b167900bfc0a504, type: 3} diff --git a/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset.meta b/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset.meta new file mode 100644 index 0000000000..6114917c6d --- /dev/null +++ b/Assets/PerfectWorld/ScriptableObjects/ChatSystems/ChatSystemSO.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43f54723aa074c74e83e5be28975bee5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects.meta b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects.meta new file mode 100644 index 0000000000..b8f42bfd33 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b164adef5d22054f8b052ae26529214 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs new file mode 100644 index 0000000000..503f5dda8d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using CSNetwork.GPDataType; +using UnityEngine; + +namespace BrewMonster.Scripts.ChatUI +{ + [Serializable] + public struct ChannelIconMapping + { + public ChatChannel channel; + public string iconName; + public Sprite icon; + } + + [CreateAssetMenu(fileName = "ChatSystemSO", menuName = "Scriptable Objects/ChatSystemSO")] + public class ChatSystemSO : ScriptableObject + { + [Header("Channel Icons")] + public List channelIcons = new List(); + } +} diff --git a/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs.meta b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs.meta new file mode 100644 index 0000000000..c1cf6a7269 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Chat/ScriptableObjects/ChatSystemSO.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b526dcb3716f21e4e815d1c561a7b86b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Chat/UI/ChatMessageView.cs b/Assets/PerfectWorld/Scripts/Chat/UI/ChatMessageView.cs index 6397bb2b6d..8b445ddbb5 100644 --- a/Assets/PerfectWorld/Scripts/Chat/UI/ChatMessageView.cs +++ b/Assets/PerfectWorld/Scripts/Chat/UI/ChatMessageView.cs @@ -1,15 +1,24 @@ +using BrewMonster.Scripts.Task.UI; using TMPro; using UnityEngine; +using UnityEngine.UI; namespace BrewMonster.Scripts.ChatUI { public class ChatMessageView : MonoBehaviour { + public Image iconImage; public TextMeshProUGUI messageText; - public void Bind(string message) + public void Bind(Sprite iconSprite, string message) { + if (iconImage != null) + { + iconImage.sprite = iconSprite; + iconImage.gameObject.SetActive(iconSprite != null); + } messageText.text = message; + GetComponent().RefreshLayout(); } } } diff --git a/Assets/PerfectWorld/Scripts/Chat/UI/ChatPanelUI.cs b/Assets/PerfectWorld/Scripts/Chat/UI/ChatPanelUI.cs index b40a8bf148..4d85c8bbaf 100644 --- a/Assets/PerfectWorld/Scripts/Chat/UI/ChatPanelUI.cs +++ b/Assets/PerfectWorld/Scripts/Chat/UI/ChatPanelUI.cs @@ -1,12 +1,20 @@ using System; using System.Collections.Generic; using CSNetwork; +using CSNetwork.GPDataType; using UnityEngine; using UnityEngine.Pool; using UnityEngine.UI; namespace BrewMonster.Scripts.ChatUI { + [Serializable] + public struct ChatMessageData + { + public string message; + public byte channel; + } + public class ChatPanelUI : MonoBehaviour { [Header("UI")] public ScrollRect scrollRect; @@ -18,7 +26,11 @@ namespace BrewMonster.Scripts.ChatUI [Header("Config")] public int maxVisibleMessages = 30; public int maxStoredMessages = 2000; - private List _messages = new(); + [Header("Chat System Data")] + public ChatSystemSO chatSystemSO; + private Dictionary _iconCache; + + private List _messages = new(); private List _visibleViews = new(); private ObjectPool _pool; @@ -27,6 +39,15 @@ namespace BrewMonster.Scripts.ChatUI void Awake() { + _iconCache = new Dictionary(); + if (chatSystemSO != null && chatSystemSO.channelIcons != null) + { + foreach (var mapping in chatSystemSO.channelIcons) + { + _iconCache[(byte)mapping.channel] = mapping.icon; + } + } + EventBus.Subscribe(OnChatMessageReceived); _pool = new ObjectPool( CreateItem, @@ -50,7 +71,7 @@ namespace BrewMonster.Scripts.ChatUI { ChatThreadDispatcher.Instance.Post(() => { - AddMessage(x.context); + AddMessage(x.context, x.channel); }); } @@ -91,9 +112,10 @@ namespace BrewMonster.Scripts.ChatUI return scrollRect.verticalNormalizedPosition <= 0.001f; } - public void AddMessage(string msg) + public void AddMessage(string msg, byte channel) { - _messages.Add(msg); + var data = new ChatMessageData { message = msg, channel = channel }; + _messages.Add(data); if (_messages.Count > maxStoredMessages) _messages.RemoveAt(0); @@ -101,18 +123,20 @@ namespace BrewMonster.Scripts.ChatUI if (!chatPanelUIGO.activeSelf) return; - AddMessageView(msg); + AddMessageView(data); if (_userAtBottom) ScrollToBottom(); } - void AddMessageView(string msg) + void AddMessageView(ChatMessageData data) { var view = _pool.Get(); view.transform.SetParent(content, false); view.transform.SetAsLastSibling(); - view.Bind(msg); + + Sprite icon = _iconCache.ContainsKey(data.channel) ? _iconCache[data.channel] : null; + view.Bind(icon, data.message); _visibleViews.Add(view); @@ -140,7 +164,10 @@ namespace BrewMonster.Scripts.ChatUI var view = _pool.Get(); view.transform.SetParent(content, false); view.transform.SetAsLastSibling(); - view.Bind(_messages[i]); + + var data = _messages[i]; + Sprite icon = _iconCache.ContainsKey(data.channel) ? _iconCache[data.channel] : null; + view.Bind(icon, data.message); _visibleViews.Add(view); } diff --git a/Assets/PerfectWorld/Scripts/UI/Chat.meta b/Assets/PerfectWorld/Scripts/UI/Chat.meta new file mode 100644 index 0000000000..ecc43b4108 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Chat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76085330a08c2444b879074150f2cbd6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs b/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs new file mode 100644 index 0000000000..2a3b7b33a5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs @@ -0,0 +1,74 @@ +using System.Collections.Generic; +using CSNetwork.GPDataType; + +namespace BrewMonster.UI +{ + public static class DlgChat + { + private static readonly Dictionary ChannelColors = new Dictionary + { + { ChatChannel.GP_CHAT_LOCAL, "FFFFFF" }, + { ChatChannel.GP_CHAT_FARCRY, "FFE400" }, + { ChatChannel.GP_CHAT_TEAM, "00FF00" }, + { ChatChannel.GP_CHAT_FACTION, "00FFFC" }, + { ChatChannel.GP_CHAT_WHISPER, "0065FE" }, + { ChatChannel.GP_CHAT_DAMAGE, "C0C0C0" }, + { ChatChannel.GP_CHAT_FIGHT, "FF7E00" }, + { ChatChannel.GP_CHAT_TRADE, "FF742E" }, + { ChatChannel.GP_CHAT_SYSTEM, "BED293" }, + { ChatChannel.GP_CHAT_BROADCAST, "FF3600" }, + { ChatChannel.GP_CHAT_MISC, "9AA6FF" }, + { ChatChannel.GP_CHAT_INSTANCE, "EC0D3C" }, + { ChatChannel.GP_CHAT_SUPERFARCRY, "ff9b3e" }, + { ChatChannel.GP_CHAT_BATTLE, "FFFFFF" }, + { ChatChannel.GP_CHAT_COUNTRY, "FFFFFF" } + }; + + public const string NPC_COLOR = "C8FF64"; + public const string KING_COLOR = "8A2BE2"; + + /// + /// Formats a message with TextMeshPro color tags based on the channel. + /// + public static string FormatMessage(string message, ChatChannel channel) + { + if (string.IsNullOrEmpty(message)) return string.Empty; + if (ChannelColors.TryGetValue(channel, out string hexColor)) + return $"{message}"; + return message; + } + + /// + /// Formats a message with a specific hex color tag. + /// + public static string FormatWithColor(string text, string hexColor) + { + if (string.IsNullOrEmpty(text)) return string.Empty; + return $"{text}"; + } + + /// + /// Returns the hex color string for a given channel. + /// Mirrors CDlgChat::GetChatColor in C++. + /// idPlayer is reserved for future per-player coloring (e.g. friend highlight). + /// + public static string GetChatColor(ChatChannel channel, int idPlayer = -1) + { + if (ChannelColors.TryGetValue(channel, out string hexColor)) + return hexColor; + return "FFFFFF"; + } + + /// + /// Returns a channel icon/image prefix string. + /// Currently returns empty — placeholder for future TMP sprite implementation. + /// Mirrors GetChatChannelImage() in C++. + /// + public static string GetChatChannelImage(ChatChannel channel) + { + // TODO: return TMP sprite tag per channel when assets are ready + // e.g. return $""; + return string.Empty; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs.meta b/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs.meta new file mode 100644 index 0000000000..194752fecb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Chat/DlgChat.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8da4a558e68d9bc4f80cd25584ef5f87 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index 17c6a4e852..8076d22a3f 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -8,16 +8,18 @@ using System.Collections.Generic; using System.Linq; using BrewMonster.Network; using BrewMonster.Scripts; +using CSNetwork; using CSNetwork.GPDataType; using PerfectWorld.UI.MiniMap; using UnityEngine; +using BrewMonster.PerfectWorld.Scripts.UI; namespace BrewMonster.UI { public class CECGameUIMan : AUIManager { public const int LAYOUTDATA_VERSION = 15; - + DlgNPC m_pDlgNPC; CDlgPetList m_pDlgPetList; public NPC_ESSENCE? m_pCurNPCEssence; @@ -141,13 +143,13 @@ namespace BrewMonster.UI public bool UpdateTask(uint idTask, int reason) { Debug.Log($"[EC_GameUIMan] UpdateTask: idTask={idTask}, reason={reason}"); - DlgTaskTrace pDlg = GetDialog("Win_QuestMinion").GetComponent(); + DlgTaskTrace pDlg = GetDialog("Win_QuestMinion").GetComponent(); if (pDlg) { //pDlg->SetBtnUnTraceY(-1, 0); pDlg.UpdateContributionTask(); if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_NEW) - pDlg.OnTaskNew(idTask); - } + pDlg.OnTaskNew(idTask); + } // TODO // ���´���������� @@ -162,7 +164,7 @@ namespace BrewMonster.UI if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_STORAGE) { - // TODO + // TODO // CDlgTaskList* pDlg = (CDlgTaskList*)GetDialog("Win_QuestList"); // if (pDlg && pDlg.IsShow()) // { @@ -197,7 +199,7 @@ namespace BrewMonster.UI /// public void GetUserLayout(byte[] pData, int startIndex, ref uint dwUISize) { - + CECHostPlayer pHost = EC_Game.GetGameRun()?.GetHostPlayer(); if (pHost == null) { @@ -310,7 +312,7 @@ namespace BrewMonster.UI Array.Copy(layoutBytes, 0, pData, startIndex, (int)dwUISize); } - + } /// Copy string into fixed ushort[] (for SAVE_MARK.szName). @@ -336,7 +338,7 @@ namespace BrewMonster.UI m_IconMap = new Dictionary(); m_pDlgTask = GetDialog(CECUIHelper.DlgTaskName).GetComponent(); m_pDlgTask.Show(false); - + m_pDlgMiniMap = GetDialog("Win_Map").GetComponent(); m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] = (SKILL_ICONLIST_NAME, Resources.LoadAll(SKILL_ICONLIST_NAME)); @@ -388,14 +390,171 @@ namespace BrewMonster.UI m_pDlgTask.TraceTask(ulTaskId); } } - + /*CDlgPopMsg m_pDlgPopMsg; void AddHeartBeatHint(string pszMsg) { m_pDlgPopMsg->Add(pszMsg); }*/ + + /// + /// Adds a message to the chat system. + /// Mirrors CECGameUIMan::AddChatMessage in C++ (EC_GameUIMan.cpp). + /// + /// Message text. + /// Chat channel. + /// Sender role ID (-1 = system). + /// Sender name (optional). + /// Message flag byte (CHANNEL_FRIEND, CHANNEL_GAMETALK, etc.). + /// Emotion set ID; high-bit indicates king speaker on GP_CHAT_COUNTRY. + /// Linked item (not fully supported yet). + /// Original unformatted message (for logging/history). + public void AddChatMessage(string pszMsg, ChatChannel cChannel, int idPlayer = -1, string szName = null, + byte byFlag = 0, int cEmotion = 0, object pItem = null, string pszMsgOrigion = null) + { + // C++: + // bool bIsKing = false; + // if( cChannel == GP_CHAT_COUNTRY && (cEmotion & 0x80) ) { cEmotion &= ~0x80; bIsKing = true; } + bool bIsKing = false; + if (cChannel == ChatChannel.GP_CHAT_COUNTRY && (cEmotion & 0x80) != 0) + { + cEmotion &= ~0x80; + bIsKing = true; + } + + // C++: ACString strModified = FilterEmotionSet(pszMsg, cEmotion); + string strModified = pszMsg; + + // C++: 修正给GM的额外信息 (Fix extra info for GM) + // (Skipped in Unity for now) + + // C++: 考虑本地化对某些内容不显示的要求 ... (Hide if empty) + if (string.IsNullOrEmpty(strModified)) + return; + + // C++: 标明来自GT频道的消息 (Mark GT channel message) + // if (byFlag == CHANNEL_GAMETALK) strModified += GetStringFromTable(9312); + + pszMsg = strModified; + + // C++: if( PlayerIsBlack(idPlayer) ) return; + // (Blacklist check skipped) + + // C++: if( cChannel == GP_CHAT_SYSTEM && a_stricmp(pszMsg, GetStringFromTable(809)) == 0 ) return; + // (System message filter skipped) + + // C++: if( byFlag == CHANNEL_FRIEND || byFlag == CHANNEL_FRIEND_RE || byFlag == CHANNEL_GAMETALK) + // AddFriendMessage(...) + + // C++: else if( byFlag == CHANNEL_USERINFO ) ... (Refresh friend info) + + // C++: FilterBadWords for Player messages + // if( cChannel == GP_CHAT_LOCAL || cChannel == GP_CHAT_FARCRY || ... ) + // if (ISPLAYERID(idPlayer)) g_pGame->GetGameRun()->GetUIManager()->FilterBadWords(msg.strMsg); + bool isPlayerChannel = cChannel == ChatChannel.GP_CHAT_LOCAL + || cChannel == ChatChannel.GP_CHAT_FARCRY + || cChannel == ChatChannel.GP_CHAT_TEAM + || cChannel == ChatChannel.GP_CHAT_FACTION + || cChannel == ChatChannel.GP_CHAT_WHISPER + || cChannel == ChatChannel.GP_CHAT_TRADE + || cChannel == ChatChannel.GP_CHAT_SUPERFARCRY + || cChannel == ChatChannel.GP_CHAT_BATTLE + || cChannel == ChatChannel.GP_CHAT_COUNTRY; + + if (isPlayerChannel && idPlayer > 0) // idPlayer > 0 is equivalent to C++ ISPLAYERID(id) + { + // TODO: pszMsg = FilterBadWords(pszMsg); when API is available + } + + // C++: Booth Message check (cChannel == GP_CHAT_WHISPER && pszMsg ends with "!#") + // (Skipped) + + // C++: TransformNameColor(pItem, strName, clrName); + + // C++: msgWithColor += ... Color assignments ... + /*if( ISNPCID(idPlayer) ) msgWithColor += _AL("^C8FF64"); + else if (cChannel == ChatChannel.GP_CHAT_COUNTRY && bIsKing) + { + msgWithColor += CDlgChat::m_pszKingColor; + } + else + { + msgWithColor += CDlgChat::GetChatColor(cChannel, idPlayer); + }*/ + string colorHex; + if (GPDataTypeHelper.ISNPCID(idPlayer)) + { + colorHex = DlgChat.NPC_COLOR; + } + else if (cChannel == ChatChannel.GP_CHAT_COUNTRY && bIsKing) + { + colorHex = DlgChat.KING_COLOR; + } + else + { + colorHex = DlgChat.GetChatColor(cChannel, idPlayer); + } + + // C++: msgWithColor += GetChatChannelImage(cChannel); + string channelImage = DlgChat.GetChatChannelImage(cChannel); + + // C++: if( cChannel == GP_CHAT_COUNTRY && bIsKing ) msgWithColor += GetStringFromTable(10310); + + // Map the final string structure + // In C++, the FixedMsg adds &name& or ^&name^& formats to color player names. + // When building the string, C++ prefixes the color code (colorHex) before the message, + // which usually means the name is colored. But the content might have its own color reset. + // We use a regular expression to find `&...&` and wrap ONLY the name in reality. + string parsedMsg = pszMsg; + if (parsedMsg.Contains("&")) + { + // Convert &Cuong& into Cuong + parsedMsg = System.Text.RegularExpressions.Regex.Replace( + parsedMsg, + @"&([^&]+)&", + $"$1" + ); + } + else + { + // If there's no &, we just colorize the whole string by default (e.g., system messages) + parsedMsg = $"{parsedMsg}"; + } + + // Channel icon prefix + message text + string formattedMsg = $"{channelImage}{parsedMsg}"; + + // C++: Write to m_pDlgChatWhisper, Chat1, Chat2, SuperFarCry + // Unity equivalent: Dispatch to EventBus for ChatPanelUI to handle + Debug.Log($"[Cuong][{cChannel}] {formattedMsg}"); + EventBus.Publish(new GameSession.ChatMessageEvent(formattedMsg, (byte)cChannel)); + + // C++: AddChatMessage also handles head bubble via pPlayer->SetLastSaidWords + // Unity equivalent: Publish EventChatMessageOnTopPlayer + bool showsAboveHead = cChannel == ChatChannel.GP_CHAT_LOCAL + || cChannel == ChatChannel.GP_CHAT_FARCRY + || cChannel == ChatChannel.GP_CHAT_TEAM + || cChannel == ChatChannel.GP_CHAT_SUPERFARCRY + || cChannel == ChatChannel.GP_CHAT_BATTLE + || cChannel == ChatChannel.GP_CHAT_COUNTRY; + + if (showsAboveHead && idPlayer > 0) + { + EventBus.PublishChannel(idPlayer, new EventChatMessageOnTopPlayer(idPlayer, pszMsg)); + } + + // C++: if( cChannel == GP_CHAT_BROADCAST && byFlag == 0 ) SetMarqueeMsg(strConverted); + if (cChannel == ChatChannel.GP_CHAT_BROADCAST && byFlag == 0) + { + // TODO: SetMarqueeMsg(pszMsg); when marquee UI is available + } + + // C++: AutoReply Logic + // else if( gs.bAutoReply && cChannel == GP_CHAT_WHISPER ... ) + // (Skipped) + } } - + public enum EC_GAMEUI_ICONS : byte { ICONS_ACTION = 0, diff --git a/Assets/Prefabs/ChatSystem/prefab_ChatCanvas.prefab b/Assets/Prefabs/ChatSystem/prefab_ChatCanvas.prefab index 679c4af487..b52513929f 100644 --- a/Assets/Prefabs/ChatSystem/prefab_ChatCanvas.prefab +++ b/Assets/Prefabs/ChatSystem/prefab_ChatCanvas.prefab @@ -202,6 +202,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 4614882274541418116} - {fileID: 1473672866371037475} - {fileID: 6133989890986254344} m_Father: {fileID: 1983722419643715407} @@ -249,6 +250,142 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1510969409914382821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6669790162448606643} + - component: {fileID: 6583474930133932958} + - component: {fileID: 6100573052557916293} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6669790162448606643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1510969409914382821} + 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: 2948609743451210368} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.1000061, y: 1.6449986} + m_SizeDelta: {x: -10.600004, y: -13.610002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6583474930133932958 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1510969409914382821} + m_CullTransparentMesh: 1 +--- !u!114 &6100573052557916293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1510969409914382821} + 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: "\u0110\u1ED9i" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 2 + 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_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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: 0, 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 &1550574390115124155 GameObject: m_ObjectHideFlags: 0 @@ -286,7 +423,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: -17} + m_SizeDelta: {x: 10, y: -17} m_Pivot: {x: 1, y: 1} --- !u!222 &1168648172995213940 CanvasRenderer: @@ -427,6 +564,127 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &2510967165085405745 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7216411965973297439} + - component: {fileID: 1113041443110588110} + - component: {fileID: 6253726816937527087} + - component: {fileID: 1765612063442815089} + m_Layer: 5 + m_Name: Button (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7216411965973297439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2510967165085405745} + 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: 411519162905802360} + m_Father: {fileID: 4614882274541418116} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1113041443110588110 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2510967165085405745} + m_CullTransparentMesh: 1 +--- !u!114 &6253726816937527087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2510967165085405745} + 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: 3b5dda180f088234f97e05dd0bf05463, 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!114 &1765612063442815089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2510967165085405745} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6253726816937527087} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &2806664982819397903 GameObject: m_ObjectHideFlags: 0 @@ -463,6 +721,142 @@ RectTransform: m_AnchoredPosition: {x: -396, y: 79} m_SizeDelta: {x: 75, y: 75} m_Pivot: {x: 0.5, y: 0} +--- !u!1 &4030418742857763219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 411519162905802360} + - component: {fileID: 6019541878778130177} + - component: {fileID: 1637116608289519544} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &411519162905802360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030418742857763219} + 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: 7216411965973297439} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.1000061, y: 1.6449986} + m_SizeDelta: {x: -10.600004, y: -13.610002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6019541878778130177 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030418742857763219} + m_CullTransparentMesh: 1 +--- !u!114 &1637116608289519544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030418742857763219} + 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: Bang + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 2 + 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_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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: 0, 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 &4190358850504021446 GameObject: m_ObjectHideFlags: 0 @@ -474,14 +868,13 @@ GameObject: - component: {fileID: 1983722419643715407} - component: {fileID: 5213722908587404148} - component: {fileID: 343348515878574983} - - component: {fileID: 4104602819061927609} m_Layer: 5 m_Name: Chat_PanelUI m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1983722419643715407 RectTransform: m_ObjectHideFlags: 0 @@ -500,7 +893,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} m_AnchoredPosition: {x: -346.5, y: 50} - m_SizeDelta: {x: 550, y: 450} + m_SizeDelta: {x: 706.4468, y: 450} m_Pivot: {x: 0, y: 0} --- !u!222 &5213722908587404148 CanvasRenderer: @@ -540,19 +933,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &4104602819061927609 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4190358850504021446} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 796ecc9265e0908429a10cf7daa62247, type: 3} - m_Name: - m_EditorClassIdentifier: - inputField: {fileID: 2725480406471239880} --- !u!1 &4425286880128952433 GameObject: m_ObjectHideFlags: 0 @@ -731,6 +1111,127 @@ MonoBehaviour: isAlert: 0 m_InputValidator: {fileID: 0} m_ShouldActivateOnSelect: 1 +--- !u!1 &4539418143817795866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7753951721285362294} + - component: {fileID: 7206779619880942498} + - component: {fileID: 2754971600385710897} + - component: {fileID: 1136013967071743710} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7753951721285362294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4539418143817795866} + 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: 541053639661067323} + m_Father: {fileID: 4614882274541418116} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7206779619880942498 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4539418143817795866} + m_CullTransparentMesh: 1 +--- !u!114 &2754971600385710897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4539418143817795866} + 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: 18b5af3cc75b7854ab96283de60f301a, 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!114 &1136013967071743710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4539418143817795866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2754971600385710897} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &4841096655724482313 GameObject: m_ObjectHideFlags: 0 @@ -764,7 +1265,7 @@ RectTransform: m_Father: {fileID: 3976287853544917220} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} @@ -859,7 +1360,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5535948066766320732} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: @@ -963,6 +1464,127 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &5710587427458872649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2948609743451210368} + - component: {fileID: 4327292880533278215} + - component: {fileID: 6042465172831129782} + - component: {fileID: 2528750564701482030} + m_Layer: 5 + m_Name: Button (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2948609743451210368 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5710587427458872649} + 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: 6669790162448606643} + m_Father: {fileID: 4614882274541418116} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4327292880533278215 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5710587427458872649} + m_CullTransparentMesh: 1 +--- !u!114 &6042465172831129782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5710587427458872649} + 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: 3b5dda180f088234f97e05dd0bf05463, 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!114 &2528750564701482030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5710587427458872649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6042465172831129782} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &6040442560716747279 GameObject: m_ObjectHideFlags: 0 @@ -1028,7 +1650,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "5\u200B" + m_text: "\u200B" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -1099,6 +1721,384 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6201515683403503520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8105116320113858395} + - component: {fileID: 7273676191574599772} + - component: {fileID: 4834047561396099795} + - component: {fileID: 4759108866062374809} + m_Layer: 5 + m_Name: Button (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8105116320113858395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6201515683403503520} + 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: 142808950993287106} + m_Father: {fileID: 4614882274541418116} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7273676191574599772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6201515683403503520} + m_CullTransparentMesh: 1 +--- !u!114 &4834047561396099795 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6201515683403503520} + 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: 3b5dda180f088234f97e05dd0bf05463, 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!114 &4759108866062374809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6201515683403503520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 4834047561396099795} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6697276069942400934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541053639661067323} + - component: {fileID: 8991350882526920932} + - component: {fileID: 6725789178480926154} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &541053639661067323 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697276069942400934} + 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: 7753951721285362294} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.1000061, y: 1.6449986} + m_SizeDelta: {x: -10.600004, y: -13.610002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8991350882526920932 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697276069942400934} + m_CullTransparentMesh: 1 +--- !u!114 &6725789178480926154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697276069942400934} + 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: "T\u1EA5t c\u1EA3" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 2 + 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_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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: 0, 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 &6727753658634507372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3316065066105625351} + - component: {fileID: 1072537688397316892} + - component: {fileID: 5988643997684764795} + - component: {fileID: 424341673370869699} + m_Layer: 5 + m_Name: Button (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3316065066105625351 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6727753658634507372} + 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: 5320235002055843637} + m_Father: {fileID: 4614882274541418116} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1072537688397316892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6727753658634507372} + m_CullTransparentMesh: 1 +--- !u!114 &5988643997684764795 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6727753658634507372} + 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: 3b5dda180f088234f97e05dd0bf05463, 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!114 &424341673370869699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6727753658634507372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5988643997684764795} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &6847709244521616304 GameObject: m_ObjectHideFlags: 0 @@ -1232,6 +2232,113 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &7005553376191271869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4614882274541418116} + - component: {fileID: 8797950308246244212} + - component: {fileID: 56328348231951710} + - component: {fileID: 8696968508539182611} + m_Layer: 5 + m_Name: GroupButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4614882274541418116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7005553376191271869} + 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: 7753951721285362294} + - {fileID: 3316065066105625351} + - {fileID: 2948609743451210368} + - {fileID: 7216411965973297439} + - {fileID: 8105116320113858395} + m_Father: {fileID: 7473152984931807423} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 55} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &8797950308246244212 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7005553376191271869} + m_CullTransparentMesh: 1 +--- !u!114 &56328348231951710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7005553376191271869} + m_Enabled: 0 + 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: 0} + 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!114 &8696968508539182611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7005553376191271869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 1 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 0 --- !u!1 &7245224818833188742 GameObject: m_ObjectHideFlags: 0 @@ -1245,6 +2352,7 @@ GameObject: - component: {fileID: 4776314709450025773} - component: {fileID: 7685278791772274093} - component: {fileID: 5696601840968024233} + - component: {fileID: 7521843822837007113} m_Layer: 5 m_Name: prefab_ChatCanvas m_TagString: Untagged @@ -1354,6 +2462,156 @@ MonoBehaviour: messagePrefab: {fileID: 1976417251556044024, guid: dcc75569599675f46a99bc66a87efc9a, type: 3} maxVisibleMessages: 30 maxStoredMessages: 2000 + chatSystemSO: {fileID: 11400000, guid: 43f54723aa074c74e83e5be28975bee5, type: 2} +--- !u!114 &7521843822837007113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245224818833188742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 796ecc9265e0908429a10cf7daa62247, type: 3} + m_Name: + m_EditorClassIdentifier: + inputField: {fileID: 2725480406471239880} +--- !u!1 &7859735492272513466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 142808950993287106} + - component: {fileID: 885043599362825588} + - component: {fileID: 4413148115881872342} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &142808950993287106 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7859735492272513466} + 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: 8105116320113858395} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.1000061, y: 1.6449986} + m_SizeDelta: {x: -10.600004, y: -13.610002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &885043599362825588 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7859735492272513466} + m_CullTransparentMesh: 1 +--- !u!114 &4413148115881872342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7859735492272513466} + 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: "H\u1EC7 th\u1ED1ng" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 2 + 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_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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: 0, 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 &7942261885143240354 GameObject: m_ObjectHideFlags: 0 @@ -1365,6 +2623,7 @@ GameObject: - component: {fileID: 6422370174043654984} - component: {fileID: 5572451279827723964} - component: {fileID: 7570271903590474125} + - component: {fileID: 1824650527810444928} m_Layer: 5 m_Name: Content m_TagString: Untagged @@ -1422,15 +2681,28 @@ MonoBehaviour: m_Right: 0 m_Top: 0 m_Bottom: 0 - m_ChildAlignment: 1 + m_ChildAlignment: 0 m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 1 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &1824650527810444928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7942261885143240354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4cf21a97aa5c9445c9859afa14de01ad, type: 3} + m_Name: + m_EditorClassIdentifier: + _rectTransform: {fileID: 6422370174043654984} --- !u!1 &8032887521625675641 GameObject: m_ObjectHideFlags: 0 @@ -1466,9 +2738,9 @@ RectTransform: m_Father: {fileID: 1473672866371037475} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -17, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!222 &4906838759260176767 CanvasRenderer: @@ -1558,8 +2830,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: 0, y: 15} - m_SizeDelta: {x: 0, y: -30} + m_AnchoredPosition: {x: 0, y: -13.292114} + m_SizeDelta: {x: 0, y: -86.5841} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7307691078876554531 CanvasRenderer: @@ -1629,3 +2901,139 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &8953765351060646046 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5320235002055843637} + - component: {fileID: 458614503530001531} + - component: {fileID: 7540593242141532492} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5320235002055843637 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8953765351060646046} + 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: 3316065066105625351} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.1000061, y: 1.6449986} + m_SizeDelta: {x: -10.600004, y: -13.610002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &458614503530001531 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8953765351060646046} + m_CullTransparentMesh: 1 +--- !u!114 &7540593242141532492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8953765351060646046} + 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: "M\u1EADt" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 2 + 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_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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: 0, 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} diff --git a/Assets/Prefabs/ChatSystem/prefab_TextContents.prefab b/Assets/Prefabs/ChatSystem/prefab_TextContents.prefab index 308e0656a0..51fd061e7e 100644 --- a/Assets/Prefabs/ChatSystem/prefab_TextContents.prefab +++ b/Assets/Prefabs/ChatSystem/prefab_TextContents.prefab @@ -1,5 +1,80 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &4840989851120023906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7561970608330542274} + - component: {fileID: 3553552199954260740} + - component: {fileID: 2098686458651577804} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7561970608330542274 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840989851120023906} + 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: 1869019404724936087} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 94, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3553552199954260740 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840989851120023906} + m_CullTransparentMesh: 1 +--- !u!114 &2098686458651577804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840989851120023906} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 67a57872a39a6db44b5d0f897b6f4bc7, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &6240941777052618231 GameObject: m_ObjectHideFlags: 0 @@ -11,6 +86,7 @@ GameObject: - component: {fileID: 5390685607869309037} - component: {fileID: 7228077960814023056} - component: {fileID: 5305392080666511277} + - component: {fileID: 3572582094725395276} m_Layer: 5 m_Name: Text (TMP) m_TagString: Untagged @@ -32,11 +108,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 1869019404724936087} 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: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 394, y: -5} + m_SizeDelta: {x: 600, y: 0} + m_Pivot: {x: 0.5, y: 1} --- !u!222 &7228077960814023056 CanvasRenderer: m_ObjectHideFlags: 0 @@ -65,7 +141,17 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: New Text + m_text: 'afdsaf sadf + + safsadfsa + + asdf + + sadf + + sad + +' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -92,15 +178,15 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 m_HorizontalAlignment: 1 - m_VerticalAlignment: 8192 + m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -136,6 +222,20 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &3572582094725395276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6240941777052618231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 --- !u!1 &6627717456258223658 GameObject: m_ObjectHideFlags: 0 @@ -148,6 +248,9 @@ GameObject: - component: {fileID: 616079771158270572} - component: {fileID: 3486315639058223012} - component: {fileID: 1976417251556044024} + - component: {fileID: -887576589064363463} + - component: {fileID: 8910872808253115585} + - component: {fileID: 2909592183608440979} m_Layer: 5 m_Name: prefab_TextContents m_TagString: Untagged @@ -167,13 +270,14 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 7561970608330542274} - {fileID: 5390685607869309037} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 800, y: 50} + m_SizeDelta: {x: 700, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &616079771158270572 CanvasRenderer: @@ -225,4 +329,58 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 179d32c667fc2f641bdcb7afb18046b9, type: 3} m_Name: m_EditorClassIdentifier: + iconImage: {fileID: 0} messageText: {fileID: 5305392080666511277} +--- !u!114 &-887576589064363463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6627717456258223658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &8910872808253115585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6627717456258223658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 5 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 0 +--- !u!114 &2909592183608440979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6627717456258223658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4cf21a97aa5c9445c9859afa14de01ad, type: 3} + m_Name: + m_EditorClassIdentifier: + _rectTransform: {fileID: 1869019404724936087}