diff --git a/Assets/Resources/Fgui/Common/Common_fui.bytes b/Assets/Resources/Fgui/Common/Common_fui.bytes index 83524db00..c4d2f8d25 100644 Binary files a/Assets/Resources/Fgui/Common/Common_fui.bytes and b/Assets/Resources/Fgui/Common/Common_fui.bytes differ diff --git a/Assets/Resources/Fgui/Main/Main_fui.bytes b/Assets/Resources/Fgui/Main/Main_fui.bytes index da95ae219..55d579ead 100644 Binary files a/Assets/Resources/Fgui/Main/Main_fui.bytes and b/Assets/Resources/Fgui/Main/Main_fui.bytes differ diff --git a/Assets/Resources/Fgui/Shop/Shop_fui.bytes b/Assets/Resources/Fgui/Shop/Shop_fui.bytes index 04a1c37d5..34096e30c 100644 Binary files a/Assets/Resources/Fgui/Shop/Shop_fui.bytes and b/Assets/Resources/Fgui/Shop/Shop_fui.bytes differ diff --git a/Assets/Scripts/Fishing2/Role/Role.cs b/Assets/Scripts/Fishing2/Role/Role.cs index 8d1ccce56..88d0ff832 100644 --- a/Assets/Scripts/Fishing2/Role/Role.cs +++ b/Assets/Scripts/Fishing2/Role/Role.cs @@ -19,6 +19,15 @@ namespace NBF.Fishing2 } } + public class RoleAwakeSystem : AwakeSystem + { + protected override void Awake(Role self) + { + // self.AddComponent(); + // self.AddComponent(); + } + } + public async FTask GetRoleInfo() { var response = (Game2C_GetRoleInfoResponse)await Net.Call(new C2Game_GetRoleInfoRequest()); diff --git a/Assets/Scripts/Fishing2/Role/RoleBag.cs b/Assets/Scripts/Fishing2/Role/RoleBag.cs new file mode 100644 index 000000000..c5e3f3d5d --- /dev/null +++ b/Assets/Scripts/Fishing2/Role/RoleBag.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; +using NBC; +using NBC.Entitas; + +namespace NBF.Fishing2 +{ + public class RoleBag : Entity + { + public readonly List Items = new List(); + public readonly List Rigs = new List(); + + public async FTask GetBagInfo() + { + Items.Clear(); + Rigs.Clear(); + var response = (Game2C_GetItemsResponse)await Net.Call(new C2Game_GetItemsRequest()); + if (response.ErrorCode == ErrorCode.Success) + { + Items.AddRange(response.Items); + Rigs.AddRange(response.Rigs); + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing2/Role/RoleBag.cs.meta b/Assets/Scripts/Fishing2/Role/RoleBag.cs.meta new file mode 100644 index 000000000..f22de6449 --- /dev/null +++ b/Assets/Scripts/Fishing2/Role/RoleBag.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4affcf4934a845c59879e02b01acc709 +timeCreated: 1760102338 \ No newline at end of file diff --git a/Assets/Scripts/Fishing2/Role/RoleFishBag.cs b/Assets/Scripts/Fishing2/Role/RoleFishBag.cs new file mode 100644 index 000000000..7caa8b360 --- /dev/null +++ b/Assets/Scripts/Fishing2/Role/RoleFishBag.cs @@ -0,0 +1,9 @@ +using NBC.Entitas; + +namespace NBF.Fishing2 +{ + public class RoleFishBag : Entity + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing2/Role/RoleFishBag.cs.meta b/Assets/Scripts/Fishing2/Role/RoleFishBag.cs.meta new file mode 100644 index 000000000..e702a5969 --- /dev/null +++ b/Assets/Scripts/Fishing2/Role/RoleFishBag.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4848b3391419459b883ae2fcb5fc88e6 +timeCreated: 1760102442 \ No newline at end of file diff --git a/Assets/Scripts/Model/Data/TabListData.cs b/Assets/Scripts/Model/Data/TabListData.cs index 816a75bcf..693544d63 100644 --- a/Assets/Scripts/Model/Data/TabListData.cs +++ b/Assets/Scripts/Model/Data/TabListData.cs @@ -4,50 +4,75 @@ using Random = UnityEngine.Random; namespace NBF { + // public class TabItemData + // { + // public string Name; // 菜单显示名 + // public string Key; // 唯一标识 + // public string Icon; // 图标 + // public bool IsAll; // 是否是“全部”选项 + // public List Children = new List(); // 二级菜单 + // } + public class TabItemData { public string Name; public string Key; public string Icon; - } + public bool IsAll; - public class TabListData : TabItemData - { - } - public class TabSubItemData : TabListData - { + // 条目可以是任意对象类型 public List Items = new List(); + + // 子菜单 + public List Children = new List(); } - /// - /// 保护二级子目录的列表 - /// - public class TabListAndSubListData : TabListData - { - public List SubTab = new List(); + // public class TabItemData + // { + // public string Name; + // public string Key; + // public string Icon; + // } + // + // public class TabListData : TabItemData + // { + // } + // + // public class TabSubItemData : TabListData + // { + // public List Items = new List(); + // } - public void AddTestData(int index) - { - Name = $"标题-{index + 1}"; - - string[] testIcon = { "Globe", "Granade", "Gun" }; - var count1 = Random.Range(5, 10); - var count2 = Random.Range(90, 200); - for (int i = 0; i < count1; i++) - { - TabSubItemData subTab = new TabSubItemData(); - subTab.Name = $"类型-{i}"; - subTab.Icon = testIcon[Random.Range(0, testIcon.Length)]; - for (int j = 0; j < count2; j++) - { - var item = new ShopGearData(); - item.title = $"Item {index}-{i}-" + j; - subTab.Items.Add(item); - } - SubTab.Add(subTab); - } - } - } + // /// + // /// 保护二级子目录的列表 + // /// + // public class TabListAndSubListData : TabListData + // { + // public List SubTab = new List(); + // + // public void AddTestData(int index) + // { + // Name = $"标题-{index + 1}"; + // + // string[] testIcon = { "Globe", "Granade", "Gun" }; + // var count1 = Random.Range(5, 10); + // var count2 = Random.Range(90, 200); + // for (int i = 0; i < count1; i++) + // { + // TabSubItemData subTab = new TabSubItemData(); + // subTab.Name = $"类型-{i}"; + // subTab.Icon = testIcon[Random.Range(0, testIcon.Length)]; + // for (int j = 0; j < count2; j++) + // { + // var item = new ShopGearData(); + // item.title = $"Item {index}-{i}-" + j; + // subTab.Items.Add(item); + // } + // + // SubTab.Add(subTab); + // } + // } + // } } \ No newline at end of file diff --git a/Assets/Scripts/Model/Login/LoginHelper.cs b/Assets/Scripts/Model/Login/LoginHelper.cs index f2df5fcae..4113266da 100644 --- a/Assets/Scripts/Model/Login/LoginHelper.cs +++ b/Assets/Scripts/Model/Login/LoginHelper.cs @@ -63,15 +63,15 @@ namespace NBF await role.GetRoleInfo(); Log.Debug( $"获取角色信息成功!roleId={role.Id} Room={role.RoomCode} RoleInfo={JsonConvert.SerializeObject(role.Info)}"); - var mapId = role.Info.MapId; - if (mapId == 0) - { - Log.Warning("账号没有进入过地图,进入新手引导地图"); - mapId = 99; - } + //获取背包数据 + var roleBag = role.GetOrAddComponent(); + + await roleBag.GetBagInfo(); + Game.SelfId = loginResponse.RoleId; - await MapHelper.EnterMap(mapId, role.RoomCode); + + } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/Binders/CommonBinder.cs b/Assets/Scripts/UI/Binders/CommonBinder.cs index 07b121422..4f18b4a8d 100644 --- a/Assets/Scripts/UI/Binders/CommonBinder.cs +++ b/Assets/Scripts/UI/Binders/CommonBinder.cs @@ -21,6 +21,7 @@ namespace NBF UIObjectFactory.SetPackageItemExtension(NoticeItem.URL, typeof(NoticeItem)); UIObjectFactory.SetPackageItemExtension(CommonSubMenu.URL, typeof(CommonSubMenu)); UIObjectFactory.SetPackageItemExtension(BtnInputControl.URL, typeof(BtnInputControl)); + UIObjectFactory.SetPackageItemExtension(ListTitleItem.URL, typeof(ListTitleItem)); } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/Common/ClassifyList.cs b/Assets/Scripts/UI/Common/ClassifyList.cs index 3605a081c..47e8bcbe1 100644 --- a/Assets/Scripts/UI/Common/ClassifyList.cs +++ b/Assets/Scripts/UI/Common/ClassifyList.cs @@ -63,14 +63,17 @@ namespace NBF } } - public void SetListData(List listData, ListSelectionMode selectionMode = ListSelectionMode.Single) + public void SetListData(List listData, + ListSelectionMode selectionMode = ListSelectionMode.Single) { List.selectedIndex = -1; - List.defaultItem = GetListDefaultItemResource(listData); + List.defaultItem = ListTitleItem.URL; + List.itemProvider = GetListItemResource; List.itemRenderer = OnRenderItem; List.onClickItem.Add(OnClickListItem); - List.SetVirtual(); + // List.SetVirtual(); _listData.Clear(); + foreach (var obj in listData) { _listData.Add(obj); @@ -92,19 +95,30 @@ namespace NBF if (obj is ListItemBase item) { item.SetData(_listData[index]); + obj.SetSize(350, 300); + } + else if (obj is ListTitleItem titleItem) + { + titleItem.SetSize(List.width, 32); } } + //根据索引的不同,返回不同的资源URL - string GetListDefaultItemResource(List listData) + string GetListItemResource(int index) { - var itemData = listData.Find(t => t != null); + var itemData = _listData[index]; if (itemData is ShopGearData) { return ShopGearItem.URL; } + if (itemData is string title) + { + return ListTitleItem.URL; + } + return List.defaultItem; } } diff --git a/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs b/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs new file mode 100644 index 000000000..6d43987c2 --- /dev/null +++ b/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs @@ -0,0 +1,25 @@ +/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/ + + +using FairyGUI; +using FairyGUI.Utils; +using NBC; + +namespace NBF +{ + public partial class ListTitleItem + { + public const string URL = "ui://6hgkvlaush9ymc"; + + public Controller show; + + public override void ConstructFromXML(XML xml) + { + base.ConstructFromXML(xml); + + show = GetController("show"); + OnInited(); + UILanguage.TrySetComponentLanguage(this); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs.meta b/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs.meta new file mode 100644 index 000000000..cbcc12e26 --- /dev/null +++ b/Assets/Scripts/UI/Common/Items/ListTitleItem.Designer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f130a01ca6286e1408db0809028cf787 \ No newline at end of file diff --git a/Assets/Scripts/UI/Common/Items/ListTitleItem.cs b/Assets/Scripts/UI/Common/Items/ListTitleItem.cs new file mode 100644 index 000000000..87a2c07f6 --- /dev/null +++ b/Assets/Scripts/UI/Common/Items/ListTitleItem.cs @@ -0,0 +1,15 @@ +// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖 + +using UnityEngine; +using FairyGUI; +using NBC; + +namespace NBF +{ + public partial class ListTitleItem : GLabel + { + private void OnInited() + { + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Common/Items/ListTitleItem.cs.meta b/Assets/Scripts/UI/Common/Items/ListTitleItem.cs.meta new file mode 100644 index 000000000..a79cd7d10 --- /dev/null +++ b/Assets/Scripts/UI/Common/Items/ListTitleItem.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b2881797917479b469f018a06726152d \ No newline at end of file diff --git a/Assets/Scripts/UI/Login/LoginPanel.cs b/Assets/Scripts/UI/Login/LoginPanel.cs index 91982d2fb..65156698a 100644 --- a/Assets/Scripts/UI/Login/LoginPanel.cs +++ b/Assets/Scripts/UI/Login/LoginPanel.cs @@ -76,6 +76,17 @@ namespace NBF private async FTask OnLoginClick() { await LoginHelper.Login(InputAccount.text); + + BagPanel.Show(); + FishingShopPanel.Show(); + + // var mapId = role.Info.MapId; + // if (mapId == 0) + // { + // Log.Warning("账号没有进入过地图,进入新手引导地图"); + // mapId = 99; + // } + // await MapHelper.EnterMap(mapId, role.RoomCode); // await MapHelper.EnterMap(99); Del(); } diff --git a/FGUIProject/assets/Common/Com/ClassifyList.xml b/FGUIProject/assets/Common/Com/ClassifyList.xml index 083cb9b79..5eafd4f1e 100644 --- a/FGUIProject/assets/Common/Com/ClassifyList.xml +++ b/FGUIProject/assets/Common/Com/ClassifyList.xml @@ -32,9 +32,6 @@ - - - \ No newline at end of file diff --git a/FGUIProject/assets/Common/Com/Items/ListTitleItem.xml b/FGUIProject/assets/Common/Com/Items/ListTitleItem.xml new file mode 100644 index 000000000..ce5caaa07 --- /dev/null +++ b/FGUIProject/assets/Common/Com/Items/ListTitleItem.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/FGUIProject/assets/Common/package.xml b/FGUIProject/assets/Common/package.xml index 9bde31a31..c1a2edaaa 100644 --- a/FGUIProject/assets/Common/package.xml +++ b/FGUIProject/assets/Common/package.xml @@ -222,6 +222,7 @@ + \ No newline at end of file diff --git a/FGUIProject/assets/Main/BagPanel.xml b/FGUIProject/assets/Main/BagPanel.xml index aa2cc6d81..f6109d1ce 100644 --- a/FGUIProject/assets/Main/BagPanel.xml +++ b/FGUIProject/assets/Main/BagPanel.xml @@ -4,11 +4,12 @@ - + + \ No newline at end of file diff --git a/FGUIProject/assets/Shop/FishingShopPanel.xml b/FGUIProject/assets/Shop/FishingShopPanel.xml index af351119e..19ed44c0c 100644 --- a/FGUIProject/assets/Shop/FishingShopPanel.xml +++ b/FGUIProject/assets/Shop/FishingShopPanel.xml @@ -8,7 +8,7 @@ - + diff --git a/FGUIProject/settings/whoot/6hgkvlaush9ymc.json b/FGUIProject/settings/whoot/6hgkvlaush9ymc.json new file mode 100644 index 000000000..4cb7a8131 --- /dev/null +++ b/FGUIProject/settings/whoot/6hgkvlaush9ymc.json @@ -0,0 +1 @@ +{"url":"ui://6hgkvlaush9ymc","name":"ListTitleItem","scriptType":"component","isCustomName":false,"customName":"","annotation":"","member":{}} \ No newline at end of file