From abb211e0da97019924254011f332616d2df03001 Mon Sep 17 00:00:00 2001 From: BobSong <605277374@qq.com> Date: Thu, 7 Aug 2025 09:17:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Fgui/Common/Common_fui.bytes | Bin 33638 -> 33663 bytes Assets/Resources/Fgui/Main/Main_fui.bytes | Bin 12145 -> 14301 bytes .../Generate/NetworkProtocol/Account.cs | 2 +- .../Scripts/Generate/NetworkProtocol/Mail.cs | 17 +- .../Generate/NetworkProtocol/OuterMessage.cs | 164 + .../Generate/NetworkProtocol/OuterOpcode.cs | 7 + Assets/Scripts/Startup/Init.cs | 88 +- Assets/Scripts/UI/Binders/MainBinder.cs | 1 + Assets/Scripts/UI/ChatItem.Designer.cs | 29 + Assets/Scripts/UI/ChatItem.Designer.cs.meta | 2 + Assets/Scripts/UI/ChatItem.cs | 15 + Assets/Scripts/UI/ChatItem.cs.meta | 2 + Assets/Scripts/UI/ChatTestPanel.Designer.cs | 46 + .../Scripts/UI/ChatTestPanel.Designer.cs.meta | 2 + Assets/Scripts/UI/ChatTestPanel.cs | 137 + Assets/Scripts/UI/ChatTestPanel.cs.meta | 2 + .../Common/Com/{ => Inputs}/InputDef.xml | 2 +- FGUIProject/assets/Common/package.xml | 4 +- FGUIProject/assets/Main/ChatItem.xml | 15 + FGUIProject/assets/Main/ChatTestPanel.xml | 47 + FGUIProject/assets/Main/package.xml | 2 + .../settings/whoot/hxr7rc7pn5ne1e.json | 1 + .../settings/whoot/hxr7rc7pn5ne1f.json | 1 + RewiredBackup/InputManager.asset.backup | 8392 ----------------- 24 files changed, 492 insertions(+), 8486 deletions(-) create mode 100644 Assets/Scripts/UI/ChatItem.Designer.cs create mode 100644 Assets/Scripts/UI/ChatItem.Designer.cs.meta create mode 100644 Assets/Scripts/UI/ChatItem.cs create mode 100644 Assets/Scripts/UI/ChatItem.cs.meta create mode 100644 Assets/Scripts/UI/ChatTestPanel.Designer.cs create mode 100644 Assets/Scripts/UI/ChatTestPanel.Designer.cs.meta create mode 100644 Assets/Scripts/UI/ChatTestPanel.cs create mode 100644 Assets/Scripts/UI/ChatTestPanel.cs.meta rename FGUIProject/assets/Common/Com/{ => Inputs}/InputDef.xml (83%) create mode 100644 FGUIProject/assets/Main/ChatItem.xml create mode 100644 FGUIProject/assets/Main/ChatTestPanel.xml create mode 100644 FGUIProject/settings/whoot/hxr7rc7pn5ne1e.json create mode 100644 FGUIProject/settings/whoot/hxr7rc7pn5ne1f.json delete mode 100644 RewiredBackup/InputManager.asset.backup diff --git a/Assets/Resources/Fgui/Common/Common_fui.bytes b/Assets/Resources/Fgui/Common/Common_fui.bytes index 91624d2e94a6968b9548d71ca60238f8fb7d9ce7..c3a454bfd0983000bbca3847893011692cc537b3 100644 GIT binary patch delta 5450 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 E1KL|Q$p8QV delta 5442 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 N`kKraz zB@@_SAcuj0jX{l}jN!)Q={jmmKx#jPdJduZb-{w>5Gr0*g^A(T=2l$^j>*mDQ2 /// fish信息 diff --git a/Assets/Scripts/Generate/NetworkProtocol/Mail.cs b/Assets/Scripts/Generate/NetworkProtocol/Mail.cs index 5c4a27de7..13fa5c459 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/Mail.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/Mail.cs @@ -21,10 +21,11 @@ namespace NBC Id = default; Title = default; Content = default; - SendTime = default; - Type = default; + CreateTime = default; + ExpireTime = default; + MailType = default; + MailState = default; Items.Clear(); - IsRead = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif @@ -36,12 +37,14 @@ namespace NBC [ProtoMember(3)] public string Content { get; set; } [ProtoMember(4)] - public long SendTime { get; set; } + public long CreateTime { get; set; } [ProtoMember(5)] - public int Type { get; set; } + public long ExpireTime { get; set; } [ProtoMember(6)] - public List Items = new List(); + public int MailType { get; set; } [ProtoMember(7)] - public bool IsRead { get; set; } + public int MailState { get; set; } + [ProtoMember(8)] + public List Items = new List(); } } diff --git a/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs b/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs index 48070f14b..61c3b78f3 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs @@ -21,6 +21,7 @@ namespace NBC Username = default; Password = default; LoginType = default; + Region = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif @@ -34,6 +35,8 @@ namespace NBC public string Password { get; set; } [ProtoMember(3)] public int LoginType { get; set; } + [ProtoMember(4)] + public int Region { get; set; } } [ProtoContract] public partial class A2C_LoginResponse : AMessage, IResponse, IProto @@ -184,4 +187,165 @@ namespace NBC [ProtoMember(3)] public uint ErrorCode { get; set; } } + /// + /// 请求邮件列表 + /// + [ProtoContract] + public partial class C2Game_GetMailsRequest : AMessage, ICustomRouteRequest, IProto + { + public static C2Game_GetMailsRequest Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + [ProtoIgnore] + public Game2C_GetMailsResponse ResponseType { get; set; } + public uint OpCode() { return OuterOpcode.C2Game_GetMailsRequest; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.GameRoute; + } + /// + /// 获取邮件列表响应 + /// + [ProtoContract] + public partial class Game2C_GetMailsResponse : AMessage, ICustomRouteResponse, IProto + { + public static Game2C_GetMailsResponse Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + ErrorCode = default; + Mail.Clear(); +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Game2C_GetMailsResponse; } + [ProtoMember(1)] + public List Mail = new List(); + [ProtoMember(2)] + public uint ErrorCode { get; set; } + } + /// + /// 新邮件推送 + /// + [ProtoContract] + public partial class Game2C_HaveMail : AMessage, ICustomRouteMessage, IProto + { + public static Game2C_HaveMail Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + Mail = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Game2C_HaveMail; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.GameRoute; + [ProtoMember(1)] + public MailInfo Mail { get; set; } + } + [ProtoContract] + public partial class Game2C_MailState : AMessage, ICustomRouteMessage, IProto + { + public static Game2C_MailState Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + MailState = default; + MailId = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Game2C_MailState; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.GameRoute; + [ProtoMember(1)] + public int MailState { get; set; } + [ProtoMember(2)] + public long MailId { get; set; } + } + /// + /// 发送聊天 + /// + [ProtoContract] + public partial class C2Chat_SendMessageRequest : AMessage, ICustomRouteRequest, IProto + { + public static C2Chat_SendMessageRequest Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + Message = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + [ProtoIgnore] + public Caht2C_SendMessageResponse ResponseType { get; set; } + public uint OpCode() { return OuterOpcode.C2Chat_SendMessageRequest; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.ChatRoute; + [ProtoMember(1)] + public string Message { get; set; } + } + /// + /// 发送聊天响应 + /// + [ProtoContract] + public partial class Caht2C_SendMessageResponse : AMessage, ICustomRouteResponse, IProto + { + public static Caht2C_SendMessageResponse Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + ErrorCode = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Caht2C_SendMessageResponse; } + [ProtoMember(1)] + public uint ErrorCode { get; set; } + } + /// + /// 推送消息 + /// + [ProtoContract] + public partial class Chat2C_Message : AMessage, ICustomRouteMessage, IProto + { + public static Chat2C_Message Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + Message = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Chat2C_Message; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.ChatRoute; + [ProtoMember(1)] + public string Message { get; set; } + } } diff --git a/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs b/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs index 5b83c2e14..c68678599 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs @@ -9,5 +9,12 @@ namespace Fantasy public const uint G2C_RepeatLogin = 134227729; public const uint C2Game_GetRoleInfoRequest = 2281711377; public const uint Game2C_GetRoleInfoResponse = 2415929105; + public const uint C2Game_GetMailsRequest = 2281711378; + public const uint Game2C_GetMailsResponse = 2415929106; + public const uint Game2C_HaveMail = 2147493649; + public const uint Game2C_MailState = 2147493650; + public const uint C2Chat_SendMessageRequest = 2281711379; + public const uint Caht2C_SendMessageResponse = 2415929107; + public const uint Chat2C_Message = 2147493651; } } diff --git a/Assets/Scripts/Startup/Init.cs b/Assets/Scripts/Startup/Init.cs index 389388b5d..4aee2fd88 100644 --- a/Assets/Scripts/Startup/Init.cs +++ b/Assets/Scripts/Startup/Init.cs @@ -137,92 +137,14 @@ namespace NBF // Fishing.Inst.Go(1); // SettingPanel.Show(); // HomePanel.Show(); + ChatTestPanel.Show(); - //测试登录 - OnLoginButtonClick().Coroutine(); + // //测试登录 + // OnLoginButtonClick().Coroutine(); } - - #region 登录测试 - - private Session _session; - - private async FTask OnLoginButtonClick() - { - // NBC.Platform.Unity.Entry.Initialize(GetType().Assembly); - - // 根据用户名来选择目标的鉴权服务器 - // 根据鉴权服务器地址来创建一个新的网络会话 - _session = SessionHelper.CreateSession(App.Main, "127.0.0.1:20001", OnConnectComplete, - OnConnectFail, - OnConnectDisconnect); - - var acc = "test003"; - - // 发送登录的请求给服务器 - var response = (A2C_LoginResponse)await _session.Call(new C2A_LoginRequest() - { - Username = acc, - Password = acc, - LoginType = 1 - }); - - if (response.ErrorCode != 0) - { - Log.Error($"登录发生错误{response.ErrorCode}"); - return; - } - - if (!App.Main.GetComponent().Parse(response.ToKen, out var payload)) - { - return; - } - - // 根据ToKen返回的Address登录到Gate服务器 - _session = SessionHelper.CreateSession(App.Main, payload.Address, OnConnectComplete, OnConnectFail, - OnConnectDisconnect); - // 发送登录请求到Gate服务器 - var loginResponse = (G2C_LoginResponse)await _session.Call(new C2G_LoginRequest() - { - ToKen = response.ToKen - }); - if (loginResponse.ErrorCode != 0) - { - Log.Error($"登录发生错误{loginResponse.ErrorCode}"); - return; - } - - Log.Debug( - $"登录到Gate服务器成功!ErrorCode:{loginResponse.ErrorCode}"); - // Log.Debug( - // $"登录到Gate服务器成功!LoginTime:{loginResponse.GameAccountInfo.LoginTime} CreateTime:{loginResponse.GameAccountInfo.CreateTime}"); - - // var getResponse = (G2C_GetAccountInfoResponse)await _session.Call(new C2G_GetAccountInfoRequest()); - // var gameAcc = getResponse.GameAccountInfo; - // Log.Info($"gameAcc LoginTime:{gameAcc.LoginTime} CreateTime:{gameAcc.CreateTime}"); - // getResponse.GameAccountInfo.LoginTime.ToString() - } - - private void OnConnectComplete() - { - Log.Debug("连接成功"); - // 添加心跳组件给Session。 - // Start(2000)就是2000毫秒。 - _session.AddComponent().Start(5000); - } - - private void OnConnectFail() - { - Log.Debug("连接失败"); - } - - #endregion - - - private void OnConnectDisconnect() - { - Log.Debug("连接断开"); - } + + private void LoadData() { diff --git a/Assets/Scripts/UI/Binders/MainBinder.cs b/Assets/Scripts/UI/Binders/MainBinder.cs index a9fd15333..8fbfb8a52 100644 --- a/Assets/Scripts/UI/Binders/MainBinder.cs +++ b/Assets/Scripts/UI/Binders/MainBinder.cs @@ -18,6 +18,7 @@ namespace NBF UIObjectFactory.SetPackageItemExtension(HomeRankPage.URL, typeof(HomeRankPage)); UIObjectFactory.SetPackageItemExtension(HomeStatisticsPage.URL, typeof(HomeStatisticsPage)); UIObjectFactory.SetPackageItemExtension(HomeButtonGroups.URL, typeof(HomeButtonGroups)); + UIObjectFactory.SetPackageItemExtension(ChatItem.URL, typeof(ChatItem)); } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatItem.Designer.cs b/Assets/Scripts/UI/ChatItem.Designer.cs new file mode 100644 index 000000000..886fed44d --- /dev/null +++ b/Assets/Scripts/UI/ChatItem.Designer.cs @@ -0,0 +1,29 @@ +/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/ + + +using FairyGUI; +using FairyGUI.Utils; +using NBC; + +namespace NBF +{ + public partial class ChatItem + { + public const string URL = "ui://hxr7rc7pn5ne1f"; + + public GTextField TextType; + public GTextField TextUser; + public GTextField TextMessage; + + public override void ConstructFromXML(XML xml) + { + base.ConstructFromXML(xml); + + TextType = (GTextField)GetChild("TextType"); + TextUser = (GTextField)GetChild("TextUser"); + TextMessage = (GTextField)GetChild("TextMessage"); + OnInited(); + UILanguage.TrySetComponentLanguage(this); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatItem.Designer.cs.meta b/Assets/Scripts/UI/ChatItem.Designer.cs.meta new file mode 100644 index 000000000..59dbce795 --- /dev/null +++ b/Assets/Scripts/UI/ChatItem.Designer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8383cf682d2c39f41bc83ea027894ec6 \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatItem.cs b/Assets/Scripts/UI/ChatItem.cs new file mode 100644 index 000000000..8bd926e5d --- /dev/null +++ b/Assets/Scripts/UI/ChatItem.cs @@ -0,0 +1,15 @@ +// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖 + +using UnityEngine; +using FairyGUI; +using NBC; + +namespace NBF +{ + public partial class ChatItem : GComponent + { + private void OnInited() + { + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatItem.cs.meta b/Assets/Scripts/UI/ChatItem.cs.meta new file mode 100644 index 000000000..6c7f63b2f --- /dev/null +++ b/Assets/Scripts/UI/ChatItem.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e369e839256e8464fbdd0922424f36e3 \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatTestPanel.Designer.cs b/Assets/Scripts/UI/ChatTestPanel.Designer.cs new file mode 100644 index 000000000..25df93cac --- /dev/null +++ b/Assets/Scripts/UI/ChatTestPanel.Designer.cs @@ -0,0 +1,46 @@ +/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/ + +using FairyGUI; +using FairyGUI.Utils; +using NBC; +using System.Collections.Generic; + +namespace NBF +{ + /// + public partial class ChatTestPanel + { + public GObject this[string aKey] => ContentPane.GetChild(aKey); + public override string UIPackName => "Main"; + public override string UIResName => "ChatTestPanel"; + + [AutoFind(Name = "back")] + public GImage back; + [AutoFind(Name = "TextLoginInfo")] + public GTextField TextLoginInfo; + [AutoFind(Name = "InputAccount")] + public GLabel InputAccount; + [AutoFind(Name = "BtnLogout")] + public GButton BtnLogout; + [AutoFind(Name = "BtnLogin")] + public GButton BtnLogin; + [AutoFind(Name = "InputMessage")] + public GLabel InputMessage; + [AutoFind(Name = "BtnSendMessage")] + public GButton BtnSendMessage; + [AutoFind(Name = "BtnSendFriend")] + public GButton BtnSendFriend; + [AutoFind(Name = "BtnSendWorld")] + public GButton BtnSendWorld; + [AutoFind(Name = "ChatList")] + public GList ChatList; + public override string[] GetDependPackages(){ return new string[] {"Common"}; } + + public static void Show(object param = null){ App.UI.OpenUI(param); } + + public static void Hide(){ App.UI.HideUI(); } + + public static void Del(){ App.UI.DestroyUI(); } + + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatTestPanel.Designer.cs.meta b/Assets/Scripts/UI/ChatTestPanel.Designer.cs.meta new file mode 100644 index 000000000..9be084761 --- /dev/null +++ b/Assets/Scripts/UI/ChatTestPanel.Designer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c9910a4bd1e1d3b4a8c580bcc2cc34e7 \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatTestPanel.cs b/Assets/Scripts/UI/ChatTestPanel.cs new file mode 100644 index 000000000..b689e4025 --- /dev/null +++ b/Assets/Scripts/UI/ChatTestPanel.cs @@ -0,0 +1,137 @@ +// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖 + +using Assets.Scripts.Entity; +using Assets.Scripts.Hotfix; +using FairyGUI; +using UnityEngine; +using NBC; +using NBC.Network; +using UIPanel = NBC.UIPanel; + +namespace NBF +{ + public partial class ChatTestPanel : UIPanel + { + protected override void OnInit() + { + this.AutoAddClick(OnClick); + } + + protected override void OnShow() + { + SetLoginState(false); + } + + private void OnClick(GComponent btn) + { + if (btn == BtnLogin) + { + if (string.IsNullOrEmpty(InputAccount.text)) + { + Notices.Info("没有输入账号密码"); + return; + } + + OnLoginButtonClick(InputAccount.text).Coroutine(); + } + } + + private void SetLoginState(bool isLogin = false, string account = "") + { + if (isLogin) + { + BtnLogin.visible = false; + BtnLogout.visible = true; + TextLoginInfo.text = account; + } + else + { + BtnLogin.visible = true; + BtnLogout.visible = false; + } + } + + #region 登录测试 + + private Session _session; + + private async FTask OnLoginButtonClick(string account) + { + // NBC.Platform.Unity.Entry.Initialize(GetType().Assembly); + + // 根据用户名来选择目标的鉴权服务器 + // 根据鉴权服务器地址来创建一个新的网络会话 + _session = SessionHelper.CreateSession(App.Main, "127.0.0.1:20001", OnConnectComplete, + OnConnectFail, + OnConnectDisconnect); + + var acc = account; + + // 发送登录的请求给服务器 + var response = (A2C_LoginResponse)await _session.Call(new C2A_LoginRequest() + { + Username = acc, + Password = acc, + LoginType = 1 + }); + + if (response.ErrorCode != 0) + { + Log.Error($"登录发生错误{response.ErrorCode}"); + return; + } + + if (!App.Main.GetComponent().Parse(response.ToKen, out var payload)) + { + return; + } + + // 根据ToKen返回的Address登录到Gate服务器 + _session = SessionHelper.CreateSession(App.Main, payload.Address, OnConnectComplete, OnConnectFail, + OnConnectDisconnect); + // 发送登录请求到Gate服务器 + var loginResponse = (G2C_LoginResponse)await _session.Call(new C2G_LoginRequest() + { + ToKen = response.ToKen + }); + if (loginResponse.ErrorCode != 0) + { + Log.Error($"登录发生错误{loginResponse.ErrorCode}"); + return; + } + + SetLoginState(true, InputAccount.text); + Log.Debug( + $"登录到Gate服务器成功!ErrorCode:{loginResponse.ErrorCode}"); + // Log.Debug( + // $"登录到Gate服务器成功!LoginTime:{loginResponse.GameAccountInfo.LoginTime} CreateTime:{loginResponse.GameAccountInfo.CreateTime}"); + + // var getResponse = (G2C_GetAccountInfoResponse)await _session.Call(new C2G_GetAccountInfoRequest()); + // var gameAcc = getResponse.GameAccountInfo; + // Log.Info($"gameAcc LoginTime:{gameAcc.LoginTime} CreateTime:{gameAcc.CreateTime}"); + // getResponse.GameAccountInfo.LoginTime.ToString() + } + + private void OnConnectComplete() + { + Log.Debug("连接成功"); + // 添加心跳组件给Session。 + // Start(2000)就是2000毫秒。 + _session.AddComponent().Start(5000); + } + + private void OnConnectFail() + { + Log.Debug("连接失败"); + SetLoginState(false); + } + + private void OnConnectDisconnect() + { + Log.Debug("连接断开"); + SetLoginState(false); + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/ChatTestPanel.cs.meta b/Assets/Scripts/UI/ChatTestPanel.cs.meta new file mode 100644 index 000000000..ab93f8cfb --- /dev/null +++ b/Assets/Scripts/UI/ChatTestPanel.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2f05d713b2557a945b45a81473963207 \ No newline at end of file diff --git a/FGUIProject/assets/Common/Com/InputDef.xml b/FGUIProject/assets/Common/Com/Inputs/InputDef.xml similarity index 83% rename from FGUIProject/assets/Common/Com/InputDef.xml rename to FGUIProject/assets/Common/Com/Inputs/InputDef.xml index 02131a9f3..b1632fec3 100644 --- a/FGUIProject/assets/Common/Com/InputDef.xml +++ b/FGUIProject/assets/Common/Com/Inputs/InputDef.xml @@ -4,7 +4,7 @@ - + diff --git a/FGUIProject/assets/Common/package.xml b/FGUIProject/assets/Common/package.xml index 751459ee0..23ecdc774 100644 --- a/FGUIProject/assets/Common/package.xml +++ b/FGUIProject/assets/Common/package.xml @@ -8,8 +8,8 @@ - - + + diff --git a/FGUIProject/assets/Main/ChatItem.xml b/FGUIProject/assets/Main/ChatItem.xml new file mode 100644 index 000000000..4c9fc749d --- /dev/null +++ b/FGUIProject/assets/Main/ChatItem.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FGUIProject/assets/Main/ChatTestPanel.xml b/FGUIProject/assets/Main/ChatTestPanel.xml new file mode 100644 index 000000000..2d3067ff5 --- /dev/null +++ b/FGUIProject/assets/Main/ChatTestPanel.xml @@ -0,0 +1,47 @@ + + + + + + + + + + +